From 7a345c2d837543d0db298891dfea27645a890150 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Tue, 10 Feb 2026 17:56:33 -0500 Subject: [PATCH 001/204] Replace u64 with TaoCurrency: Builds, tests pass, not cleaned up --- Cargo.lock | 4 + chain-extensions/src/mock.rs | 30 +- chain-extensions/src/tests.rs | 44 +- common/Cargo.toml | 6 + common/src/currency.rs | 448 ++++++++++++- common/src/lib.rs | 11 +- contract-tests/bittensor/lib.rs | 2 +- node/src/benchmarking.rs | 6 +- node/src/command.rs | 2 +- node/src/mev_shield/author.rs | 2 +- pallets/admin-utils/src/tests/mock.rs | 38 +- pallets/admin-utils/src/tests/mod.rs | 2 +- pallets/commitments/src/mock.rs | 11 +- pallets/commitments/src/tests.rs | 30 +- pallets/crowdloan/Cargo.toml | 3 +- pallets/crowdloan/src/benchmarking.rs | 7 +- pallets/crowdloan/src/lib.rs | 11 +- .../migrate_add_contributors_count.rs | 1 + pallets/crowdloan/src/mock.rs | 34 +- pallets/crowdloan/src/tests.rs | 620 +++++++++--------- pallets/subtensor/src/benchmarks.rs | 122 ++-- .../subtensor/src/coinbase/block_emission.rs | 4 + .../src/extensions/check_coldkey_swap.rs | 6 +- pallets/subtensor/src/lib.rs | 4 +- pallets/subtensor/src/macros/config.rs | 18 +- pallets/subtensor/src/macros/genesis.rs | 4 +- .../migrations/migrate_init_total_issuance.rs | 4 +- ...migrate_network_lock_reduction_interval.rs | 2 +- .../src/migrations/migrate_reset_max_burn.rs | 2 +- pallets/subtensor/src/staking/helpers.rs | 12 +- pallets/subtensor/src/staking/remove_stake.rs | 4 +- pallets/subtensor/src/subnets/leasing.rs | 9 +- pallets/subtensor/src/subnets/registration.rs | 4 +- pallets/subtensor/src/swap/swap_coldkey.rs | 2 +- pallets/subtensor/src/tests/batch_tx.rs | 22 +- pallets/subtensor/src/tests/children.rs | 106 +-- pallets/subtensor/src/tests/claim_root.rs | 16 +- pallets/subtensor/src/tests/coinbase.rs | 78 +-- pallets/subtensor/src/tests/consensus.rs | 2 +- pallets/subtensor/src/tests/delegate_info.rs | 5 +- pallets/subtensor/src/tests/epoch.rs | 30 +- pallets/subtensor/src/tests/leasing.rs | 29 +- pallets/subtensor/src/tests/mechanism.rs | 22 +- pallets/subtensor/src/tests/migration.rs | 6 +- pallets/subtensor/src/tests/mock.rs | 24 +- pallets/subtensor/src/tests/move_stake.rs | 17 +- pallets/subtensor/src/tests/networks.rs | 57 +- pallets/subtensor/src/tests/recycle_alpha.rs | 42 +- pallets/subtensor/src/tests/registration.rs | 51 +- pallets/subtensor/src/tests/staking.rs | 528 ++++++++------- pallets/subtensor/src/tests/staking2.rs | 34 +- pallets/subtensor/src/tests/subnet.rs | 20 +- pallets/subtensor/src/tests/swap_coldkey.rs | 113 ++-- pallets/subtensor/src/tests/swap_hotkey.rs | 47 +- .../src/tests/swap_hotkey_with_subnet.rs | 78 +-- pallets/subtensor/src/tests/voting_power.rs | 7 +- pallets/subtensor/src/tests/weights.rs | 124 ++-- pallets/subtensor/src/utils/try_state.rs | 8 +- pallets/swap/src/mock.rs | 8 +- pallets/swap/src/pallet/impls.rs | 8 +- pallets/swap/src/pallet/swap_step.rs | 1 + pallets/swap/src/pallet/tests.rs | 49 +- pallets/transaction-fee/src/lib.rs | 72 +- pallets/transaction-fee/src/tests/mock.rs | 50 +- pallets/transaction-fee/src/tests/mod.rs | 86 +-- precompiles/src/crowdloan.rs | 22 +- precompiles/src/leasing.rs | 8 +- runtime/src/lib.rs | 78 ++- runtime/tests/pallet_proxy.rs | 6 +- 69 files changed, 1978 insertions(+), 1385 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 980b8dede8..2b33c0881c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9519,6 +9519,7 @@ dependencies = [ "sp-runtime", "sp-std", "subtensor-macros", + "subtensor-runtime-common", ] [[package]] @@ -18130,11 +18131,14 @@ version = "0.1.0" dependencies = [ "approx", "frame-support", + "num-traits", "parity-scale-codec", "polkadot-runtime-common", "scale-info", "serde", + "sp-arithmetic", "sp-core", + "sp-rpc", "sp-runtime", "substrate-fixed", "subtensor-macros", diff --git a/chain-extensions/src/mock.rs b/chain-extensions/src/mock.rs index 27ac5bc06e..963001f005 100644 --- a/chain-extensions/src/mock.rs +++ b/chain-extensions/src/mock.rs @@ -57,7 +57,7 @@ pub type AccountId = U256; // Balance of an account. #[allow(dead_code)] -pub type Balance = u64; +pub type Balance = TaoCurrency; // An index to a block. #[allow(dead_code)] @@ -75,7 +75,7 @@ pub struct WeightToBalance; impl Convert for WeightToBalance { fn convert(weight: Weight) -> Balance { - weight.ref_time() + TaoCurrency::from(weight.ref_time()) } } @@ -223,7 +223,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -241,9 +241,9 @@ parameter_types! { parameter_types! { pub ContractsSchedule: pallet_contracts::Schedule = Default::default(); - pub const ContractsDepositPerByte: Balance = 1; - pub const ContractsDepositPerItem: Balance = 10; - pub const ContractsDefaultDepositLimit: Balance = 1_000_000_000; + pub const ContractsDepositPerByte: Balance = TaoCurrency::new(1); + pub const ContractsDepositPerItem: Balance = TaoCurrency::new(10); + pub const ContractsDefaultDepositLimit: Balance = TaoCurrency::new(1_000_000_000); pub const ContractsCodeHashLockupDepositPercent: Perbill = Perbill::from_percent(0); pub const ContractsMaxDelegateDependencies: u32 = 32; pub const ContractsMaxCodeLen: u32 = 120_000; @@ -254,12 +254,12 @@ parameter_types! { } parameter_types! { - pub const ProxyDepositBase: Balance = 1; - pub const ProxyDepositFactor: Balance = 1; + pub const ProxyDepositBase: Balance = TaoCurrency::new(1); + pub const ProxyDepositFactor: Balance = TaoCurrency::new(1); pub const MaxProxies: u32 = 32; pub const MaxPending: u32 = 32; - pub const AnnouncementDepositBase: Balance = 1; - pub const AnnouncementDepositFactor: Balance = 1; + pub const AnnouncementDepositBase: Balance = TaoCurrency::new(1); + pub const AnnouncementDepositFactor: Balance = TaoCurrency::new(1); } parameter_types! { @@ -269,8 +269,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = 1; - pub const TransactionByteFee: Balance = 100; + pub const ExistentialDeposit: Balance = TaoCurrency::new(1); + pub const TransactionByteFee: Balance = TaoCurrency::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -331,7 +331,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = 0; // 100% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 7 * 24 * 60 * 60 / 12; // Default as 7 days - pub const InitialKeySwapOnSubnetCost: u64 = 10_000_000; + pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 15; // 15 block, should be bigger than subnet number, then trigger clean up for all subnets pub const MaxContributorsPerLeaseToRemove: u32 = 3; pub const LeaseDividendsDistributionInterval: u32 = 100; @@ -477,8 +477,8 @@ impl pallet_utility::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = 1; - pub const PreimageByteDeposit: Balance = 1; + pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); + pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); } impl pallet_preimage::Config for Test { diff --git a/chain-extensions/src/tests.rs b/chain-extensions/src/tests.rs index bd6f46c8ab..4dee0dec28 100644 --- a/chain-extensions/src/tests.rs +++ b/chain-extensions/src/tests.rs @@ -3,6 +3,7 @@ use super::{SubtensorChainExtension, SubtensorExtensionEnv, mock}; use crate::types::{FunctionId, Output}; use codec::{Decode, Encode}; +use frame_support::pallet_prelude::Zero; use frame_support::{assert_ok, weights::Weight}; use frame_system::RawOrigin; use pallet_contracts::chain_extension::RetVal; @@ -82,15 +83,15 @@ fn remove_stake_full_limit_success_with_limit_price() { let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, - TaoCurrency::from(130_000_000_000), - AlphaCurrency::from(110_000_000_000), + TaoCurrency::from(130_000_000_000_u64), + AlphaCurrency::from(110_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + TaoCurrency::from(stake_amount_raw + 1_000_000_000), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -147,13 +148,13 @@ fn swap_stake_limit_with_tight_price_returns_slippage_error() { mock::setup_reserves( netuid_a, - TaoCurrency::from(150_000_000_000), - AlphaCurrency::from(110_000_000_000), + TaoCurrency::from(150_000_000_000_u64), + AlphaCurrency::from(110_000_000_000_u64), ); mock::setup_reserves( netuid_b, - TaoCurrency::from(120_000_000_000), - AlphaCurrency::from(90_000_000_000), + TaoCurrency::from(120_000_000_000_u64), + AlphaCurrency::from(90_000_000_000_u64), ); mock::register_ok_neuron(netuid_a, hotkey, coldkey, 0); @@ -221,15 +222,15 @@ fn remove_stake_limit_success_respects_price_limit() { let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, - TaoCurrency::from(120_000_000_000), - AlphaCurrency::from(100_000_000_000), + TaoCurrency::from(120_000_000_000_u64), + AlphaCurrency::from(100_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + TaoCurrency::from(stake_amount_raw + 1_000_000_000), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -297,15 +298,15 @@ fn add_stake_limit_success_executes_within_price_guard() { mock::setup_reserves( netuid, - TaoCurrency::from(150_000_000_000), - AlphaCurrency::from(100_000_000_000), + TaoCurrency::from(150_000_000_000_u64), + AlphaCurrency::from(100_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - amount_raw + 1_000_000_000, + (amount_raw + 1_000_000_000).into(), ); let stake_before = @@ -380,7 +381,7 @@ fn swap_stake_success_moves_between_subnets() { pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + (stake_amount_raw + 1_000_000_000).into(), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -457,7 +458,7 @@ fn transfer_stake_success_moves_between_coldkeys() { pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &origin_coldkey, - stake_amount_raw + 1_000_000_000, + (stake_amount_raw + 1_000_000_000).into(), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -541,7 +542,7 @@ fn move_stake_success_moves_alpha_between_hotkeys() { pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + (stake_amount_raw + 1_000_000_000).into(), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -621,7 +622,7 @@ fn unstake_all_alpha_success_moves_stake_to_root() { mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + (stake_amount_raw + 1_000_000_000).into(), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -668,7 +669,7 @@ fn add_proxy_success_creates_proxy_relationship() { pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &delegator, - 1_000_000_000, + 1_000_000_000.into(), ); assert_eq!( @@ -706,7 +707,7 @@ fn remove_proxy_success_removes_proxy_relationship() { pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &delegator, - 1_000_000_000, + 1_000_000_000.into(), ); let mut add_env = MockEnv::new(FunctionId::AddProxyV1, delegator, delegate.encode()); @@ -842,7 +843,8 @@ fn add_stake_success_updates_stake_and_returns_success_code() { mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( - &coldkey, amount_raw, + &coldkey, + amount_raw.into(), ); assert!( @@ -930,7 +932,7 @@ fn unstake_all_success_unstakes_balance() { mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - stake_amount_raw + 1_000_000_000, + (stake_amount_raw + 1_000_000_000).into(), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( diff --git a/common/Cargo.toml b/common/Cargo.toml index 8b9c010238..a984e401df 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -13,10 +13,13 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { workspace = true, features = ["derive"] } frame-support.workspace = true +num-traits = { workspace = true, features = ["libm"] } scale-info.workspace = true serde.workspace = true +sp-arithmetic.workspace = true sp-core.workspace = true sp-runtime.workspace = true +sp-rpc = { workspace = true, optional = true } substrate-fixed.workspace = true subtensor-macros.workspace = true runtime-common.workspace = true @@ -32,10 +35,13 @@ fast-runtime = [] std = [ "codec/std", "frame-support/std", + "num-traits/std", "scale-info/std", "serde/std", + "sp-arithmetic/std", "sp-core/std", "sp-runtime/std", + "sp-rpc", "substrate-fixed/std", "runtime-common/std" ] diff --git a/common/src/currency.rs b/common/src/currency.rs index 48826b1933..88bdb431c2 100644 --- a/common/src/currency.rs +++ b/common/src/currency.rs @@ -1,5 +1,8 @@ use core::fmt::{self, Display, Formatter}; -use core::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Sub, SubAssign}; +use core::ops::{ + Add, AddAssign, BitAnd, BitOr, BitXor, Div, DivAssign, Mul, MulAssign, Not, Rem, RemAssign, + Shl, Shr, Sub, SubAssign, +}; #[cfg(feature = "approx")] use approx::AbsDiffEq; @@ -12,6 +15,19 @@ use serde::{Deserialize, Serialize}; use substrate_fixed::traits::{Fixed, ToFixed}; use subtensor_macros::freeze_struct; +pub use num_traits::{ + CheckedShl, CheckedShr, FromPrimitive, Num, NumCast, NumOps, PrimInt, Saturating, Signed, + ToPrimitive, Unsigned, checked_pow, +}; +use sp_arithmetic::per_things::Rounding; +use sp_arithmetic::rational::MultiplyRational; +use sp_arithmetic::traits::{ + Bounded, CheckedAdd, CheckedDiv, CheckedMul, CheckedNeg, CheckedRem, CheckedSub, One, Zero, +}; + +#[cfg(feature = "std")] +use sp_rpc::number::NumberOrHex; + #[freeze_struct("40205476b6d995b2")] #[repr(transparent)] #[derive( @@ -107,6 +123,24 @@ macro_rules! impl_currency_reqs { } } + impl From for $currency_type { + fn from(value: u32) -> Self { + Self(value as u64) + } + } + + impl From for $currency_type { + fn from(value: i32) -> Self { + Self(value.unsigned_abs().into()) + } + } + + impl From for $currency_type { + fn from(value: u8) -> Self { + Self(value as u64) + } + } + impl ToFixed for $currency_type { fn to_fixed(self) -> F { self.0.to_fixed() @@ -127,6 +161,21 @@ macro_rules! impl_currency_reqs { self.0.overflowing_to_fixed() } } + + impl Zero for $currency_type { + fn zero() -> Self { + Self(0) + } + fn is_zero(&self) -> bool { + Into::::into(*self) == 0 + } + } + + impl One for $currency_type { + fn one() -> Self { + Self(1) + } + } }; } @@ -176,6 +225,17 @@ macro_rules! impl_arithmetic_operators { } } + impl Rem for $currency_type { + type Output = Self; + + #[allow(clippy::arithmetic_side_effects)] + fn rem(self, rhs: Self) -> Self::Output { + let lhs_u64: u64 = self.into(); + let rhs_u64: u64 = rhs.into(); + (lhs_u64 % rhs_u64).into() + } + } + impl AddAssign for $currency_type { #[allow(clippy::arithmetic_side_effects)] fn add_assign(&mut self, rhs: Self) { @@ -217,26 +277,42 @@ macro_rules! impl_approx { } fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool { - u64::abs_diff_eq(&u64::from(*self), &u64::from(*other), epsilon.into()) + u64::abs_diff_eq( + &Into::::into(*self), + &Into::::into(*other), + epsilon.into(), + ) } fn abs_diff_ne(&self, other: &Self, epsilon: Self::Epsilon) -> bool { - u64::abs_diff_ne(&u64::from(*self), &u64::from(*other), epsilon.into()) + u64::abs_diff_ne( + &Into::::into(*self), + &Into::::into(*other), + epsilon.into(), + ) } } }; } pub trait Currency: - ToFixed + Into + From + Clone + Copy + Eq + Ord + PartialEq + PartialOrd + Display + ToFixed + + Into + + From + + Clone + + Copy + + Eq + + NumOps + + Ord + + PartialEq + + PartialOrd + + Display + + Zero + + One { const MAX: Self; const ZERO: Self; - fn is_zero(&self) -> bool { - Into::::into(*self) == 0 - } - fn to_u64(&self) -> u64 { (*self).into() } @@ -276,3 +352,359 @@ impl Currency for TaoCurrency { const MAX: Self = Self(u64::MAX); const ZERO: Self = Self(0); } + +// // Required explicitly by the bound +// impl From for TaoCurrency { +// fn from(x: u32) -> Self { Self(x as u64) } +// } + +impl Bounded for TaoCurrency { + fn min_value() -> Self { + Self(u64::MIN) + } + fn max_value() -> Self { + Self(u64::MAX) + } +} + +impl Saturating for TaoCurrency { + fn saturating_add(self, rhs: Self) -> Self { + Self(self.0.saturating_add(rhs.0)) + } + fn saturating_sub(self, rhs: Self) -> Self { + Self(self.0.saturating_sub(rhs.0)) + } +} + +////////////////// + +impl CheckedNeg for TaoCurrency { + fn checked_neg(&self) -> Option { + Some(*self) + } +} + +impl CheckedRem for TaoCurrency { + fn checked_rem(&self, rhs: &Self) -> Option { + let lhs_u64: u64 = (*self).into(); + let rhs_u64: u64 = (*rhs).into(); + lhs_u64.checked_rem(rhs_u64).map(Into::into) + } +} + +impl Shl for TaoCurrency { + type Output = Self; + + #[allow(clippy::arithmetic_side_effects)] + fn shl(self, rhs: u32) -> Self::Output { + let lhs: u64 = self.into(); + // Define semantics: saturate to 0 on oversized shift (instead of panic). + // Alternatively, you could debug_assert! and return 0 in release. + let shifted = lhs.checked_shl(rhs).unwrap_or(0); + shifted.into() + } +} + +impl Shr for TaoCurrency { + type Output = Self; + + #[allow(clippy::arithmetic_side_effects)] + fn shr(self, rhs: u32) -> Self::Output { + let lhs: u64 = self.into(); + let shifted = lhs.checked_shr(rhs).unwrap_or(0); + shifted.into() + } +} + +impl Shl for TaoCurrency { + type Output = Self; + + #[allow(clippy::arithmetic_side_effects)] + fn shl(self, rhs: usize) -> Self::Output { + let lhs: u64 = self.into(); + // Define semantics: saturate to 0 on oversized shift (instead of panic). + // Alternatively, you could debug_assert! and return 0 in release. + let shifted = lhs.checked_shl(rhs as u32).unwrap_or(0); + shifted.into() + } +} + +impl Shr for TaoCurrency { + type Output = Self; + + #[allow(clippy::arithmetic_side_effects)] + fn shr(self, rhs: usize) -> Self::Output { + let lhs: u64 = self.into(); + let shifted = lhs.checked_shr(rhs as u32).unwrap_or(0); + shifted.into() + } +} + +impl Not for TaoCurrency { + type Output = Self; + fn not(self) -> Self { + Self(!self.0) + } +} +impl BitAnd for TaoCurrency { + type Output = Self; + fn bitand(self, rhs: Self) -> Self { + Self(self.0 & rhs.0) + } +} +impl BitOr for TaoCurrency { + type Output = Self; + fn bitor(self, rhs: Self) -> Self { + Self(self.0 | rhs.0) + } +} + +impl BitXor for TaoCurrency { + type Output = Self; + fn bitxor(self, rhs: Self) -> Self { + Self(self.0 ^ rhs.0) + } +} + +impl CheckedAdd for TaoCurrency { + fn checked_add(&self, rhs: &Self) -> Option { + self.0.checked_add(rhs.0).map(Self) + } +} +impl CheckedSub for TaoCurrency { + fn checked_sub(&self, rhs: &Self) -> Option { + self.0.checked_sub(rhs.0).map(Self) + } +} + +impl CheckedMul for TaoCurrency { + fn checked_mul(&self, rhs: &Self) -> Option { + self.0.checked_mul(rhs.0).map(Self) + } +} + +impl CheckedDiv for TaoCurrency { + fn checked_div(&self, rhs: &Self) -> Option { + self.0.checked_div(rhs.0).map(Self) + } +} + +#[allow(clippy::arithmetic_side_effects)] +impl CheckedShl for TaoCurrency { + fn checked_shl(&self, rhs: u32) -> Option { + // Validate first (so we can return None), then use the operator as requested. + let lhs: u64 = (*self).into(); + lhs.checked_shl(rhs)?; + Some((*self) << rhs) + } +} + +#[allow(clippy::arithmetic_side_effects)] +impl CheckedShr for TaoCurrency { + fn checked_shr(&self, rhs: u32) -> Option { + let lhs: u64 = (*self).into(); + lhs.checked_shr(rhs)?; + Some((*self) >> rhs) + } +} + +impl RemAssign for TaoCurrency { + #[allow(clippy::arithmetic_side_effects)] + fn rem_assign(&mut self, rhs: Self) { + *self = *self % rhs; + } +} + +impl PrimInt for TaoCurrency { + fn count_ones(self) -> u32 { + self.0.count_ones() + } + fn count_zeros(self) -> u32 { + self.0.count_zeros() + } + fn leading_zeros(self) -> u32 { + self.0.leading_zeros() + } + fn trailing_zeros(self) -> u32 { + self.0.trailing_zeros() + } + fn rotate_left(self, n: u32) -> Self { + Self(self.0.rotate_left(n)) + } + fn rotate_right(self, n: u32) -> Self { + Self(self.0.rotate_right(n)) + } + fn signed_shl(self, n: u32) -> Self { + // For unsigned integers, num_traits defines signed_shl/shr as normal shifts. + Self(self.0.wrapping_shl(n)) + } + fn signed_shr(self, n: u32) -> Self { + Self(self.0.wrapping_shr(n)) + } + fn unsigned_shl(self, n: u32) -> Self { + Self(self.0.wrapping_shl(n)) + } + fn unsigned_shr(self, n: u32) -> Self { + Self(self.0.wrapping_shr(n)) + } + fn swap_bytes(self) -> Self { + Self(self.0.swap_bytes()) + } + fn from_be(x: Self) -> Self { + Self(u64::from_be(x.0)) + } + fn from_le(x: Self) -> Self { + Self(u64::from_le(x.0)) + } + fn to_be(self) -> Self { + Self(self.0.to_be()) + } + fn to_le(self) -> Self { + Self(self.0.to_le()) + } + fn pow(self, exp: u32) -> Self { + Self(self.0.pow(exp)) + } +} + +impl Unsigned for TaoCurrency {} + +impl Num for TaoCurrency { + type FromStrRadixErr = ::FromStrRadixErr; + + fn from_str_radix(s: &str, radix: u32) -> Result { + u64::from_str_radix(s, radix).map(Self) + } +} + +impl NumCast for TaoCurrency { + fn from(n: T) -> Option { + n.to_u64().map(Self) + } +} + +impl ToPrimitive for TaoCurrency { + fn to_i64(&self) -> Option { + self.0.to_i64() + } + fn to_u64(&self) -> Option { + Some(self.0) + } + fn to_u128(&self) -> Option { + Some(self.0 as u128) + } + fn to_usize(&self) -> Option { + self.0.to_usize() + } +} + +impl FromPrimitive for TaoCurrency { + fn from_u64(n: u64) -> Option { + Some(Self(n)) + } + fn from_u128(n: u128) -> Option { + if n <= u64::MAX as u128 { + Some(Self(n as u64)) + } else { + None + } + } + fn from_usize(n: usize) -> Option { + Some(Self(n as u64)) + } + fn from_i64(n: i64) -> Option { + if n >= 0 { Some(Self(n as u64)) } else { None } + } +} + +impl MultiplyRational for TaoCurrency { + fn multiply_rational(self, n: Self, d: Self, r: Rounding) -> Option { + let a: u64 = self.into(); + let n: u64 = n.into(); + let d: u64 = d.into(); + a.multiply_rational(n, d, r).map(Into::into) + } +} + +impl From for TaoCurrency { + fn from(x: u16) -> Self { + TaoCurrency(x as u64) + } +} +impl From for TaoCurrency { + fn from(n: u128) -> Self { + if n <= u64::MAX as u128 { + Self(n as u64) + } else { + Self(u64::MAX) + } + } +} +impl From for TaoCurrency { + fn from(n: usize) -> Self { + Self(n as u64) + } +} +impl From for TaoCurrency { + fn from(n: sp_core::U256) -> Self { + Self(n.as_u64()) + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> usize { + self.0 as usize + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> u128 { + self.0 as u128 + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> u32 { + self.0 as u32 + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> u16 { + self.0 as u16 + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> u8 { + self.0 as u8 + } +} + +#[allow(clippy::from_over_into)] +impl Into for TaoCurrency { + fn into(self) -> sp_core::U256 { + sp_core::U256::from(self.0) + } +} + +#[allow(clippy::from_over_into)] +#[cfg(feature = "std")] +impl Into for TaoCurrency { + fn into(self) -> NumberOrHex { + NumberOrHex::Number(self.0) + } +} + +pub struct ConstTao; + +impl Get for ConstTao { + fn get() -> TaoCurrency { + TaoCurrency::new(N) + } +} diff --git a/common/src/lib.rs b/common/src/lib.rs index 658f8b2e01..68e934c32e 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -19,7 +19,7 @@ pub use currency::*; mod currency; /// Balance of an account. -pub type Balance = u64; +pub type Balance = TaoCurrency; /// An index to a block. pub type BlockNumber = u32; @@ -40,7 +40,8 @@ pub type Hash = sp_core::H256; pub type Nonce = u32; /// Transfers below SMALL_TRANSFER_LIMIT are considered small transfers -pub const SMALL_TRANSFER_LIMIT: Balance = 500_000_000; // 0.5 TAO +pub const SMALL_TRANSFER_LIMIT: Balance = TaoCurrency::new(500_000_000); // 0.5 TAO +pub const SMALL_ALPHA_TRANSFER_LIMIT: AlphaCurrency = AlphaCurrency::new(500_000_000); // 0.5 Alpha #[freeze_struct("c972489bff40ae48")] #[repr(transparent)] @@ -315,19 +316,19 @@ impl From for MechId { impl From for u16 { fn from(val: MechId) -> Self { - u16::from(val.0) + Into::::into(val.0) } } impl From for u64 { fn from(val: MechId) -> Self { - u64::from(val.0) + Into::::into(val.0) } } impl From for u8 { fn from(val: MechId) -> Self { - u8::from(val.0) + Into::::into(val.0) } } diff --git a/contract-tests/bittensor/lib.rs b/contract-tests/bittensor/lib.rs index 48e8d18aea..61d72e7b54 100755 --- a/contract-tests/bittensor/lib.rs +++ b/contract-tests/bittensor/lib.rs @@ -154,7 +154,7 @@ impl ink::env::Environment for CustomEnvironment { const MAX_EVENT_TOPICS: usize = 4; type AccountId = ink::primitives::AccountId; - type Balance = u64; + type Balance = TaoCurrency; type Hash = ink::primitives::Hash; type BlockNumber = u32; type Timestamp = u64; diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 02e31e750e..c4261577df 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -14,7 +14,7 @@ use sp_core::{Encode, Pair}; use sp_inherents::{InherentData, InherentDataProvider}; use sp_keyring::Sr25519Keyring; use sp_runtime::{OpaqueExtrinsic, SaturatedConversion}; -use subtensor_runtime_common::{AccountId, Balance, Signature}; +use subtensor_runtime_common::{AccountId, Balance, Currency, Signature, TaoCurrency}; use std::{sync::Arc, time::Duration}; @@ -136,7 +136,9 @@ pub fn create_benchmark_extrinsic( check_nonce::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + pallet_transaction_payment::ChargeTransactionPayment::::from( + TaoCurrency::ZERO, + ), ), sudo_wrapper::SudoTransactionExtension::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), diff --git a/node/src/command.rs b/node/src/command.rs index 3350c1443e..670ae6f4e4 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -217,7 +217,7 @@ pub fn run() -> sc_cli::Result<()> { Box::new(TransferKeepAliveBuilder::new( client.clone(), Sr25519Keyring::Alice.to_account_id(), - EXISTENTIAL_DEPOSIT, + EXISTENTIAL_DEPOSIT.into(), )), ]); diff --git a/node/src/mev_shield/author.rs b/node/src/mev_shield/author.rs index 35f362df3d..6ef766b22b 100644 --- a/node/src/mev_shield/author.rs +++ b/node/src/mev_shield/author.rs @@ -387,7 +387,7 @@ where runtime::Runtime, >::new(pallet_transaction_payment::ChargeTransactionPayment::< runtime::Runtime, - >::from(0u64)), + >::from(0u64.into())), node_subtensor_runtime::sudo_wrapper::SudoTransactionExtension::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), pallet_drand::drand_priority::DrandPriority::::new(), diff --git a/pallets/admin-utils/src/tests/mock.rs b/pallets/admin-utils/src/tests/mock.rs index 7bca2bd40a..2b247a36eb 100644 --- a/pallets/admin-utils/src/tests/mock.rs +++ b/pallets/admin-utils/src/tests/mock.rs @@ -19,7 +19,7 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{ConstTao, NetUid, TaoCurrency}; type Block = frame_system::mocking::MockBlock; // Configure a mock runtime to test the pallet. @@ -65,7 +65,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = u64; +pub type Balance = TaoCurrency; // An index to a block. #[allow(dead_code)] @@ -81,8 +81,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = 1; - pub const TransactionByteFee: Balance = 100; + pub const ExistentialDeposit: Balance = TaoCurrency::new(1); + pub const TransactionByteFee: Balance = TaoCurrency::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -107,15 +107,15 @@ parameter_types! { pub const InitialTxRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxDelegateTakeRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing - pub const InitialBurn: u64 = 0; - pub const InitialMinBurn: u64 = 500_000; - pub const InitialMaxBurn: u64 = 1_000_000_000; + pub const InitialBurn: TaoCurrency = TaoCurrency::new(0); + pub const InitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); + pub const InitialMaxBurn: TaoCurrency = TaoCurrency::new(1_000_000_000); pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; - pub const InitialIssuance: u64 = 0; + pub const InitialIssuance: TaoCurrency = TaoCurrency::new(0); pub const InitialDifficulty: u64 = 10000; pub const InitialActivityCutoff: u16 = 5000; pub const InitialAdjustmentInterval: u16 = 100; @@ -126,13 +126,13 @@ parameter_types! { pub const InitialRegistrationRequirement: u16 = u16::MAX; // Top 100% pub const InitialMinDifficulty: u64 = 1; pub const InitialMaxDifficulty: u64 = u64::MAX; - pub const InitialRAORecycledForRegistration: u64 = 0; + pub const InitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::new(0); pub const InitialNetworkImmunityPeriod: u64 = 1_296_000; - pub const InitialNetworkMinLockCost: u64 = 100_000_000_000; + pub const InitialNetworkMinLockCost: TaoCurrency = TaoCurrency::new(100_000_000_000); pub const InitialSubnetOwnerCut: u16 = 0; // 0%. 100% of rewards go to validators + miners. pub const InitialNetworkLockReductionInterval: u64 = 2; // 2 blocks. pub const InitialNetworkRateLimit: u64 = 0; - pub const InitialKeySwapCost: u64 = 1_000_000_000; + pub const InitialKeySwapCost: TaoCurrency = TaoCurrency::new(1_000_000_000); pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -143,7 +143,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = u64::MAX/10; // 10% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 0; // 0 days - pub const InitialKeySwapOnSubnetCost: u64 = 10_000_000; + pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 7 * 24 * 60 * 60 / 12; // 7 days pub const LeaseDividendsDistributionInterval: u32 = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -226,8 +226,8 @@ impl pallet_subtensor::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = 1; - pub const PreimageByteDeposit: Balance = 1; + pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); + pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); } impl pallet_preimage::Config for Test { @@ -240,8 +240,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: u64 = 50; - pub const AbsoluteMinimumContribution: u64 = 10; + pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); + pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -278,7 +278,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -307,10 +307,10 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = u64; + type Balance = TaoCurrency; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; + type ExistentialDeposit = ConstTao<1>; type AccountStore = System; type WeightInfo = (); type FreezeIdentifier = (); diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index f87ba31bba..ab27d20140 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -1274,7 +1274,7 @@ fn test_sudo_get_set_alpha() { pallet_subtensor::migrations::migrate_create_root_network::migrate_create_root_network::< Test, >(); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000_u64.into()); assert_ok!(SubtensorModule::root_register(signer.clone(), hotkey,)); // Should fail as signer does not own the subnet diff --git a/pallets/commitments/src/mock.rs b/pallets/commitments/src/mock.rs index 24e259b23c..253a06fff4 100644 --- a/pallets/commitments/src/mock.rs +++ b/pallets/commitments/src/mock.rs @@ -12,6 +12,7 @@ use sp_runtime::{ testing::Header, traits::{BlakeTwo256, ConstU16, IdentityLookup}, }; +use subtensor_runtime_common::{ConstTao, TaoCurrency}; pub type Block = sp_runtime::generic::Block; pub type UncheckedExtrinsic = @@ -45,7 +46,7 @@ impl frame_system::Config for Test { type BlockHashCount = ConstU64<250>; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -61,10 +62,10 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = u64; + type Balance = TaoCurrency; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; + type ExistentialDeposit = ConstTao<1>; type AccountStore = System; type WeightInfo = (); type FreezeIdentifier = (); @@ -99,8 +100,8 @@ impl pallet_commitments::Config for Test { type WeightInfo = (); type MaxFields = TestMaxFields; type CanCommit = TestCanCommit; - type FieldDeposit = ConstU64<0>; - type InitialDeposit = ConstU64<0>; + type FieldDeposit = ConstTao<0>; + type InitialDeposit = ConstTao<0>; type TempoInterface = MockTempoInterface; type OnMetadataCommitment = (); } diff --git a/pallets/commitments/src/tests.rs b/pallets/commitments/src/tests.rs index 9270a84bb7..63cdde2ab1 100644 --- a/pallets/commitments/src/tests.rs +++ b/pallets/commitments/src/tests.rs @@ -2,7 +2,7 @@ use codec::Encode; use sp_std::prelude::*; -use subtensor_runtime_common::NetUid; +use subtensor_runtime_common::{NetUid, TaoCurrency}; #[cfg(test)] use crate::{ @@ -133,7 +133,7 @@ fn set_commitment_works() { let commitment = Pallet::::commitment_of(NetUid::from(1), 1).expect("Expected not to panic"); - let initial_deposit: u64 = ::InitialDeposit::get(); + let initial_deposit = ::InitialDeposit::get(); assert_eq!(commitment.deposit, initial_deposit); assert_eq!(commitment.block, 1); assert_eq!(Pallet::::last_commitment(NetUid::from(1), 1), Some(1)); @@ -179,9 +179,9 @@ fn set_commitment_updates_deposit() { 1.into(), info1 )); - let initial_deposit: u64 = ::InitialDeposit::get(); - let field_deposit: u64 = ::FieldDeposit::get(); - let expected_deposit1: u64 = initial_deposit + 2u64 * field_deposit; + let initial_deposit = ::InitialDeposit::get(); + let field_deposit = ::FieldDeposit::get(); + let expected_deposit1 = initial_deposit + field_deposit * 2.into(); assert_eq!( Pallet::::commitment_of(NetUid::from(1), 1) .expect("Expected not to panic") @@ -194,7 +194,7 @@ fn set_commitment_updates_deposit() { 1.into(), info2 )); - let expected_deposit2: u64 = initial_deposit + 3u64 * field_deposit; + let expected_deposit2 = initial_deposit + field_deposit * 3.into(); assert_eq!( Pallet::::commitment_of(NetUid::from(1), 1) .expect("Expected not to panic") @@ -1169,13 +1169,13 @@ fn set_commitment_unreserve_leftover_fails() { let netuid = NetUid::from(999); let who = 99; - Balances::make_free_balance_be(&who, 10_000); + Balances::make_free_balance_be(&who, 10_000.into()); - let fake_deposit = 100; - let dummy_info = CommitmentInfo { + let fake_deposit: TaoCurrency = 100.into(); + let dummy_info = CommitmentInfo:: { fields: BoundedVec::try_from(vec![]).expect("empty fields is fine"), }; - let registration = Registration { + let registration = Registration:: { deposit: fake_deposit, info: dummy_info, block: 0u64.into(), @@ -1184,10 +1184,10 @@ fn set_commitment_unreserve_leftover_fails() { CommitmentOf::::insert(netuid, who, registration); assert_ok!(Balances::reserve(&who, fake_deposit)); - assert_eq!(Balances::reserved_balance(who), 100); + assert_eq!(Balances::reserved_balance(who), 100.into()); - Balances::unreserve(&who, 10_000); - assert_eq!(Balances::reserved_balance(who), 0); + Balances::unreserve(&who, 10_000.into()); + assert_eq!(Balances::reserved_balance(who), 0.into()); let commit_small = Box::new(CommitmentInfo { fields: BoundedVec::try_from(vec![]).expect("no fields is fine"), @@ -1775,7 +1775,7 @@ fn set_commitment_works_with_multiple_raw_fields() { Box::new(info_multiple) )); - let expected_deposit: BalanceOf = initial_deposit + 3u64 * field_deposit; + let expected_deposit: BalanceOf = initial_deposit + field_deposit * 3u64.into(); let stored = CommitmentOf::::get(NetUid::from(99), 12345).expect("Should be stored"); assert_eq!( stored.deposit, expected_deposit, @@ -1805,7 +1805,7 @@ fn set_commitment_works_with_multiple_raw_fields() { Box::new(info_two_fields) )); - let expected_deposit2: BalanceOf = initial_deposit + 2u64 * field_deposit; + let expected_deposit2: BalanceOf = initial_deposit + field_deposit * 2u64.into(); let stored2 = CommitmentOf::::get(NetUid::from(99), 12345).expect("Should be stored"); assert_eq!( stored2.deposit, expected_deposit2, diff --git a/pallets/crowdloan/Cargo.toml b/pallets/crowdloan/Cargo.toml index dcde4504f4..033d928caa 100644 --- a/pallets/crowdloan/Cargo.toml +++ b/pallets/crowdloan/Cargo.toml @@ -19,9 +19,10 @@ codec = { workspace = true, features = ["max-encoded-len"] } frame-benchmarking = { optional = true, workspace = true } frame-support.workspace = true frame-system.workspace = true +log.workspace = true sp-runtime.workspace = true sp-std.workspace = true -log.workspace = true +subtensor-runtime-common.workspace = true [dev-dependencies] pallet-balances = { workspace = true, default-features = true } diff --git a/pallets/crowdloan/src/benchmarking.rs b/pallets/crowdloan/src/benchmarking.rs index a0e59de221..b75d859618 100644 --- a/pallets/crowdloan/src/benchmarking.rs +++ b/pallets/crowdloan/src/benchmarking.rs @@ -9,6 +9,7 @@ use crate::{BalanceOf, CrowdloanId, CrowdloanInfo, CurrencyOf, pallet::*}; use frame_benchmarking::{account, v2::*}; use frame_support::traits::{Get, StorePreimage, fungible::*}; use frame_system::{RawOrigin, pallet_prelude::BlockNumberFor}; +use subtensor_runtime_common::{Currency, TaoCurrency}; extern crate alloc; @@ -74,7 +75,7 @@ mod benchmarks { }) ); // ensure the creator has been deducted the deposit - assert!(CurrencyOf::::balance(&creator) == 0); + assert!(CurrencyOf::::balance(&creator) == TaoCurrency::ZERO); // ensure the initial deposit is stored correctly as contribution assert_eq!( Contributions::::get(crowdloan_id, &creator), @@ -136,7 +137,7 @@ mod benchmarks { Some(amount) ); // ensure the contributor has been deducted the amount - assert!(CurrencyOf::::balance(&contributor) == 0); + assert!(CurrencyOf::::balance(&contributor) == TaoCurrency::ZERO); // ensure the crowdloan raised amount is updated correctly assert!(Crowdloans::::get(crowdloan_id).is_some_and(|c| c.raised == deposit + amount)); // ensure the contribution is present in the crowdloan account @@ -310,7 +311,7 @@ mod benchmarks { _(RawOrigin::Signed(creator.clone()), crowdloan_id); // ensure the creator has not been refunded and contribution is the actual initial deposit - assert_eq!(CurrencyOf::::balance(&creator), 0); + assert_eq!(CurrencyOf::::balance(&creator), TaoCurrency::ZERO); assert_eq!( Contributions::::get(crowdloan_id, &creator), Some(deposit) diff --git a/pallets/crowdloan/src/lib.rs b/pallets/crowdloan/src/lib.rs index 82b1402bc6..5b8b58384d 100644 --- a/pallets/crowdloan/src/lib.rs +++ b/pallets/crowdloan/src/lib.rs @@ -14,7 +14,7 @@ use frame_support::{ dispatch::GetDispatchInfo, pallet_prelude::*, sp_runtime::{ - RuntimeDebug, + RuntimeDebug, Saturating, traits::{AccountIdConversion, Dispatchable, Zero}, }, traits::{ @@ -26,6 +26,7 @@ use frame_system::pallet_prelude::*; use scale_info::TypeInfo; use sp_runtime::traits::CheckedSub; use sp_std::vec::Vec; +use subtensor_runtime_common::TaoCurrency; use weights::WeightInfo; pub use pallet::*; @@ -107,7 +108,7 @@ pub mod pallet { + IsType<::RuntimeCall>; /// The currency mechanism. - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; /// The weight information for the pallet. @@ -440,7 +441,7 @@ pub mod pallet { // and it does not exceed the cap let left_to_raise = crowdloan .cap - .checked_sub(crowdloan.raised) + .checked_sub(&crowdloan.raised) .ok_or(Error::::Underflow)?; // If the contribution would raise the amount above the cap, @@ -450,7 +451,7 @@ pub mod pallet { // Ensure contribution does not overflow the actual raised amount crowdloan.raised = crowdloan .raised - .checked_add(amount) + .checked_add(&amount) .ok_or(Error::::Overflow)?; // Compute the new total contribution and ensure it does not overflow, we @@ -458,7 +459,7 @@ pub mod pallet { let contribution = if let Some(contribution) = Contributions::::get(crowdloan_id, &contributor) { contribution - .checked_add(amount) + .checked_add(&amount) .ok_or(Error::::Overflow)? } else { // We have a new contribution diff --git a/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs b/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs index 5d76aa60e5..7bfb0c4bf0 100644 --- a/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs +++ b/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs @@ -170,6 +170,7 @@ mod tests { put_raw(&key, &crowdloan.encode()); for (contributor, amount) in contributions { + let amount = TaoCurrency::from(amount); Contributions::::insert(id as u32, contributor, amount); } } diff --git a/pallets/crowdloan/src/mock.rs b/pallets/crowdloan/src/mock.rs index fa2f5533d2..69a33215ea 100644 --- a/pallets/crowdloan/src/mock.rs +++ b/pallets/crowdloan/src/mock.rs @@ -12,6 +12,7 @@ use frame_support::{ use frame_system::{EnsureRoot, pallet_prelude::BlockNumberFor}; use sp_core::U256; use sp_runtime::{BuildStorage, traits::IdentityLookup}; +use subtensor_runtime_common::TaoCurrency; use crate::{BalanceOf, CrowdloanId, pallet as pallet_crowdloan, weights::WeightInfo}; @@ -36,11 +37,11 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { .expect("Expected to not panic"); pallet_balances::GenesisConfig:: { balances: vec![ - (U256::from(1), 10), - (U256::from(2), 10), - (U256::from(3), 10), - (U256::from(4), 10), - (U256::from(5), 3), + (U256::from(1), 10.into()), + (U256::from(2), 10.into()), + (U256::from(3), 10.into()), + (U256::from(4), 10.into()), + (U256::from(5), 3.into()), ], dev_accounts: None, } @@ -55,13 +56,23 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { impl frame_system::Config for Test { type Block = Block; type AccountId = U256; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type Lookup = IdentityLookup; } +// Existential deposit. +pub struct ExistentialDeposit; +impl frame_support::traits::Get for ExistentialDeposit { + fn get() -> TaoCurrency { + TaoCurrency::new(1) + } +} + #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] impl pallet_balances::Config for Test { type AccountStore = System; + type Balance = TaoCurrency; + type ExistentialDeposit = ExistentialDeposit; } pub struct TestWeightInfo; @@ -97,8 +108,8 @@ impl WeightInfo for TestWeightInfo { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: u64 = 1; - pub const PreimageByteDeposit: u64 = 1; + pub const PreimageBaseDeposit: TaoCurrency = TaoCurrency::new(1); + pub const PreimageByteDeposit: TaoCurrency = TaoCurrency::new(1); } impl pallet_preimage::Config for Test { @@ -111,8 +122,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: u64 = 50; - pub const AbsoluteMinimumContribution: u64 = 10; + pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); + pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -143,13 +154,14 @@ pub(crate) mod pallet_test { pallet_prelude::{OptionQuery, StorageValue}, }; use frame_system::pallet_prelude::OriginFor; + use subtensor_runtime_common::TaoCurrency; #[pallet::pallet] pub struct Pallet(_); #[pallet::config] pub trait Config: frame_system::Config + pallet_crowdloan::Config { - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; } diff --git a/pallets/crowdloan/src/tests.rs b/pallets/crowdloan/src/tests.rs index 67d097e1e1..79c472218c 100644 --- a/pallets/crowdloan/src/tests.rs +++ b/pallets/crowdloan/src/tests.rs @@ -5,18 +5,19 @@ use frame_support::{StorageDoubleMap, assert_err, assert_ok, traits::StorePreima use frame_system::pallet_prelude::BlockNumberFor; use sp_core::U256; use sp_runtime::DispatchError; +use subtensor_runtime_common::TaoCurrency; use crate::{BalanceOf, CrowdloanId, CrowdloanInfo, mock::*, pallet as pallet_crowdloan}; #[test] fn test_create_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -52,7 +53,10 @@ fn test_create_succeeds() { // ensure the crowdloan account has the deposit assert_eq!(Balances::free_balance(funds_account), deposit); // ensure the creator has been deducted the deposit - assert_eq!(Balances::free_balance(creator), 100 - deposit); + assert_eq!( + Balances::free_balance(creator), + TaoCurrency::from(100) - deposit + ); // ensure the contributions have been updated assert_eq!( pallet_crowdloan::Contributions::::iter_prefix(crowdloan_id) @@ -86,9 +90,9 @@ fn test_create_succeeds() { #[test] fn test_create_fails_if_bad_origin() { TestState::default().build_and_execute(|| { - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_err!( @@ -122,12 +126,12 @@ fn test_create_fails_if_bad_origin() { #[test] fn test_create_fails_if_deposit_is_too_low() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 20; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 20.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_err!( @@ -148,12 +152,12 @@ fn test_create_fails_if_deposit_is_too_low() { #[test] fn test_create_fails_if_cap_is_not_greater_than_deposit() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 40; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 40.into(); let end: BlockNumberFor = 50; assert_err!( @@ -174,12 +178,12 @@ fn test_create_fails_if_cap_is_not_greater_than_deposit() { #[test] fn test_create_fails_if_min_contribution_is_too_low() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 5; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 5.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_err!( @@ -203,12 +207,12 @@ fn test_create_fails_if_end_is_in_the_past() { TestState::default() .with_block_number(current_block_number) - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = current_block_number - 5; assert_err!( @@ -229,12 +233,12 @@ fn test_create_fails_if_end_is_in_the_past() { #[test] fn test_create_fails_if_block_duration_is_too_short() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 11; assert_err!( @@ -255,12 +259,12 @@ fn test_create_fails_if_block_duration_is_too_short() { #[test] fn test_create_fails_if_block_duration_is_too_long() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 1000; assert_err!( @@ -281,12 +285,12 @@ fn test_create_fails_if_block_duration_is_too_long() { #[test] fn test_create_fails_if_creator_has_insufficient_balance() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 200; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let deposit: BalanceOf = 200.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_err!( @@ -307,15 +311,15 @@ fn test_create_fails_if_creator_has_insufficient_balance() { #[test] fn test_contribute_succeeds() { TestState::default() - .with_balance(U256::from(1), 200) - .with_balance(U256::from(2), 500) - .with_balance(U256::from(3), 200) + .with_balance(U256::from(1), 200.into()) + .with_balance(U256::from(2), 500.into()) + .with_balance(U256::from(3), 200.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -340,7 +344,7 @@ fn test_contribute_succeeds() { ); // first contribution to the crowdloan from creator - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(creator), crowdloan_id, @@ -357,7 +361,7 @@ fn test_contribute_succeeds() { ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, creator), - Some(100) + Some(100.into()) ); assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id) @@ -365,12 +369,12 @@ fn test_contribute_succeeds() { ); assert_eq!( Balances::free_balance(creator), - 200 - amount - initial_deposit + TaoCurrency::from(200) - amount - initial_deposit ); // second contribution to the crowdloan let contributor1: AccountOf = U256::from(2); - let amount: BalanceOf = 100; + let amount: BalanceOf = 100.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor1), crowdloan_id, @@ -387,17 +391,20 @@ fn test_contribute_succeeds() { ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, contributor1), - Some(100) + Some(100.into()) ); assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id) .is_some_and(|c| c.contributors_count == 2) ); - assert_eq!(Balances::free_balance(contributor1), 500 - amount); + assert_eq!( + Balances::free_balance(contributor1), + TaoCurrency::from(500) - amount + ); // third contribution to the crowdloan let contributor2: AccountOf = U256::from(3); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor2), crowdloan_id, @@ -414,22 +421,25 @@ fn test_contribute_succeeds() { ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, contributor2), - Some(50) + Some(50.into()) ); assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id) .is_some_and(|c| c.contributors_count == 3) ); - assert_eq!(Balances::free_balance(contributor2), 200 - amount); + assert_eq!( + Balances::free_balance(contributor2), + TaoCurrency::from(200) - amount + ); // ensure the contributions are present in the funds account let funds_account = pallet_crowdloan::Pallet::::funds_account(crowdloan_id); - assert_eq!(Balances::free_balance(funds_account), 250); + assert_eq!(Balances::free_balance(funds_account), 250.into()); // ensure the crowdloan raised amount is updated correctly assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id) - .is_some_and(|c| c.raised == 250) + .is_some_and(|c| c.raised == 250.into()) ); }); } @@ -437,14 +447,14 @@ fn test_contribute_succeeds() { #[test] fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_the_cap() { TestState::default() - .with_balance(U256::from(1), 200) - .with_balance(U256::from(2), 500) + .with_balance(U256::from(1), 200.into()) + .with_balance(U256::from(2), 500.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -462,7 +472,7 @@ fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_t // first contribution to the crowdloan from creator let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(creator), crowdloan_id, @@ -479,16 +489,16 @@ fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_t ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, creator), - Some(100) + Some(100.into()) ); assert_eq!( Balances::free_balance(creator), - 200 - amount - initial_deposit + TaoCurrency::from(200) - amount - initial_deposit ); // second contribution to the crowdloan above the cap let contributor1: AccountOf = U256::from(2); - let amount: BalanceOf = 300; + let amount: BalanceOf = 300.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor1), crowdloan_id, @@ -499,24 +509,24 @@ fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_t pallet_crowdloan::Event::::Contributed { crowdloan_id, contributor: contributor1, - amount: 200, // the amount is capped at the cap + amount: 200.into(), // the amount is capped at the cap } .into() ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, contributor1), - Some(200) + Some(200.into()) ); - assert_eq!(Balances::free_balance(contributor1), 500 - 200); + assert_eq!(Balances::free_balance(contributor1), (500 - 200).into()); // ensure the contributions are present in the crowdloan account up to the cap let funds_account = pallet_crowdloan::Pallet::::funds_account(crowdloan_id); - assert_eq!(Balances::free_balance(funds_account), 300); + assert_eq!(Balances::free_balance(funds_account), 300.into()); // ensure the crowdloan raised amount is updated correctly assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id) - .is_some_and(|c| c.raised == 300) + .is_some_and(|c| c.raised == 300.into()) ); }); } @@ -525,7 +535,7 @@ fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_t fn test_contribute_fails_if_bad_origin() { TestState::default().build_and_execute(|| { let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 100; + let amount: BalanceOf = 100.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::none(), crowdloan_id, amount), @@ -542,11 +552,11 @@ fn test_contribute_fails_if_bad_origin() { #[test] fn test_contribute_fails_if_crowdloan_does_not_exist() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let contributor: AccountOf = U256::from(1); let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 20; + let amount: BalanceOf = 20.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::signed(contributor), crowdloan_id, amount), @@ -558,14 +568,14 @@ fn test_contribute_fails_if_crowdloan_does_not_exist() { #[test] fn test_contribute_fails_if_contribution_period_ended() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -584,7 +594,7 @@ fn test_contribute_fails_if_contribution_period_ended() { // contribute to the crowdloan let contributor: AccountOf = U256::from(2); let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 20; + let amount: BalanceOf = 20.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::signed(contributor), crowdloan_id, amount), pallet_crowdloan::Error::::ContributionPeriodEnded @@ -595,15 +605,15 @@ fn test_contribute_fails_if_contribution_period_ended() { #[test] fn test_contribute_fails_if_cap_has_been_raised() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 1000) - .with_balance(U256::from(3), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 1000.into()) + .with_balance(U256::from(3), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -631,7 +641,7 @@ fn test_contribute_fails_if_cap_has_been_raised() { // second contribution to the crowdloan let contributor2: AccountOf = U256::from(3); - let amount: BalanceOf = 10; + let amount: BalanceOf = 10.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::signed(contributor2), crowdloan_id, amount), pallet_crowdloan::Error::::CapRaised @@ -642,14 +652,14 @@ fn test_contribute_fails_if_cap_has_been_raised() { #[test] fn test_contribute_fails_if_contribution_is_below_minimum_contribution() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -668,7 +678,7 @@ fn test_contribute_fails_if_contribution_is_below_minimum_contribution() { // contribute to the crowdloan let contributor: AccountOf = U256::from(2); let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 5; + let amount: BalanceOf = 5.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::signed(contributor), crowdloan_id, amount), pallet_crowdloan::Error::::ContributionTooLow @@ -679,23 +689,23 @@ fn test_contribute_fails_if_contribution_is_below_minimum_contribution() { #[test] fn test_contribute_fails_if_max_contributors_has_been_reached() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) - .with_balance(U256::from(3), 100) - .with_balance(U256::from(4), 100) - .with_balance(U256::from(5), 100) - .with_balance(U256::from(6), 100) - .with_balance(U256::from(7), 100) - .with_balance(U256::from(8), 100) - .with_balance(U256::from(9), 100) - .with_balance(U256::from(10), 100) - .with_balance(U256::from(11), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) + .with_balance(U256::from(3), 100.into()) + .with_balance(U256::from(4), 100.into()) + .with_balance(U256::from(5), 100.into()) + .with_balance(U256::from(6), 100.into()) + .with_balance(U256::from(7), 100.into()) + .with_balance(U256::from(8), 100.into()) + .with_balance(U256::from(9), 100.into()) + .with_balance(U256::from(10), 100.into()) + .with_balance(U256::from(11), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 1000; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 1000.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -713,7 +723,7 @@ fn test_contribute_fails_if_max_contributors_has_been_reached() { // contribute to the crowdloan let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 20; + let amount: BalanceOf = 20.into(); for i in 2..=10 { let contributor: AccountOf = U256::from(i); assert_ok!(Crowdloan::contribute( @@ -735,14 +745,14 @@ fn test_contribute_fails_if_max_contributors_has_been_reached() { #[test] fn test_contribute_fails_if_contributor_has_insufficient_balance() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 50) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 50.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -761,7 +771,7 @@ fn test_contribute_fails_if_contributor_has_insufficient_balance() { // contribute to the crowdloan let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 100; + let amount: BalanceOf = 100.into(); assert_err!( Crowdloan::contribute(RuntimeOrigin::signed(contributor), crowdloan_id, amount), @@ -773,15 +783,15 @@ fn test_contribute_fails_if_contributor_has_insufficient_balance() { #[test] fn test_withdraw_from_contributor_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) - .with_balance(U256::from(3), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) + .with_balance(U256::from(3), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -801,7 +811,7 @@ fn test_withdraw_from_contributor_succeeds() { let crowdloan_id: CrowdloanId = 0; let contributor1: AccountOf = U256::from(2); - let amount1: BalanceOf = 100; + let amount1: BalanceOf = 100.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor1), crowdloan_id, @@ -809,7 +819,7 @@ fn test_withdraw_from_contributor_succeeds() { )); let contributor2: AccountOf = U256::from(3); - let amount2: BalanceOf = 100; + let amount2: BalanceOf = 100.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor2), crowdloan_id, @@ -842,7 +852,7 @@ fn test_withdraw_from_contributor_succeeds() { // ensure the contributor1 has the correct amount assert_eq!( pallet_balances::Pallet::::free_balance(contributor1), - 100 + 100.into() ); // withdraw from contributor2 @@ -862,7 +872,7 @@ fn test_withdraw_from_contributor_succeeds() { // ensure the contributor2 has the correct amount assert_eq!( pallet_balances::Pallet::::free_balance(contributor2), - 100 + 100.into() ); // ensure the crowdloan account has the correct amount @@ -879,13 +889,13 @@ fn test_withdraw_from_contributor_succeeds() { #[test] fn test_withdraw_from_creator_with_contribution_over_deposit_succeeds() { TestState::default() - .with_balance(U256::from(1), 200) + .with_balance(U256::from(1), 200.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -901,7 +911,7 @@ fn test_withdraw_from_creator_with_contribution_over_deposit_succeeds() { // contribute to the crowdloan as the creator let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 100; + let amount: BalanceOf = 100.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(creator), crowdloan_id, @@ -924,7 +934,7 @@ fn test_withdraw_from_creator_with_contribution_over_deposit_succeeds() { // ensure the creator has the correct amount assert_eq!( pallet_balances::Pallet::::free_balance(creator), - 200 - initial_deposit + TaoCurrency::from(200) - initial_deposit ); // ensure the creator contribution has been removed assert_eq!( @@ -950,14 +960,14 @@ fn test_withdraw_from_creator_with_contribution_over_deposit_succeeds() { #[test] fn test_withdraw_fails_from_creator_with_no_contribution_over_deposit() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 200) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 200.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1021,14 +1031,14 @@ fn test_withdraw_fails_if_crowdloan_does_not_exists() { #[test] fn test_withdraw_fails_if_crowdloan_has_already_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 200) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 200.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1044,7 +1054,7 @@ fn test_withdraw_fails_if_crowdloan_has_already_been_finalized() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1072,14 +1082,14 @@ fn test_withdraw_fails_if_crowdloan_has_already_been_finalized() { #[test] fn test_withdraw_fails_if_no_contribution_exists() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 200) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 200.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1108,14 +1118,14 @@ fn test_withdraw_fails_if_no_contribution_exists() { #[test] fn test_finalize_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; let call = Box::new(RuntimeCall::TestPallet( pallet_test::Call::::transfer_funds { @@ -1139,7 +1149,7 @@ fn test_finalize_succeeds() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1156,7 +1166,7 @@ fn test_finalize_succeeds() { // ensure the transfer was a success from the dispatched call assert_eq!( pallet_balances::Pallet::::free_balance(U256::from(42)), - 100 + 100.into() ); // ensure the crowdloan is marked as finalized @@ -1182,14 +1192,14 @@ fn test_finalize_succeeds() { #[test] fn test_finalize_succeeds_with_target_address() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; let target_address: AccountOf = U256::from(42); let call = Box::new(RuntimeCall::TestPallet( @@ -1212,7 +1222,7 @@ fn test_finalize_succeeds_with_target_address() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1232,7 +1242,7 @@ fn test_finalize_succeeds_with_target_address() { // ensure the target address has received the funds assert_eq!( pallet_balances::Pallet::::free_balance(target_address), - 100 + 100.into() ); // ensure the crowdloan is marked as finalized @@ -1258,7 +1268,7 @@ fn test_finalize_succeeds_with_target_address() { #[test] fn test_finalize_fails_if_bad_origin() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let crowdloan_id: CrowdloanId = 0; @@ -1277,7 +1287,7 @@ fn test_finalize_fails_if_bad_origin() { #[test] fn test_finalize_fails_if_crowdloan_does_not_exist() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); let crowdloan_id: CrowdloanId = 0; @@ -1293,14 +1303,14 @@ fn test_finalize_fails_if_crowdloan_does_not_exist() { #[test] fn test_finalize_fails_if_not_creator_origin() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1319,7 +1329,7 @@ fn test_finalize_fails_if_not_creator_origin() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -1340,14 +1350,14 @@ fn test_finalize_fails_if_not_creator_origin() { #[test] fn test_finalize_fails_if_crowdloan_cap_is_not_raised() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1366,7 +1376,7 @@ fn test_finalize_fails_if_crowdloan_cap_is_not_raised() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 49; // below cap + let amount: BalanceOf = 49.into(); // below cap assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1388,14 +1398,14 @@ fn test_finalize_fails_if_crowdloan_cap_is_not_raised() { #[test] fn test_finalize_fails_if_crowdloan_has_already_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1411,7 +1421,7 @@ fn test_finalize_fails_if_crowdloan_has_already_been_finalized() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1439,14 +1449,14 @@ fn test_finalize_fails_if_crowdloan_has_already_been_finalized() { #[test] fn test_finalize_fails_if_call_fails() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; let call = Box::new(RuntimeCall::TestPallet( pallet_test::Call::::failing_extrinsic {}, @@ -1468,7 +1478,7 @@ fn test_finalize_fails_if_call_fails() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -1489,19 +1499,19 @@ fn test_finalize_fails_if_call_fails() { #[test] fn test_refund_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) - .with_balance(U256::from(3), 100) - .with_balance(U256::from(4), 100) - .with_balance(U256::from(5), 100) - .with_balance(U256::from(6), 100) - .with_balance(U256::from(7), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) + .with_balance(U256::from(3), 100.into()) + .with_balance(U256::from(4), 100.into()) + .with_balance(U256::from(5), 100.into()) + .with_balance(U256::from(6), 100.into()) + .with_balance(U256::from(7), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 400; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 400.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( RuntimeOrigin::signed(creator), @@ -1518,7 +1528,7 @@ fn test_refund_succeeds() { // make 6 contributions to reach 350 raised amount (initial deposit + contributions) let crowdloan_id: CrowdloanId = 0; - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); for i in 2..8 { let contributor: AccountOf = U256::from(i); assert_ok!(Crowdloan::contribute( @@ -1551,11 +1561,15 @@ fn test_refund_succeeds() { // ensure the crowdloan account has the correct amount let funds_account = pallet_crowdloan::Pallet::::funds_account(crowdloan_id); - assert_eq!(Balances::free_balance(funds_account), 350 - 5 * amount); + assert_eq!( + Balances::free_balance(funds_account), + TaoCurrency::from(350) - TaoCurrency::from(5) * amount + ); // ensure raised amount is updated correctly assert!( - pallet_crowdloan::Crowdloans::::get(crowdloan_id) - .is_some_and(|c| c.raised == 350 - 5 * amount) + pallet_crowdloan::Crowdloans::::get(crowdloan_id).is_some_and( + |c| c.raised == TaoCurrency::from(350) - TaoCurrency::from(5) * amount + ) ); // ensure the event is emitted assert_eq!( @@ -1601,7 +1615,7 @@ fn test_refund_succeeds() { let contributor: AccountOf = U256::from(i); assert_eq!( pallet_balances::Pallet::::free_balance(contributor), - 100 + 100.into() ); assert_eq!( pallet_crowdloan::Contributions::::get(crowdloan_id, contributor), @@ -1620,14 +1634,14 @@ fn test_refund_succeeds() { #[test] fn test_refund_fails_if_bad_or_invalid_origin() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { // create a crowdloan let crowdloan_id: CrowdloanId = 0; let creator: AccountOf = U256::from(1); - let initial_deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 300; + let initial_deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 300.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( RuntimeOrigin::signed(creator), @@ -1664,7 +1678,7 @@ fn test_refund_fails_if_bad_or_invalid_origin() { #[test] fn test_refund_fails_if_crowdloan_does_not_exist() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); let crowdloan_id: CrowdloanId = 0; @@ -1679,13 +1693,13 @@ fn test_refund_fails_if_crowdloan_does_not_exist() { #[test] fn test_dissolve_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1762,13 +1776,13 @@ fn test_dissolve_fails_if_crowdloan_does_not_exist() { #[test] fn test_dissolve_fails_if_crowdloan_has_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1787,7 +1801,7 @@ fn test_dissolve_fails_if_crowdloan_has_been_finalized() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), @@ -1815,12 +1829,12 @@ fn test_dissolve_fails_if_crowdloan_has_been_finalized() { #[test] fn test_dissolve_fails_if_origin_is_not_creator() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1850,14 +1864,14 @@ fn test_dissolve_fails_if_origin_is_not_creator() { #[test] fn test_dissolve_fails_if_not_everyone_has_been_refunded() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1876,7 +1890,7 @@ fn test_dissolve_fails_if_not_everyone_has_been_refunded() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -1898,13 +1912,13 @@ fn test_dissolve_fails_if_not_everyone_has_been_refunded() { #[test] fn test_update_min_contribution_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { // create a crowdloan let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -1918,7 +1932,7 @@ fn test_update_min_contribution_succeeds() { )); let crowdloan_id: CrowdloanId = 0; - let new_min_contribution: BalanceOf = 20; + let new_min_contribution: BalanceOf = 20.into(); // update the min contribution assert_ok!(Crowdloan::update_min_contribution( @@ -1950,12 +1964,12 @@ fn test_update_min_contribution_fails_if_bad_origin() { let crowdloan_id: CrowdloanId = 0; assert_err!( - Crowdloan::update_min_contribution(RuntimeOrigin::none(), crowdloan_id, 20), + Crowdloan::update_min_contribution(RuntimeOrigin::none(), crowdloan_id, 20.into()), DispatchError::BadOrigin ); assert_err!( - Crowdloan::update_min_contribution(RuntimeOrigin::root(), crowdloan_id, 20), + Crowdloan::update_min_contribution(RuntimeOrigin::root(), crowdloan_id, 20.into()), DispatchError::BadOrigin ); }); @@ -1970,7 +1984,7 @@ fn test_update_min_contribution_fails_if_crowdloan_does_not_exist() { Crowdloan::update_min_contribution( RuntimeOrigin::signed(U256::from(1)), crowdloan_id, - 20 + 20.into() ), pallet_crowdloan::Error::::InvalidCrowdloanId ); @@ -1980,13 +1994,13 @@ fn test_update_min_contribution_fails_if_crowdloan_does_not_exist() { #[test] fn test_update_min_contribution_fails_if_crowdloan_has_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2002,7 +2016,7 @@ fn test_update_min_contribution_fails_if_crowdloan_has_been_finalized() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -2020,7 +2034,7 @@ fn test_update_min_contribution_fails_if_crowdloan_has_been_finalized() { )); // try update the min contribution - let new_min_contribution: BalanceOf = 20; + let new_min_contribution: BalanceOf = 20.into(); assert_err!( Crowdloan::update_min_contribution( RuntimeOrigin::signed(creator), @@ -2035,13 +2049,13 @@ fn test_update_min_contribution_fails_if_crowdloan_has_been_finalized() { #[test] fn test_update_min_contribution_fails_if_not_creator() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2055,7 +2069,7 @@ fn test_update_min_contribution_fails_if_not_creator() { )); let crowdloan_id: CrowdloanId = 0; - let new_min_contribution: BalanceOf = 20; + let new_min_contribution: BalanceOf = 20.into(); // try update the min contribution assert_err!( @@ -2072,12 +2086,12 @@ fn test_update_min_contribution_fails_if_not_creator() { #[test] fn test_update_min_contribution_fails_if_new_min_contribution_is_too_low() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2091,7 +2105,7 @@ fn test_update_min_contribution_fails_if_new_min_contribution_is_too_low() { )); let crowdloan_id: CrowdloanId = 0; - let new_min_contribution: BalanceOf = 9; + let new_min_contribution: BalanceOf = 9.into(); // try update the min contribution assert_err!( @@ -2108,12 +2122,12 @@ fn test_update_min_contribution_fails_if_new_min_contribution_is_too_low() { #[test] fn test_update_end_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2185,13 +2199,13 @@ fn test_update_end_fails_if_crowdloan_does_not_exist() { #[test] fn test_update_end_fails_if_crowdloan_has_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2208,7 +2222,7 @@ fn test_update_end_fails_if_crowdloan_has_been_finalized() { // some contribution let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -2236,13 +2250,13 @@ fn test_update_end_fails_if_crowdloan_has_been_finalized() { #[test] fn test_update_end_fails_if_not_creator() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2270,12 +2284,12 @@ fn test_update_end_fails_if_not_creator() { fn test_update_end_fails_if_new_end_is_in_past() { TestState::default() .with_block_number(50) - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 100; assert_ok!(Crowdloan::create( @@ -2302,12 +2316,12 @@ fn test_update_end_fails_if_new_end_is_in_past() { #[test] fn test_update_end_fails_if_block_duration_is_too_short() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2337,12 +2351,12 @@ fn test_update_end_fails_if_block_duration_is_too_short() { #[test] fn test_update_end_fails_if_block_duration_is_too_long() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2369,12 +2383,12 @@ fn test_update_end_fails_if_block_duration_is_too_long() { #[test] fn test_update_cap_succeeds() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2389,7 +2403,7 @@ fn test_update_cap_succeeds() { // try update the cap let crowdloan_id: CrowdloanId = 0; - let new_cap: BalanceOf = 200; + let new_cap: BalanceOf = 200.into(); assert_ok!(Crowdloan::update_cap( RuntimeOrigin::signed(creator), crowdloan_id, @@ -2419,12 +2433,12 @@ fn test_update_cap_fails_if_bad_origin() { let crowdloan_id: CrowdloanId = 0; assert_err!( - Crowdloan::update_cap(RuntimeOrigin::none(), crowdloan_id, 200), + Crowdloan::update_cap(RuntimeOrigin::none(), crowdloan_id, 200.into()), DispatchError::BadOrigin ); assert_err!( - Crowdloan::update_cap(RuntimeOrigin::root(), crowdloan_id, 200), + Crowdloan::update_cap(RuntimeOrigin::root(), crowdloan_id, 200.into()), DispatchError::BadOrigin ); }); @@ -2436,7 +2450,11 @@ fn test_update_cap_fails_if_crowdloan_does_not_exist() { let crowdloan_id: CrowdloanId = 0; assert_err!( - Crowdloan::update_cap(RuntimeOrigin::signed(U256::from(1)), crowdloan_id, 200), + Crowdloan::update_cap( + RuntimeOrigin::signed(U256::from(1)), + crowdloan_id, + 200.into() + ), pallet_crowdloan::Error::::InvalidCrowdloanId ); }); @@ -2445,13 +2463,13 @@ fn test_update_cap_fails_if_crowdloan_does_not_exist() { #[test] fn test_update_cap_fails_if_crowdloan_has_been_finalized() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2467,7 +2485,7 @@ fn test_update_cap_fails_if_crowdloan_has_been_finalized() { // some contribution let crowdloan_id: CrowdloanId = 0; let contributor: AccountOf = U256::from(2); - let amount: BalanceOf = 50; + let amount: BalanceOf = 50.into(); assert_ok!(Crowdloan::contribute( RuntimeOrigin::signed(contributor), crowdloan_id, @@ -2485,7 +2503,7 @@ fn test_update_cap_fails_if_crowdloan_has_been_finalized() { )); // try update the cap - let new_cap: BalanceOf = 200; + let new_cap: BalanceOf = 200.into(); assert_err!( Crowdloan::update_cap(RuntimeOrigin::signed(creator), crowdloan_id, new_cap), pallet_crowdloan::Error::::AlreadyFinalized @@ -2496,13 +2514,13 @@ fn test_update_cap_fails_if_crowdloan_has_been_finalized() { #[test] fn test_update_cap_fails_if_not_creator() { TestState::default() - .with_balance(U256::from(1), 100) - .with_balance(U256::from(2), 100) + .with_balance(U256::from(1), 100.into()) + .with_balance(U256::from(2), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2517,7 +2535,7 @@ fn test_update_cap_fails_if_not_creator() { // try update the cap let crowdloan_id: CrowdloanId = 0; - let new_cap: BalanceOf = 200; + let new_cap: BalanceOf = 200.into(); assert_err!( Crowdloan::update_cap(RuntimeOrigin::signed(U256::from(2)), crowdloan_id, new_cap), pallet_crowdloan::Error::::InvalidOrigin @@ -2528,12 +2546,12 @@ fn test_update_cap_fails_if_not_creator() { #[test] fn test_update_cap_fails_if_new_cap_is_too_low() { TestState::default() - .with_balance(U256::from(1), 100) + .with_balance(U256::from(1), 100.into()) .build_and_execute(|| { let creator: AccountOf = U256::from(1); - let deposit: BalanceOf = 50; - let min_contribution: BalanceOf = 10; - let cap: BalanceOf = 100; + let deposit: BalanceOf = 50.into(); + let min_contribution: BalanceOf = 10.into(); + let cap: BalanceOf = 100.into(); let end: BlockNumberFor = 50; assert_ok!(Crowdloan::create( @@ -2548,7 +2566,7 @@ fn test_update_cap_fails_if_new_cap_is_too_low() { // try update the cap let crowdloan_id: CrowdloanId = 0; - let new_cap: BalanceOf = 49; + let new_cap: BalanceOf = 49.into(); assert_err!( Crowdloan::update_cap(RuntimeOrigin::signed(creator), crowdloan_id, new_cap), pallet_crowdloan::Error::::CapTooLow diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 8a6f8d757d..d0ce721175 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -21,7 +21,7 @@ use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; #[benchmarks( where T: pallet_balances::Config, - ::ExistentialDeposit: Get, + ::ExistentialDeposit: Get, )] mod pallet_benchmarks { use super::*; @@ -79,7 +79,7 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let amount_to_be_staked: u64 = 1_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked.into()); assert_ok!(Subtensor::::do_burned_registration( RawOrigin::Signed(coldkey.clone()).into(), @@ -224,7 +224,7 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let amount: u64 = 1_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount.into()); #[extrinsic_call] _(RawOrigin::Signed(coldkey.clone()), netuid, hotkey.clone()); @@ -245,7 +245,7 @@ mod pallet_benchmarks { assert_eq!(Subtensor::::get_max_allowed_uids(netuid), 4096); let amount: u64 = 100_000_000_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount.into()); assert_ok!(Subtensor::::do_burned_registration( RawOrigin::Signed(coldkey.clone()).into(), @@ -265,7 +265,7 @@ mod pallet_benchmarks { Subtensor::::set_network_rate_limit(1); let amount: u64 = 100_000_000_000_000u64.saturating_mul(2); - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount.into()); #[extrinsic_call] _(RawOrigin::Signed(coldkey.clone()), hotkey.clone()); @@ -419,7 +419,7 @@ mod pallet_benchmarks { let ed = ::ExistentialDeposit::get(); let swap_cost = Subtensor::::get_key_swap_cost(); - Subtensor::::add_balance_to_coldkey_account(&coldkey, swap_cost.to_u64() + ed); + Subtensor::::add_balance_to_coldkey_account(&coldkey, swap_cost + ed); #[extrinsic_call] _(RawOrigin::Signed(coldkey), new_coldkey_hash); @@ -467,7 +467,7 @@ mod pallet_benchmarks { let ed = ::ExistentialDeposit::get(); let swap_cost = Subtensor::::get_key_swap_cost(); - Subtensor::::add_balance_to_coldkey_account(&old_coldkey, swap_cost.to_u64() + ed); + Subtensor::::add_balance_to_coldkey_account(&old_coldkey, swap_cost + ed); let netuid = NetUid::from(1); Subtensor::::init_new_network(netuid, 1); @@ -607,7 +607,7 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let amount_to_be_staked = 1_000_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked.into()); assert_ok!(Subtensor::::do_burned_registration( RawOrigin::Signed(coldkey.clone()).into(), netuid, @@ -650,7 +650,7 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let amount_to_be_staked: u64 = 1_000_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked.into()); assert_ok!(Subtensor::::do_burned_registration( RawOrigin::Signed(coldkey.clone()).into(), netuid, @@ -691,7 +691,7 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let amount_to_be_staked = 1_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount_to_be_staked.into()); SubnetOwner::::set(netuid, coldkey.clone()); assert_ok!(Subtensor::::do_burned_registration( @@ -729,13 +729,13 @@ mod pallet_benchmarks { let coldkey: T::AccountId = account("Test", 0, seed); let hotkey: T::AccountId = account("Alice", 0, seed); - let amount = 900_000_000_000; - let limit = TaoCurrency::from(6_000_000_000); - let amount_to_be_staked = TaoCurrency::from(44_000_000_000); - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount); + let amount = TaoCurrency::from(900_000_000_000_u64); + let limit = TaoCurrency::from(6_000_000_000_u64); + let amount_to_be_staked = TaoCurrency::from(44_000_000_000_u64); + Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount.into()); - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -816,7 +816,7 @@ mod pallet_benchmarks { let seed: u32 = 1; // Set our total stake to 1000 TAO - Subtensor::::increase_total_stake(1_000_000_000_000.into()); + Subtensor::::increase_total_stake(1_000_000_000_000_u64.into()); Subtensor::::init_new_network(netuid, tempo); Subtensor::::set_network_registration_allowed(netuid, true); @@ -830,8 +830,8 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); let limit = TaoCurrency::from(1_000_000_000); - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -844,17 +844,17 @@ mod pallet_benchmarks { hotkey.clone() )); - let u64_staked_amt = 100_000_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), u64_staked_amt); + let staked_amt = TaoCurrency::from(100_000_000_000_u64); + Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( RawOrigin::Signed(coldkey.clone()).into(), hotkey.clone(), netuid, - u64_staked_amt.into() + staked_amt )); - let amount_unstaked = AlphaCurrency::from(30_000_000_000); + let amount_unstaked = AlphaCurrency::from(30_000_000_000_u64); // Remove stake limit for benchmark StakingOperationRateLimiter::::remove((hotkey.clone(), coldkey.clone(), netuid)); @@ -883,19 +883,19 @@ mod pallet_benchmarks { SubtokenEnabled::::insert(netuid2, true); Subtensor::::init_new_network(netuid2, 1); - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid1, tao_reserve); SubnetAlphaIn::::insert(netuid1, alpha_in); SubnetTAO::::insert(netuid2, tao_reserve); - Subtensor::::increase_total_stake(1_000_000_000_000.into()); + Subtensor::::increase_total_stake(1_000_000_000_000_u64.into()); - let amount = 900_000_000_000; - let limit_stake = TaoCurrency::from(6_000_000_000); - let limit_swap = TaoCurrency::from(1_000_000_000); - let amount_to_be_staked = TaoCurrency::from(440_000_000_000); - let amount_swapped = AlphaCurrency::from(30_000_000_000); + let amount = TaoCurrency::from(900_000_000_000_u64); + let limit_stake = TaoCurrency::from(6_000_000_000_u64); + let limit_swap = TaoCurrency::from(1_000_000_000_u64); + let amount_to_be_staked = TaoCurrency::from(440_000_000_000_u64); + let amount_swapped = AlphaCurrency::from(30_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount); assert_ok!(Subtensor::::burned_register( @@ -1054,7 +1054,7 @@ mod pallet_benchmarks { SubtokenEnabled::::insert(netuid, true); let reg_fee = Subtensor::::get_burn(netuid); - Subtensor::::add_balance_to_coldkey_account(&hotkey, reg_fee.to_u64().saturating_mul(2)); + Subtensor::::add_balance_to_coldkey_account(&hotkey, reg_fee.saturating_mul(2.into())); assert_ok!(Subtensor::::burned_register( RawOrigin::Signed(hotkey.clone()).into(), @@ -1094,7 +1094,7 @@ mod pallet_benchmarks { Subtensor::::set_commit_reveal_weights_enabled(netuid, false); let reg_fee = Subtensor::::get_burn(netuid); - Subtensor::::add_balance_to_coldkey_account(&hotkey, reg_fee.to_u64().saturating_mul(2)); + Subtensor::::add_balance_to_coldkey_account(&hotkey, reg_fee.saturating_mul(2.into())); assert_ok!(Subtensor::::burned_register( RawOrigin::Signed(hotkey.clone()).into(), @@ -1146,7 +1146,7 @@ mod pallet_benchmarks { Subtensor::::set_network_registration_allowed(1.into(), true); Subtensor::::set_network_rate_limit(1); let amount: u64 = 9_999_999_999_999; - Subtensor::::add_balance_to_coldkey_account(&coldkey, amount); + Subtensor::::add_balance_to_coldkey_account(&coldkey, amount.into()); #[extrinsic_call] _( @@ -1213,7 +1213,7 @@ mod pallet_benchmarks { Subtensor::::create_account_if_non_existent(&coldkey, &hotkey); Subtensor::::init_new_network(1.into(), 1); let deposit: u64 = 1_000_000_000u64.saturating_mul(2); - Subtensor::::add_balance_to_coldkey_account(&coldkey, deposit); + Subtensor::::add_balance_to_coldkey_account(&coldkey, deposit.into()); SubtokenEnabled::::insert(NetUid::from(1), true); assert_ok!(Subtensor::::burned_register( @@ -1320,8 +1320,8 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - SubnetTAO::::insert(netuid, TaoCurrency::from(150_000_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(100_000_000_000)); + SubnetTAO::::insert(netuid, TaoCurrency::from(150_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(100_000_000_000_u64)); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 1000000u32.into()); @@ -1331,14 +1331,14 @@ mod pallet_benchmarks { hotkey.clone() )); - let staked_amt = 100_000_000_000; + let staked_amt = TaoCurrency::from(100_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( RawOrigin::Signed(coldkey.clone()).into(), hotkey.clone(), netuid, - staked_amt.into() + staked_amt )); // Remove stake limit for benchmark @@ -1355,7 +1355,7 @@ mod pallet_benchmarks { let seed: u32 = 1; // Set our total stake to 1000 TAO - Subtensor::::increase_total_stake(1_000_000_000_000.into()); + Subtensor::::increase_total_stake(1_000_000_000_000_u64.into()); Subtensor::::init_new_network(netuid, tempo); Subtensor::::set_network_registration_allowed(netuid, true); @@ -1368,9 +1368,9 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - let limit = TaoCurrency::from(1_000_000_000); - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let limit = TaoCurrency::from(1_000_000_000_u64); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -1383,14 +1383,14 @@ mod pallet_benchmarks { hotkey.clone() )); - let u64_staked_amt = 100_000_000_000; - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), u64_staked_amt); + let staked_amt = TaoCurrency::from(100_000_000_000_u64); + Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( RawOrigin::Signed(coldkey.clone()).into(), hotkey.clone(), netuid, - u64_staked_amt.into() + staked_amt )); StakingOperationRateLimiter::::remove((hotkey.clone(), coldkey.clone(), netuid)); @@ -1409,20 +1409,20 @@ mod pallet_benchmarks { // Setup a crowdloan let crowdloan_id = 0; let beneficiary: T::AccountId = whitelisted_caller(); - let deposit = 20_000_000_000; // 20 TAO + let deposit = TaoCurrency::from(20_000_000_000_u64); // 20 TAO let now = frame_system::Pallet::::block_number(); // not really important here let end = now + T::MaximumBlockDuration::get(); - let cap = 2_000_000_000_000; // 2000 TAO + let cap = TaoCurrency::from(2_000_000_000_000_u64); // 2000 TAO let funds_account: T::AccountId = account("funds", 0, 0); - Subtensor::::add_balance_to_coldkey_account(&funds_account, cap); + Subtensor::::add_balance_to_coldkey_account(&funds_account, cap.into()); pallet_crowdloan::Crowdloans::::insert( crowdloan_id, pallet_crowdloan::CrowdloanInfo { creator: beneficiary.clone(), deposit, - min_contribution: 0, + min_contribution: 0.into(), end, cap, raised: cap, @@ -1442,7 +1442,7 @@ mod pallet_benchmarks { // Simulate k - 1 contributions, the deposit is already taken into account let contributors = k - 1; - let amount = (cap - deposit) / contributors as u64; + let amount = (cap - deposit) / TaoCurrency::from(contributors); for i in 0..contributors { let contributor = account::("contributor", i.try_into().unwrap(), 0); pallet_crowdloan::Contributions::::insert(crowdloan_id, contributor, amount); @@ -1475,10 +1475,10 @@ mod pallet_benchmarks { // Setup a crowdloan let crowdloan_id = 0; let beneficiary: T::AccountId = whitelisted_caller(); - let deposit = 20_000_000_000; // 20 TAO + let deposit = TaoCurrency::from(20_000_000_000_u64); // 20 TAO let now = frame_system::Pallet::::block_number(); // not really important here let crowdloan_end = now + T::MaximumBlockDuration::get(); - let cap = 2_000_000_000_000; // 2000 TAO + let cap = TaoCurrency::from(2_000_000_000_000_u64); // 2000 TAO let funds_account: T::AccountId = account("funds", 0, 0); Subtensor::::add_balance_to_coldkey_account(&funds_account, cap); @@ -1488,7 +1488,7 @@ mod pallet_benchmarks { pallet_crowdloan::CrowdloanInfo { creator: beneficiary.clone(), deposit, - min_contribution: 0, + min_contribution: 0.into(), end: crowdloan_end, cap, raised: cap, @@ -1508,7 +1508,7 @@ mod pallet_benchmarks { // Simulate k - 1 contributions, the deposit is already taken into account let contributors = k - 1; - let amount = (cap - deposit) / contributors as u64; + let amount = (cap - deposit) / TaoCurrency::from(contributors); for i in 0..contributors { let contributor = account::("contributor", i.try_into().unwrap(), 0); pallet_crowdloan::Contributions::::insert(crowdloan_id, contributor, amount); @@ -1609,7 +1609,7 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("A", 0, 1); SubtokenEnabled::::insert(netuid, true); Subtensor::::init_new_network(netuid, 1); - let amount = 900_000_000_000; + let amount = TaoCurrency::from(900_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount); @@ -1739,13 +1739,13 @@ mod pallet_benchmarks { SubnetOwner::::set(netuid, coldkey.clone()); - let balance_update = 900_000_000_000; - let limit = TaoCurrency::from(6_000_000_000); - let amount = TaoCurrency::from(44_000_000_000); + let balance_update = TaoCurrency::from(900_000_000_000_u64); + let limit = TaoCurrency::from(6_000_000_000_u64); + let amount = TaoCurrency::from(44_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), balance_update); - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 3aefef927f..4a33d91747 100644 --- a/pallets/subtensor/src/coinbase/block_emission.rs +++ b/pallets/subtensor/src/coinbase/block_emission.rs @@ -1,9 +1,13 @@ use super::*; +// use frame_support::traits::{Currency as BalancesCurrency, Get, Imbalance}; use frame_support::traits::Get; use safe_math::*; use substrate_fixed::{transcendental::log2, types::I96F32}; use subtensor_runtime_common::TaoCurrency; +// type PositiveImbalanceOf = +// <::Currency as BalancesCurrency<::AccountId>>::PositiveImbalance; + impl Pallet { /// Calculates the block emission based on the total issuance. /// diff --git a/pallets/subtensor/src/extensions/check_coldkey_swap.rs b/pallets/subtensor/src/extensions/check_coldkey_swap.rs index db603f9614..665704e3d9 100644 --- a/pallets/subtensor/src/extensions/check_coldkey_swap.rs +++ b/pallets/subtensor/src/extensions/check_coldkey_swap.rs @@ -203,7 +203,7 @@ mod tests { add_network(netuid, 1, 0); register_ok_neuron(netuid, hotkey, who, 0); - SubtensorModule::add_balance_to_coldkey_account(&who, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&who, u64::MAX.into()); let forbidden_calls: Vec = vec![ RuntimeCall::SubtensorModule(SubtensorCall::dissolve_network { @@ -269,11 +269,11 @@ mod tests { }), RuntimeCall::Balances(BalancesCall::transfer_keep_alive { dest: new_coldkey, - value: 100_000_000_000, + value: 100_000_000_000_u64.into(), }), RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: new_coldkey, - value: 100_000_000_000, + value: 100_000_000_000_u64.into(), }), ]; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index ba7e3dcbf6..9068577a55 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -2597,7 +2597,7 @@ pub type GetAlphaForTao = pub type GetTaoForAlpha = subtensor_swap_interface::GetTaoForAlpha, TaoCurrencyReserve>; -impl> +impl> subtensor_runtime_common::SubnetInfo for Pallet { #![deny(clippy::expect_used)] @@ -2630,7 +2630,7 @@ impl> } } -impl> +impl> subtensor_runtime_common::BalanceOps for Pallet { #![deny(clippy::expect_used)] diff --git a/pallets/subtensor/src/macros/config.rs b/pallets/subtensor/src/macros/config.rs index 15a8fe90c8..442ae93891 100644 --- a/pallets/subtensor/src/macros/config.rs +++ b/pallets/subtensor/src/macros/config.rs @@ -28,7 +28,7 @@ mod config { + GetDispatchInfo; /// Currency type that will be used to place deposits on neurons - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; /// The scheduler type used for scheduling delayed calls. @@ -65,7 +65,7 @@ mod config { /// Initial currency issuance. #[pallet::constant] - type InitialIssuance: Get; + type InitialIssuance: Get; /// Initial min allowed weights setting. #[pallet::constant] type InitialMinAllowedWeights: Get; @@ -86,16 +86,16 @@ mod config { type InitialMinDifficulty: Get; /// Initial RAO Recycled. #[pallet::constant] - type InitialRAORecycledForRegistration: Get; + type InitialRAORecycledForRegistration: Get; /// Initial Burn. #[pallet::constant] - type InitialBurn: Get; + type InitialBurn: Get; /// Initial Max Burn. #[pallet::constant] - type InitialMaxBurn: Get; + type InitialMaxBurn: Get; /// Initial Min Burn. #[pallet::constant] - type InitialMinBurn: Get; + type InitialMinBurn: Get; /// Min burn upper bound. #[pallet::constant] type MinBurnUpperBound: Get; @@ -191,7 +191,7 @@ mod config { type InitialNetworkImmunityPeriod: Get; /// Initial network minimum burn cost #[pallet::constant] - type InitialNetworkMinLockCost: Get; + type InitialNetworkMinLockCost: Get; /// Initial network subnet cut. #[pallet::constant] type InitialSubnetOwnerCut: Get; @@ -203,7 +203,7 @@ mod config { type InitialNetworkRateLimit: Get; /// Cost of swapping a hotkey. #[pallet::constant] - type KeySwapCost: Get; + type KeySwapCost: Get; /// The upper bound for the alpha parameter. Used for Liquid Alpha. #[pallet::constant] type AlphaHigh: Get; @@ -236,7 +236,7 @@ mod config { type InitialStartCallDelay: Get; /// Cost of swapping a hotkey in a subnet. #[pallet::constant] - type KeySwapOnSubnetCost: Get; + type KeySwapOnSubnetCost: Get; /// Block number for a coldkey swap the hotkey in specific subnet. #[pallet::constant] type HotkeySwapOnSubnetInterval: Get; diff --git a/pallets/subtensor/src/macros/genesis.rs b/pallets/subtensor/src/macros/genesis.rs index f16f2f7a3a..6a96bb743d 100644 --- a/pallets/subtensor/src/macros/genesis.rs +++ b/pallets/subtensor/src/macros/genesis.rs @@ -78,8 +78,8 @@ mod genesis { let hotkey = DefaultAccount::::get(); SubnetMechanism::::insert(netuid, 1); // Make dynamic. Owner::::insert(hotkey.clone(), hotkey.clone()); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(10_000_000_000)); - SubnetTAO::::insert(netuid, TaoCurrency::from(10_000_000_000)); + SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(10_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoCurrency::from(10_000_000_000_u64)); NetworksAdded::::insert(netuid, true); TotalNetworks::::mutate(|n| *n = n.saturating_add(1)); SubnetworkN::::insert(netuid, 0); diff --git a/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs b/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs index 6a05dc5a85..3521748e37 100644 --- a/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs +++ b/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs @@ -39,9 +39,7 @@ pub(crate) fn migrate_init_total_issuance() -> Weight { let prev_total_issuance = crate::TotalIssuance::::get(); // Calculate the new total issuance - let new_total_issuance: TaoCurrency = total_account_balances - .saturating_add(total_stake.to_u64()) - .into(); + let new_total_issuance: TaoCurrency = total_account_balances.saturating_add(total_stake).into(); // Update the total issuance in storage crate::TotalIssuance::::put(new_total_issuance); diff --git a/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs b/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs index 99bb5b6e97..f8242c18d9 100644 --- a/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs +++ b/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs @@ -30,7 +30,7 @@ pub fn migrate_network_lock_reduction_interval() -> Weight { NetworkRateLimit::::put(FOUR_DAYS); weight = weight.saturating_add(T::DbWeight::get().writes(1)); - Pallet::::set_network_last_lock(TaoCurrency::from(1_000_000_000_000)); + Pallet::::set_network_last_lock(TaoCurrency::from(1_000_000_000_000_u64)); weight = weight.saturating_add(T::DbWeight::get().writes(1)); // Hold price at 2000 TAO until day 7, then begin linear decay diff --git a/pallets/subtensor/src/migrations/migrate_reset_max_burn.rs b/pallets/subtensor/src/migrations/migrate_reset_max_burn.rs index e52d15fb07..8016cd83ff 100644 --- a/pallets/subtensor/src/migrations/migrate_reset_max_burn.rs +++ b/pallets/subtensor/src/migrations/migrate_reset_max_burn.rs @@ -31,7 +31,7 @@ pub fn migrate_reset_max_burn() -> Weight { for netuid in MaxBurn::::iter_keys() { MaxBurn::::mutate(netuid, |max| { - *max = 100_000_000_000.into(); + *max = 100_000_000_000_u64.into(); }); reset_entries_count = reset_entries_count.saturating_add(1); } diff --git a/pallets/subtensor/src/staking/helpers.rs b/pallets/subtensor/src/staking/helpers.rs index 099f8e26b6..f31852800a 100644 --- a/pallets/subtensor/src/staking/helpers.rs +++ b/pallets/subtensor/src/staking/helpers.rs @@ -306,7 +306,7 @@ impl Pallet { coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) -> Result { - if amount == 0 { + if amount == 0.into() { return Ok(TaoCurrency::ZERO); } @@ -320,7 +320,7 @@ impl Pallet { .map_err(|_| Error::::BalanceWithdrawalError)? .peek(); - if credit == 0 { + if credit == 0.into() { return Err(Error::::ZeroBalanceAfterWithdrawn.into()); } @@ -330,9 +330,9 @@ impl Pallet { pub fn kill_coldkey_account( coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, - ) -> Result { - if amount == 0 { - return Ok(0); + ) -> Result { + if amount == 0.into() { + return Ok(0.into()); } let credit = ::Currency::withdraw( @@ -345,7 +345,7 @@ impl Pallet { .map_err(|_| Error::::BalanceWithdrawalError)? .peek(); - if credit == 0 { + if credit == 0.into() { return Err(Error::::ZeroBalanceAfterWithdrawn.into()); } diff --git a/pallets/subtensor/src/staking/remove_stake.rs b/pallets/subtensor/src/staking/remove_stake.rs index 74a6bf34a6..f3298d771a 100644 --- a/pallets/subtensor/src/staking/remove_stake.rs +++ b/pallets/subtensor/src/staking/remove_stake.rs @@ -564,7 +564,7 @@ impl Pallet { // Credit each share directly to coldkey free balance. for p in portions { if p.share > 0 { - Self::add_balance_to_coldkey_account(&p.cold, p.share); + Self::add_balance_to_coldkey_account(&p.cold, TaoCurrency::from(p.share)); } } } @@ -598,7 +598,7 @@ impl Pallet { }; if !refund.is_zero() { - Self::add_balance_to_coldkey_account(&owner_coldkey, refund.to_u64()); + Self::add_balance_to_coldkey_account(&owner_coldkey, refund); } Ok(()) diff --git a/pallets/subtensor/src/subnets/leasing.rs b/pallets/subtensor/src/subnets/leasing.rs index a202a22a45..7fdc7983b7 100644 --- a/pallets/subtensor/src/subnets/leasing.rs +++ b/pallets/subtensor/src/subnets/leasing.rs @@ -141,25 +141,26 @@ impl Pallet { let mut refunded_cap = 0u64; for (contributor, amount) in contributions { // Compute the share of the contributor to the lease - let share: U64F64 = U64F64::from(amount).saturating_div(U64F64::from(crowdloan.raised)); + let share: U64F64 = U64F64::from(u64::from(amount)) + .saturating_div(U64F64::from(u64::from(crowdloan.raised))); SubnetLeaseShares::::insert(lease_id, &contributor, share); // Refund the unused part of the cap to the contributor relative to their share let contributor_refund = share - .saturating_mul(U64F64::from(leftover_cap)) + .saturating_mul(U64F64::from(u64::from(leftover_cap))) .floor() .saturating_to_num::(); ::Currency::transfer( &lease_coldkey, &contributor, - contributor_refund, + contributor_refund.into(), Preservation::Expendable, )?; refunded_cap = refunded_cap.saturating_add(contributor_refund); } // Refund what's left after refunding the contributors to the beneficiary - let beneficiary_refund = leftover_cap.saturating_sub(refunded_cap); + let beneficiary_refund = leftover_cap.saturating_sub(refunded_cap.into()); ::Currency::transfer( &lease_coldkey, &who, diff --git a/pallets/subtensor/src/subnets/registration.rs b/pallets/subtensor/src/subnets/registration.rs index a7771857bb..9451d3c413 100644 --- a/pallets/subtensor/src/subnets/registration.rs +++ b/pallets/subtensor/src/subnets/registration.rs @@ -374,9 +374,9 @@ impl Pallet { // --- 5. Add Balance via faucet. let balance_to_add: u64 = 1_000_000_000_000; - Self::increase_issuance(100_000_000_000.into()); // We are creating tokens here from the coinbase. + Self::increase_issuance(100_000_000_000_u64.into()); // We are creating tokens here from the coinbase. - Self::add_balance_to_coldkey_account(&coldkey, balance_to_add); + Self::add_balance_to_coldkey_account(&coldkey, balance_to_add.into()); // --- 6. Deposit successful event. log::debug!("Faucet( coldkey:{coldkey:?} amount:{balance_to_add:?} ) "); diff --git a/pallets/subtensor/src/swap/swap_coldkey.rs b/pallets/subtensor/src/swap/swap_coldkey.rs index 54b07d9dbf..275446f8de 100644 --- a/pallets/subtensor/src/swap/swap_coldkey.rs +++ b/pallets/subtensor/src/swap/swap_coldkey.rs @@ -34,7 +34,7 @@ impl Pallet { // Transfer any remaining balance from old_coldkey to new_coldkey let remaining_balance = Self::get_coldkey_balance(old_coldkey); - if remaining_balance > 0 { + if remaining_balance > 0.into() { Self::kill_coldkey_account(old_coldkey, remaining_balance)?; Self::add_balance_to_coldkey_account(new_coldkey, remaining_balance); } diff --git a/pallets/subtensor/src/tests/batch_tx.rs b/pallets/subtensor/src/tests/batch_tx.rs index 33148e7eb5..07f63c9933 100644 --- a/pallets/subtensor/src/tests/batch_tx.rs +++ b/pallets/subtensor/src/tests/batch_tx.rs @@ -24,17 +24,17 @@ fn test_batch_txs() { vec![ RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: bob, - value: 1_000_000_000 + value: 1_000_000_000.into() }), RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: charlie, - value: 1_000_000_000 + value: 1_000_000_000.into() }) ] )); - assert_eq!(Balances::total_balance(&alice), 6_000_000_000); - assert_eq!(Balances::total_balance(&bob), 2_000_000_000); - assert_eq!(Balances::total_balance(&charlie), 2_000_000_000); + assert_eq!(Balances::total_balance(&alice), 6_000_000_000_u64.into()); + assert_eq!(Balances::total_balance(&bob), 2_000_000_000_u64.into()); + assert_eq!(Balances::total_balance(&charlie), 2_000_000_000_u64.into()); }); } @@ -48,12 +48,12 @@ fn test_cant_nest_batch_txs() { calls: vec![ RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: bob, - value: 1_000_000_000, + value: 1_000_000_000.into(), }), RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: charlie, - value: 1_000_000_000, + value: 1_000_000_000.into(), })], }), ], @@ -71,7 +71,7 @@ fn test_can_batch_txs() { let call = RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: bob, - value: 1_000_000_000, + value: 1_000_000_000.into(), })], }); @@ -88,7 +88,7 @@ fn test_cant_nest_batch_diff_batch_txs() { calls: vec![RuntimeCall::Utility(pallet_utility::Call::force_batch { calls: vec![RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: charlie, - value: 1_000_000_000, + value: 1_000_000_000.into(), })], })], }); @@ -99,7 +99,7 @@ fn test_cant_nest_batch_diff_batch_txs() { calls: vec![RuntimeCall::Utility(pallet_utility::Call::batch { calls: vec![RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: charlie, - value: 1_000_000_000, + value: 1_000_000_000.into(), })], })], }); @@ -110,7 +110,7 @@ fn test_cant_nest_batch_diff_batch_txs() { calls: vec![RuntimeCall::Utility(pallet_utility::Call::batch_all { calls: vec![RuntimeCall::Balances(BalanceCall::transfer_allow_death { dest: charlie, - value: 1_000_000_000, + value: 1_000_000_000.into(), })], })], }); diff --git a/pallets/subtensor/src/tests/children.rs b/pallets/subtensor/src/tests/children.rs index e8be57f021..d65e5b2d9e 100644 --- a/pallets/subtensor/src/tests/children.rs +++ b/pallets/subtensor/src/tests/children.rs @@ -1468,7 +1468,7 @@ fn test_children_stake_values() { &hotkey, &coldkey, netuid, - 100_000_000_000_000.into(), + 100_000_000_000_000_u64.into(), ); // Set multiple children with proportions. @@ -1484,26 +1484,26 @@ fn test_children_stake_values() { assert_eq!( SubtensorModule::get_inherited_for_hotkey_on_subnet(&hotkey, netuid), - 25_000_000_069_849.into() + 25_000_000_069_849_u64.into() ); assert_eq!( SubtensorModule::get_inherited_for_hotkey_on_subnet(&child1, netuid), - 24_999_999_976_716.into() + 24_999_999_976_716_u64.into() ); assert_eq!( SubtensorModule::get_inherited_for_hotkey_on_subnet(&child2, netuid), - 24_999_999_976_716.into() + 24_999_999_976_716_u64.into() ); assert_eq!( SubtensorModule::get_inherited_for_hotkey_on_subnet(&child3, netuid), - 24_999_999_976_716.into() + 24_999_999_976_716_u64.into() ); assert_eq!( SubtensorModule::get_inherited_for_hotkey_on_subnet(&child3, netuid) + SubtensorModule::get_inherited_for_hotkey_on_subnet(&child2, netuid) + SubtensorModule::get_inherited_for_hotkey_on_subnet(&child1, netuid) + SubtensorModule::get_inherited_for_hotkey_on_subnet(&hotkey, netuid), - 99999999999997.into() + 99999999999997_u64.into() ); }); } @@ -1895,7 +1895,7 @@ fn test_get_stake_for_hotkey_on_subnet_edge_cases() { register_ok_neuron(netuid, child2, coldkey, 0); // Set above old value of network max stake - let network_max_stake = 600_000_000_000_000.into(); + let network_max_stake = 600_000_000_000_000_u64.into(); // Increase stake to the network max SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -2233,9 +2233,9 @@ fn test_do_remove_stake_clears_pending_childkeys() { // Add network and register hotkey add_network(netuid, 13, 0); register_ok_neuron(netuid, hotkey, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 10_000_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 10_000_000_000_000_u64.into()); - let reserve = 1_000_000_000_000_000; + let reserve = 1_000_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Set non-default value for childkey stake threshold @@ -2447,7 +2447,7 @@ fn test_revoke_child_no_min_stake_check() { add_network(netuid, 13, 0); register_ok_neuron(netuid, parent, coldkey, 0); - let reserve = 1_000_000_000_000_000; + let reserve = 1_000_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); mock::setup_reserves(NetUid::ROOT, reserve.into(), reserve.into()); @@ -2520,7 +2520,7 @@ fn test_do_set_child_registration_disabled() { add_network(netuid, 13, 0); register_ok_neuron(netuid, parent, coldkey, 0); - let reserve = 1_000_000_000_000_000; + let reserve = 1_000_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Set minimum stake for setting children @@ -2639,12 +2639,16 @@ fn test_childkey_set_weights_single_parent() { let coldkey_child: U256 = U256::from(101); let coldkey_weight_setter: U256 = U256::from(102); - let stake_to_give_child = 109_999; + let balance_to_give_child = TaoCurrency::from(109_999); + let stake_to_give_child = AlphaCurrency::from(109_999); // Register parent with minimal stake and child with high stake - SubtensorModule::add_balance_to_coldkey_account(&coldkey_parent, 1); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_child, stake_to_give_child + 10); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_weight_setter, 1_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_parent, 1.into()); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_child, + balance_to_give_child + 10.into(), + ); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_weight_setter, 1_000_000.into()); // Add neurons for parent, child and weight_setter register_ok_neuron(netuid, parent, coldkey_parent, 1); @@ -2655,7 +2659,7 @@ fn test_childkey_set_weights_single_parent() { &parent, &coldkey_parent, netuid, - stake_to_give_child.into(), + stake_to_give_child, ); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &weight_setter, @@ -2684,7 +2688,7 @@ fn test_childkey_set_weights_single_parent() { )); // Set the min stake very high - SubtensorModule::set_stake_threshold(stake_to_give_child * 5); + SubtensorModule::set_stake_threshold(u64::from(stake_to_give_child) * 5); // Check the child has less stake than required assert!( @@ -2707,7 +2711,7 @@ fn test_childkey_set_weights_single_parent() { assert!(!SubtensorModule::check_weights_min_stake(&child, netuid)); // Set a minimum stake to set weights - SubtensorModule::set_stake_threshold(stake_to_give_child - 5); + SubtensorModule::set_stake_threshold(u64::from(stake_to_give_child) - 5); // Check if the stake for the child is above assert!( @@ -2744,9 +2748,13 @@ fn test_set_weights_no_parent() { let coldkey: U256 = U256::from(101); let spare_ck = U256::from(102); - let stake_to_give_child = 109_999; + let balance_to_give_child = TaoCurrency::from(109_999); + let stake_to_give_child = AlphaCurrency::from(109_999); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, stake_to_give_child + 10); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey, + balance_to_give_child + 10.into(), + ); // Is registered register_ok_neuron(netuid, hotkey, coldkey, 1); @@ -2757,7 +2765,7 @@ fn test_set_weights_no_parent() { &hotkey, &coldkey, netuid, - stake_to_give_child.into(), + stake_to_give_child, ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -2845,7 +2853,7 @@ fn test_childkey_take_drain() { let nominator = U256::from(7); let netuid = NetUid::from(1); let subnet_tempo = 10; - let stake = 100_000_000_000; + let stake = 100_000_000_000_u64; let proportion: u64 = u64::MAX / 2; // Add network, register hotkeys, and setup network parameters @@ -2857,11 +2865,11 @@ fn test_childkey_take_drain() { register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 1); SubtensorModule::add_balance_to_coldkey_account( &parent_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &nominator, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_max_allowed_validators(netuid, 2); @@ -2974,8 +2982,8 @@ fn test_parent_child_chain_emission() { Tempo::::insert(netuid, 1); // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000)); + SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); // Set owner cut to 0 SubtensorModule::set_subnet_owner_cut(0_u16); @@ -2994,9 +3002,9 @@ fn test_parent_child_chain_emission() { register_ok_neuron(netuid, hotkey_c, coldkey_c, 0); // Add initial stakes - SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000.into()); // Swap to alpha let stake_a = 300_000_000_000_u64; @@ -3202,11 +3210,15 @@ fn test_parent_child_chain_epoch() { register_ok_neuron(netuid, hotkey_c, coldkey_c, 0); // Add initial stakes - SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000.into()); - mock::setup_reserves(netuid, 1_000_000_000_000.into(), 1_000_000_000_000.into()); + mock::setup_reserves( + netuid, + 1_000_000_000_000_u64.into(), + 1_000_000_000_000_u64.into(), + ); // Swap to alpha let total_tao = I96F32::from_num(300_000 + 100_000 + 50_000); @@ -3332,8 +3344,8 @@ fn test_dividend_distribution_with_children() { SubtensorModule::set_ck_burn(0); mock::setup_reserves( netuid, - 1_000_000_000_000_000.into(), - 1_000_000_000_000_000.into(), + 1_000_000_000_000_000_u64.into(), + 1_000_000_000_000_000_u64.into(), ); // Set owner cut to 0 SubtensorModule::set_subnet_owner_cut(0_u16); @@ -3352,9 +3364,9 @@ fn test_dividend_distribution_with_children() { register_ok_neuron(netuid, hotkey_c, coldkey_c, 0); // Add initial stakes - SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_b, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_c, 1_000.into()); // Swap to alpha let total_tao = I96F32::from_num(300_000 + 100_000 + 50_000); @@ -3586,11 +3598,11 @@ fn test_dynamic_parent_child_relationships() { log::info!("child take 2: {chk_take_2:?}"); // Add initial stakes - SubtensorModule::add_balance_to_coldkey_account(&coldkey_parent, 500_000 + 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_child1, 50_000 + 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_child2, 30_000 + 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_parent, (500_000 + 1_000).into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_child1, (50_000 + 1_000).into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_child2, (30_000 + 1_000).into()); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Swap to alpha @@ -3867,7 +3879,11 @@ fn test_dividend_distribution_with_children_same_coldkey_owner() { add_network(netuid, 1, 0); // Set SN owner cut to 0 SubtensorModule::set_subnet_owner_cut(0_u16); - mock::setup_reserves(netuid, 1_000_000_000_000.into(), 1_000_000_000_000.into()); + mock::setup_reserves( + netuid, + 1_000_000_000_000_u64.into(), + 1_000_000_000_000_u64.into(), + ); // Define hotkeys and coldkeys let hotkey_a: U256 = U256::from(1); @@ -3879,8 +3895,8 @@ fn test_dividend_distribution_with_children_same_coldkey_owner() { register_ok_neuron(netuid, hotkey_b, coldkey_a, 0); // Add initial stakes - SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_a, 1_000.into()); // Swap to alpha let total_tao = 300_000 + 100_000; diff --git a/pallets/subtensor/src/tests/claim_root.rs b/pallets/subtensor/src/tests/claim_root.rs index 6bcaee2fca..04f4a01d4b 100644 --- a/pallets/subtensor/src/tests/claim_root.rs +++ b/pallets/subtensor/src/tests/claim_root.rs @@ -600,8 +600,8 @@ fn test_claim_root_with_drain_emissions_and_swap_claim_type() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -1314,8 +1314,8 @@ fn test_claim_root_on_network_deregistration() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -1562,8 +1562,8 @@ fn test_claim_root_fill_root_alpha_dividends_per_subnet() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -1728,8 +1728,8 @@ fn test_claim_root_keep_subnets_swap_claim_type() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = diff --git a/pallets/subtensor/src/tests/coinbase.rs b/pallets/subtensor/src/tests/coinbase.rs index 093444e955..ed8368e0e5 100644 --- a/pallets/subtensor/src/tests/coinbase.rs +++ b/pallets/subtensor/src/tests/coinbase.rs @@ -195,14 +195,14 @@ fn test_coinbase_tao_issuance_different_prices() { SubtensorModule::swap_tao_for_alpha( netuid1, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); SubtensorModule::swap_tao_for_alpha( netuid2, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -589,14 +589,14 @@ fn test_coinbase_alpha_issuance_with_cap_trigger_and_block_emission() { SubtensorModule::swap_tao_for_alpha( netuid1, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); SubtensorModule::swap_tao_for_alpha( netuid2, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -606,8 +606,8 @@ fn test_coinbase_alpha_issuance_with_cap_trigger_and_block_emission() { let price_2_before = ::SwapInterface::current_alpha_price(netuid2); // Set issuance at 21M - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(21_000_000_000_000_000)); // Set issuance above 21M - SubnetAlphaOut::::insert(netuid2, AlphaCurrency::from(21_000_000_000_000_000)); // Set issuance above 21M + SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(21_000_000_000_000_000_u64)); // Set issuance above 21M + SubnetAlphaOut::::insert(netuid2, AlphaCurrency::from(21_000_000_000_000_000_u64)); // Set issuance above 21M // Run coinbase SubtensorModule::run_coinbase(U96F32::from_num(emission)); @@ -639,7 +639,11 @@ fn test_owner_cut_base() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(1); add_network(netuid, 1, 0); - mock::setup_reserves(netuid, 1_000_000_000_000.into(), 1_000_000_000_000.into()); + mock::setup_reserves( + netuid, + 1_000_000_000_000_u64.into(), + 1_000_000_000_000_u64.into(), + ); SubtensorModule::set_tempo(netuid, 10000); // Large number (dont drain) SubtensorModule::set_subnet_owner_cut(0); SubtensorModule::run_coinbase(U96F32::from_num(0)); @@ -1374,7 +1378,7 @@ fn test_get_root_children_drain() { // Get Bob stake amounts on subnet alpha. let (bob_total, bob_alpha, bob_tao): (I64F64, I64F64, I64F64) = SubtensorModule::get_stake_weights_for_hotkey_on_subnet(&bob, alpha); - assert_eq!(bob_total, I64F64::from_num(4 * bob_root_stake)); + assert_eq!(bob_total, I64F64::from_num(4_u64 * bob_root_stake)); // Lets drain let pending_alpha = AlphaCurrency::from(1_000_000_000); @@ -1994,8 +1998,8 @@ fn test_calculate_dividend_distribution_totals() { let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452); - let pending_root_alpha = AlphaCurrency::from(837_120_949_872); + let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); + let pending_root_alpha = AlphaCurrency::from(837_120_949_872_u64); let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2039,7 +2043,7 @@ fn test_calculate_dividend_distribution_total_only_tao() { let mut dividends: BTreeMap = BTreeMap::new(); let pending_validator_alpha = AlphaCurrency::ZERO; - let pending_root_alpha = AlphaCurrency::from(837_120_949_872); + let pending_root_alpha = AlphaCurrency::from(837_120_949_872_u64); let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2082,7 +2086,7 @@ fn test_calculate_dividend_distribution_total_no_tao_weight() { let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452); + let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); let pending_tao = TaoCurrency::ZERO; // If tao weight is 0, then only alpha dividends should be input. let tao_weight: U96F32 = U96F32::from_num(0.0); // 0% @@ -2126,7 +2130,7 @@ fn test_calculate_dividend_distribution_total_only_alpha() { let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452); + let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); let pending_tao = TaoCurrency::ZERO; let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% @@ -2714,7 +2718,7 @@ fn test_coinbase_v3_liquidity_update() { SubtensorModule::swap_tao_for_alpha( netuid, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -2970,23 +2974,23 @@ fn test_mining_emission_distribution_with_no_root_sell() { SubnetMechanism::::insert(netuid, 1); // Set mechanism to 1 // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000)); + SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); register_ok_neuron(netuid, validator_miner_hotkey, validator_miner_coldkey, 1); register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 2); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &validator_miner_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &miner_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3165,23 +3169,23 @@ fn test_mining_emission_distribution_with_root_sell() { FirstEmissionBlockNumber::::insert(netuid, 0); // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000)); + SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); register_ok_neuron(netuid, validator_miner_hotkey, validator_miner_coldkey, 1); register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 2); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &validator_miner_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &miner_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3360,8 +3364,8 @@ fn test_coinbase_subnet_terms_with_alpha_in_gt_alpha_emission() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000), - AlphaCurrency::from(1_000_000_000_000_000), + TaoCurrency::from(1_000_000_000_000_000_u64), + AlphaCurrency::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3436,8 +3440,8 @@ fn test_coinbase_subnet_terms_with_alpha_in_lte_alpha_emission() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000), - AlphaCurrency::from(1_000_000_000_000_000), + TaoCurrency::from(1_000_000_000_000_000_u64), + AlphaCurrency::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3499,8 +3503,8 @@ fn test_coinbase_inject_and_maybe_swap_does_not_skew_reserves() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000), - AlphaCurrency::from(1_000_000_000_000_000), + TaoCurrency::from(1_000_000_000_000_000_u64), + AlphaCurrency::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3633,8 +3637,8 @@ fn test_coinbase_emit_to_subnets_with_no_root_sell() { SubnetOwnerCut::::set(u16::MAX / 10); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000), - AlphaCurrency::from(1_000_000_000_000_000), + TaoCurrency::from(1_000_000_000_000_000_u64), + AlphaCurrency::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3724,8 +3728,8 @@ fn test_coinbase_emit_to_subnets_with_root_sell() { SubnetOwnerCut::::set(u16::MAX / 10); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000), - AlphaCurrency::from(1_000_000_000_000_000), + TaoCurrency::from(1_000_000_000_000_000_u64), + AlphaCurrency::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3833,7 +3837,7 @@ fn test_pending_emission_start_call_not_done() { register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - stake + ExistentialDeposit::get(), + TaoCurrency::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3901,8 +3905,8 @@ fn test_root_prop_filled_on_block_step() { SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(1_000_000_000_000u64)); SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid1, tao_reserve); SubnetAlphaIn::::insert(netuid1, alpha_in); SubnetTAO::::insert(netuid2, tao_reserve); diff --git a/pallets/subtensor/src/tests/consensus.rs b/pallets/subtensor/src/tests/consensus.rs index 454f41e2cf..d8eae0d114 100644 --- a/pallets/subtensor/src/tests/consensus.rs +++ b/pallets/subtensor/src/tests/consensus.rs @@ -185,7 +185,7 @@ fn init_run_epochs( }; // let stake: u64 = 1; // alternative test: all nodes receive stake, should be same outcome, except stake - SubtensorModule::add_balance_to_coldkey_account(&(U256::from(key)), stake); + SubtensorModule::add_balance_to_coldkey_account(&(U256::from(key)), stake.into()); SubtensorModule::append_neuron(netuid, &(U256::from(key)), 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &U256::from(key), diff --git a/pallets/subtensor/src/tests/delegate_info.rs b/pallets/subtensor/src/tests/delegate_info.rs index 0553a88fe5..8c04c9d136 100644 --- a/pallets/subtensor/src/tests/delegate_info.rs +++ b/pallets/subtensor/src/tests/delegate_info.rs @@ -119,7 +119,10 @@ fn test_get_delegated() { let Some(delegate) = delegate else { continue; }; - SubtensorModule::add_balance_to_coldkey_account(delegatee, *amount + 500_000); + SubtensorModule::add_balance_to_coldkey_account( + delegatee, + (*amount + 500_000).into(), + ); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(*delegatee), *delegate, diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index 32f754f78d..11831521c3 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -178,7 +178,7 @@ fn init_run_epochs( }; // let stake: u64 = 1; // alternative test: all nodes receive stake, should be same outcome, except stake - SubtensorModule::add_balance_to_coldkey_account(&(U256::from(key)), stake); + SubtensorModule::add_balance_to_coldkey_account(&(U256::from(key)), stake.into()); SubtensorModule::append_neuron(netuid, &(U256::from(key)), 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &U256::from(key), @@ -565,7 +565,7 @@ fn test_1_graph() { SubtensorModule::set_max_allowed_uids(netuid, 1); SubtensorModule::add_balance_to_coldkey_account( &coldkey, - stake_amount + ExistentialDeposit::get(), + TaoCurrency::from(stake_amount) + ExistentialDeposit::get(), ); register_ok_neuron(netuid, hotkey, coldkey, 1); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -1024,7 +1024,7 @@ fn test_bonds() { // === Register [validator1, validator2, validator3, validator4, server1, server2, server3, server4] for key in 0..n as u64 { - SubtensorModule::add_balance_to_coldkey_account( &U256::from(key), max_stake ); + SubtensorModule::add_balance_to_coldkey_account( &U256::from(key), max_stake.into()); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( netuid, block_number, key * 1_000_000, &U256::from(key)); assert_ok!(SubtensorModule::register(<::RuntimeOrigin>::signed(U256::from(key)), netuid, block_number, nonce, work, U256::from(key), U256::from(key))); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &U256::from(key), &U256::from(key), netuid, stakes[key as usize].into() ); @@ -1315,7 +1315,7 @@ fn test_set_alpha_disabled() { // Enable Liquid Alpha and setup SubtensorModule::set_liquid_alpha_enabled(netuid, true); migrations::migrate_create_root_network::migrate_create_root_network::(); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000_u64.into()); assert_ok!(SubtensorModule::root_register(signer.clone(), hotkey,)); let fee = ::SwapInterface::approx_fee_amount( netuid.into(), @@ -1367,7 +1367,7 @@ fn test_active_stake() { // === Register [validator1, validator2, server1, server2] for key in 0..n as u64 { - SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake.into()); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( netuid, block_number, @@ -1585,7 +1585,7 @@ fn test_outdated_weights() { // === Register [validator1, validator2, server1, server2] for key in 0..n as u64 { - SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake.into()); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( netuid, block_number, @@ -1789,7 +1789,7 @@ fn test_zero_weights() { )); } for validator in 0..(n / 2) as u64 { - SubtensorModule::add_balance_to_coldkey_account(&U256::from(validator), stake); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(validator), stake.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &U256::from(validator), &U256::from(validator), @@ -1977,7 +1977,7 @@ fn test_deregistered_miner_bonds() { // === Register [validator1, validator2, server1, server2] let block_number = System::block_number(); for key in 0..n as u64 { - SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), stake.into()); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( netuid, block_number, @@ -2172,7 +2172,7 @@ fn test_validator_permits() { for key in 0..network_n as u64 { SubtensorModule::add_balance_to_coldkey_account( &U256::from(key), - stake[key as usize], + stake[key as usize].into(), ); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( @@ -2223,7 +2223,7 @@ fn test_validator_permits() { for server in &servers { SubtensorModule::add_balance_to_coldkey_account( &(U256::from(*server as u64)), - 2 * network_n as u64, + (2 * network_n as u64).into(), ); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(*server as u64)), @@ -2271,7 +2271,7 @@ fn test_get_set_alpha() { // Enable Liquid Alpha and setup SubtensorModule::set_liquid_alpha_enabled(netuid, true); migrations::migrate_create_root_network::migrate_create_root_network::(); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000_u64.into()); assert_ok!(SubtensorModule::root_register(signer.clone(), hotkey,)); // Should fail as signer does not own the subnet @@ -2465,8 +2465,8 @@ fn test_can_set_self_weight_as_subnet_owner() { let other_hotkey: U256 = U256::from(2); - let stake = 5_000_000_000_000; // 5k TAO - let to_emit: u64 = 1_000_000_000; // 1 TAO + let stake = 5_000_000_000_000_u64; // 5k TAO + let to_emit: u64 = 1_000_000_000_u64; // 1 TAO // Create subnet let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); @@ -2696,7 +2696,7 @@ fn setup_yuma_3_scenario(netuid: NetUid, n: u16, sparse: bool, max_stake: u64, s // === Register for key in 0..n as u64 { - SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), max_stake); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(key), max_stake.into()); let (nonce, work): (u64, Vec) = SubtensorModule::create_work_for_block_number( netuid, block_number, @@ -3833,7 +3833,7 @@ fn test_last_update_size_mismatch() { SubtensorModule::set_max_allowed_uids(netuid, 1); SubtensorModule::add_balance_to_coldkey_account( &coldkey, - stake_amount + ExistentialDeposit::get(), + TaoCurrency::from(stake_amount) + ExistentialDeposit::get(), ); register_ok_neuron(netuid, hotkey, coldkey, 1); SubtensorModule::set_weights_set_rate_limit(netuid, 0); diff --git a/pallets/subtensor/src/tests/leasing.rs b/pallets/subtensor/src/tests/leasing.rs index 9f8bf4d6bf..e9f93c03ba 100644 --- a/pallets/subtensor/src/tests/leasing.rs +++ b/pallets/subtensor/src/tests/leasing.rs @@ -69,7 +69,7 @@ fn test_register_leased_network_works() { assert_eq!(SubtensorModule::get_hotkey_take(&lease.hotkey), 0); // Ensure each contributor and beneficiary has been refunded their share of the leftover cap - let leftover_cap = cap.saturating_sub(lease.cost); + let leftover_cap = cap.saturating_sub(lease.cost.into()); let expected_contributor1_refund = U64F64::from(leftover_cap) .saturating_mul(contributor1_share) @@ -77,7 +77,7 @@ fn test_register_leased_network_works() { .to_num::(); assert_eq!( SubtensorModule::get_coldkey_balance(&contributions[0].0), - expected_contributor1_refund + expected_contributor1_refund.into() ); let expected_contributor2_refund = U64F64::from(leftover_cap) @@ -86,11 +86,11 @@ fn test_register_leased_network_works() { .to_num::(); assert_eq!( SubtensorModule::get_coldkey_balance(&contributions[1].0), - expected_contributor2_refund + expected_contributor2_refund.into() ); assert_eq!( SubtensorModule::get_coldkey_balance(&beneficiary), - leftover_cap - (expected_contributor1_refund + expected_contributor2_refund) + (leftover_cap - (expected_contributor1_refund + expected_contributor2_refund)).into() ); // Ensure the event is emitted @@ -526,11 +526,11 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000); + let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000); + let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were distributed correctly relative to their shares @@ -653,11 +653,11 @@ fn test_distribute_lease_network_dividends_only_beneficiary_works() { assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000); + let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000); + let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were distributed correctly relative to their shares @@ -736,11 +736,11 @@ fn test_distribute_lease_network_dividends_accumulates_if_not_the_correct_block( assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000); + let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000); + let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -840,7 +840,7 @@ fn test_distribute_lease_network_dividends_does_nothing_if_lease_has_ended() { assert_eq!(accumulated_dividends_before, AlphaCurrency::ZERO); // Try to distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000); + let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -1047,13 +1047,15 @@ fn setup_crowdloan( contributions: &[(U256, u64)], ) { let funds_account = U256::from(42424242 + id); + let deposit = TaoCurrency::from(deposit); + let cap = TaoCurrency::from(cap); pallet_crowdloan::Crowdloans::::insert( id, pallet_crowdloan::CrowdloanInfo { creator: beneficiary, deposit, - min_contribution: 0, + min_contribution: TaoCurrency::ZERO, end: 0, cap, raised: cap, @@ -1068,6 +1070,7 @@ fn setup_crowdloan( // Simulate contributions pallet_crowdloan::Contributions::::insert(id, beneficiary, deposit); for (contributor, amount) in contributions { + let amount = TaoCurrency::from(*amount); pallet_crowdloan::Contributions::::insert(id, contributor, amount); } @@ -1096,7 +1099,7 @@ fn setup_leased_network( SubtokenEnabled::::insert(netuid, true); if let Some(tao_to_stake) = tao_to_stake { - SubtensorModule::add_balance_to_coldkey_account(&lease.coldkey, tao_to_stake); + SubtensorModule::add_balance_to_coldkey_account(&lease.coldkey, tao_to_stake.into()); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(lease.coldkey), lease.hotkey, diff --git a/pallets/subtensor/src/tests/mechanism.rs b/pallets/subtensor/src/tests/mechanism.rs index 7f0ead8918..84757e5911 100644 --- a/pallets/subtensor/src/tests/mechanism.rs +++ b/pallets/subtensor/src/tests/mechanism.rs @@ -951,7 +951,7 @@ fn test_set_mechanism_weights_happy_path_sets_row_under_subid() { // Make caller a permitted validator with stake SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); - SubtensorModule::add_balance_to_coldkey_account(&ck1, 1); + SubtensorModule::add_balance_to_coldkey_account(&ck1, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, &ck1, @@ -1008,7 +1008,7 @@ fn test_set_mechanism_weights_above_mechanism_count_fails() { // Make caller a permitted validator with stake SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); - SubtensorModule::add_balance_to_coldkey_account(&ck1, 1); + SubtensorModule::add_balance_to_coldkey_account(&ck1, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, &ck1, @@ -1066,7 +1066,7 @@ fn test_commit_reveal_mechanism_weights_ok() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&ck1, 1); + SubtensorModule::add_balance_to_coldkey_account(&ck1, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, &ck1, @@ -1150,7 +1150,7 @@ fn test_commit_reveal_above_mechanism_count_fails() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&ck1, 1); + SubtensorModule::add_balance_to_coldkey_account(&ck1, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, &ck1, @@ -1237,8 +1237,8 @@ fn test_reveal_crv3_commits_sub_success() { SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); SubtensorModule::set_validator_permit_for_uid(netuid, uid2, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &U256::from(3), netuid, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet(&hotkey2, &U256::from(4), netuid, 1.into()); @@ -1342,7 +1342,7 @@ fn test_crv3_above_mechanism_count_fails() { let uid2 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey2).expect("uid2"); SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &U256::from(3), netuid, 1.into()); let version_key = SubtensorModule::get_weights_version_key(netuid); @@ -1412,7 +1412,7 @@ fn test_do_commit_crv3_mechanism_weights_committing_too_fast() { // make validator with stake SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &U256::from(2), @@ -1523,9 +1523,9 @@ fn epoch_mechanism_emergency_mode_distributes_by_stake() { // (leave Weights/Bonds empty for all rows on this sub-subnet) // stake proportions: uid0:uid1:uid2 = 10:30:60 - SubtensorModule::add_balance_to_coldkey_account(&ck0, 10); - SubtensorModule::add_balance_to_coldkey_account(&ck1, 30); - SubtensorModule::add_balance_to_coldkey_account(&ck2, 60); + SubtensorModule::add_balance_to_coldkey_account(&ck0, 10.into()); + SubtensorModule::add_balance_to_coldkey_account(&ck1, 30.into()); + SubtensorModule::add_balance_to_coldkey_account(&ck2, 60.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk0, &ck0, diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index beec7a3cba..616d3894b0 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -43,7 +43,7 @@ fn test_initialise_ti() { use frame_support::traits::OnRuntimeUpgrade; new_test_ext(1).execute_with(|| { - pallet_balances::TotalIssuance::::put(1000); + pallet_balances::TotalIssuance::::put(TaoCurrency::from(1000)); crate::SubnetTAO::::insert(NetUid::from(1), TaoCurrency::from(100)); crate::SubnetTAO::::insert(NetUid::from(2), TaoCurrency::from(5)); @@ -1178,7 +1178,7 @@ fn test_migrate_fix_root_subnet_tao() { new_test_ext(1).execute_with(|| { const MIGRATION_NAME: &str = "migrate_fix_root_subnet_tao"; - let mut expected_total_stake = 0; + let mut expected_total_stake = 0_u64; // Seed some hotkeys with some fake stake. for i in 0..100_000 { Owner::::insert(U256::from(U256::from(i)), U256::from(i + 1_000_000)); @@ -1221,7 +1221,7 @@ fn test_migrate_fix_root_tao_and_alpha_in() { const MIGRATION_NAME: &str = "migrate_fix_root_tao_and_alpha_in"; // Set counters initially - let initial_value = 1_000_000_000_000; + let initial_value = 1_000_000_000_000_u64; SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(initial_value)); SubnetAlphaIn::::insert(NetUid::ROOT, AlphaCurrency::from(initial_value)); SubnetAlphaOut::::insert(NetUid::ROOT, AlphaCurrency::from(initial_value)); diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index fca61172dc..8431a43755 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -77,7 +77,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = u64; +pub type Balance = TaoCurrency; // An index to a block. #[allow(dead_code)] @@ -137,7 +137,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -160,8 +160,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = 1; - pub const TransactionByteFee: Balance = 100; + pub const ExistentialDeposit: Balance = TaoCurrency::new(1); + pub const TransactionByteFee: Balance = TaoCurrency::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -368,8 +368,8 @@ impl pallet_utility::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = 1; - pub const PreimageByteDeposit: Balance = 1; + pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); + pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); } impl pallet_preimage::Config for Test { @@ -432,17 +432,17 @@ impl pallet_crowdloan::Config for Test { // Proxy Pallet config parameter_types! { // Set as 1 for testing purposes - pub const ProxyDepositBase: Balance = 1; + pub const ProxyDepositBase: Balance = TaoCurrency::new(1); // Set as 1 for testing purposes - pub const ProxyDepositFactor: Balance = 1; + pub const ProxyDepositFactor: Balance = TaoCurrency::new(1); // Set as 20 for testing purposes pub const MaxProxies: u32 = 20; // max num proxies per acct // Set as 15 for testing purposes pub const MaxPending: u32 = 15; // max blocks pending ~15min // Set as 1 for testing purposes - pub const AnnouncementDepositBase: Balance = 1; + pub const AnnouncementDepositBase: Balance = TaoCurrency::new(1); // Set as 1 for testing purposes - pub const AnnouncementDepositFactor: Balance = 1; + pub const AnnouncementDepositFactor: Balance = TaoCurrency::new(1); } impl pallet_proxy::Config for Test { @@ -640,8 +640,8 @@ pub fn test_ext_with_balances(balances: Vec<(U256, u128)>) -> sp_io::TestExterna pallet_balances::GenesisConfig:: { balances: balances .iter() - .map(|(a, b)| (*a, *b as u64)) - .collect::>(), + .map(|(a, b)| (*a, TaoCurrency::from(*b as u64))) + .collect::>(), dev_accounts: None, } .assimilate_storage(&mut t) diff --git a/pallets/subtensor/src/tests/move_stake.rs b/pallets/subtensor/src/tests/move_stake.rs index dfd9927da4..cd423336a7 100644 --- a/pallets/subtensor/src/tests/move_stake.rs +++ b/pallets/subtensor/src/tests/move_stake.rs @@ -861,7 +861,7 @@ fn test_moving_too_little_unstakes() { SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - amount.to_u64() + fee * 2, + amount + (fee * 2).into(), ); assert_ok!(SubtensorModule::add_stake( @@ -1052,7 +1052,10 @@ fn test_do_transfer_wrong_origin() { let fee: u64 = 0; // FIXME: DefaultStakingFee is deprecated SubtensorModule::create_account_if_non_existent(&origin_coldkey, &hotkey); - SubtensorModule::add_balance_to_coldkey_account(&origin_coldkey, stake_amount + fee); + SubtensorModule::add_balance_to_coldkey_account( + &origin_coldkey, + (stake_amount + fee).into(), + ); SubtensorModule::stake_into_subnet( &hotkey, &origin_coldkey, @@ -1136,7 +1139,7 @@ fn test_do_transfer_different_subnets() { SubtensorModule::create_account_if_non_existent(&destination_coldkey, &hotkey); // 4. Deposit free balance so transaction fees do not reduce staked funds. - SubtensorModule::add_balance_to_coldkey_account(&origin_coldkey, 1_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&origin_coldkey, 1_000_000_000.into()); // 5. Stake into the origin subnet. SubtensorModule::stake_into_subnet( @@ -1688,10 +1691,10 @@ fn test_move_stake_specific_stake_into_subnet_fail() { let existing_shares: U64F64 = U64F64::from_num(161_986_254).saturating_div(U64F64::from_num(u64::MAX)); - let existing_stake = AlphaCurrency::from(36_711_495_953); + let existing_stake = AlphaCurrency::from(36_711_495_953_u64); - let tao_in = TaoCurrency::from(2_409_892_148_947); - let alpha_in = AlphaCurrency::from(15_358_708_513_716); + let tao_in = TaoCurrency::from(2_409_892_148_947_u64); + let alpha_in = AlphaCurrency::from(15_358_708_513_716_u64); let tao_staked = 200_000_000; @@ -1729,7 +1732,7 @@ fn test_move_stake_specific_stake_into_subnet_fail() { // Give TAO balance to coldkey SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - tao_staked + 1_000_000_000, + (tao_staked + 1_000_000_000).into(), ); // Setup Subnet pool for origin netuid diff --git a/pallets/subtensor/src/tests/networks.rs b/pallets/subtensor/src/tests/networks.rs index 4605ac8bef..ac6fad1a93 100644 --- a/pallets/subtensor/src/tests/networks.rs +++ b/pallets/subtensor/src/tests/networks.rs @@ -116,7 +116,7 @@ fn dissolve_single_alpha_out_staker_gets_all_tao() { // Cold-key received full pot let after = SubtensorModule::get_coldkey_balance(&s_cold); - assert_eq!(after, before + pot); + assert_eq!(after, before + pot.into()); // No α entries left for dissolved subnet assert!(Alpha::::iter().all(|((_h, _c, n), _)| n != net)); @@ -188,17 +188,17 @@ fn dissolve_two_stakers_pro_rata_distribution() { // Cold-keys received their τ shares assert_eq!( SubtensorModule::get_coldkey_balance(&s1_cold), - s1_before + expected1 + s1_before + expected1.into() ); assert_eq!( SubtensorModule::get_coldkey_balance(&s2_cold), - s2_before + expected2 + s2_before + expected2.into() ); // Owner refunded lock (no emission) assert_eq!( SubtensorModule::get_coldkey_balance(&oc), - owner_before + 5_000 + owner_before + 5_000.into() ); // α entries for dissolved subnet gone @@ -699,7 +699,7 @@ fn dissolve_rounding_remainder_distribution() { let c1_after = SubtensorModule::get_coldkey_balance(&s1c); let c2_after = SubtensorModule::get_coldkey_balance(&s2c); - assert_eq!(c1_after, c1_before + 1); + assert_eq!(c1_after, c1_before + 1.into()); assert_eq!(c2_after, c2_before); // α records for subnet gone; TAO key gone @@ -731,8 +731,8 @@ fn destroy_alpha_out_multiple_stakers_pro_rata() { let s1: u64 = 3u64 * min_total_u64; let s2: u64 = 7u64 * min_total_u64; - SubtensorModule::add_balance_to_coldkey_account(&c1, s1 + 50_000); - SubtensorModule::add_balance_to_coldkey_account(&c2, s2 + 50_000); + SubtensorModule::add_balance_to_coldkey_account(&c1, (s1 + 50_000).into()); + SubtensorModule::add_balance_to_coldkey_account(&c2, (s2 + 50_000).into()); assert_ok!(SubtensorModule::do_add_stake( RuntimeOrigin::signed(c1), @@ -785,17 +785,17 @@ fn destroy_alpha_out_multiple_stakers_pro_rata() { // 9. Cold-key balances must have increased accordingly assert_eq!( SubtensorModule::get_coldkey_balance(&c1), - c1_before + s1_share + c1_before + s1_share.into() ); assert_eq!( SubtensorModule::get_coldkey_balance(&c2), - c2_before + s2_share + c2_before + s2_share.into() ); // 10. Owner refund (5 000 τ) to cold-key (no emission) assert_eq!( SubtensorModule::get_coldkey_balance(&owner_cold), - owner_before + 5_000 + owner_before + 5_000.into() ); // 11. α entries cleared for the subnet @@ -841,7 +841,7 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { stake[i] = (i as u64 + 1u64) * min_amount_u64; // multiples of min_amount register_ok_neuron(netuid, hot[i], cold[i], 0); - SubtensorModule::add_balance_to_coldkey_account(&cold[i], stake[i] + 100_000); + SubtensorModule::add_balance_to_coldkey_account(&cold[i], (stake[i] + 100_000).into()); assert_ok!(SubtensorModule::do_add_stake( RuntimeOrigin::signed(cold[i]), @@ -872,7 +872,7 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { SubnetOwnerCut::::put(32_768u16); // ~ 0.5 in fixed-point // ── 4) balances before ────────────────────────────────────────────── - let mut bal_before = [0u64; N]; + let mut bal_before = [TaoCurrency::new(0); N]; for i in 0..N { bal_before[i] = SubtensorModule::get_coldkey_balance(&cold[i]); } @@ -924,7 +924,7 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { // cold-key balances increased by expected τ share assert_eq!( SubtensorModule::get_coldkey_balance(&cold[i]), - bal_before[i] + share[i], + bal_before[i] + share[i].into(), "staker {i} cold-key balance changed unexpectedly" ); } @@ -932,7 +932,7 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { // owner refund assert_eq!( SubtensorModule::get_coldkey_balance(&owner_cold), - owner_before + expected_refund + owner_before + expected_refund.into() ); // α cleared for dissolved subnet & related counters reset @@ -1004,7 +1004,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { // Owner received their refund… let owner_after = SubtensorModule::get_coldkey_balance(&owner_cold); - assert_eq!(owner_after, owner_before + expected_refund); + assert_eq!(owner_after, owner_before + expected_refund.into()); // …and the lock is always cleared to zero by destroy_alpha_in_out_stakes. assert_eq!( @@ -1384,7 +1384,10 @@ fn register_network_prunes_and_recycles_netuid() { let new_cold = U256::from(30); let new_hot = U256::from(31); let needed: u64 = SubtensorModule::get_network_lock_cost().into(); - SubtensorModule::add_balance_to_coldkey_account(&new_cold, needed.saturating_mul(10)); + SubtensorModule::add_balance_to_coldkey_account( + &new_cold, + needed.saturating_mul(10).into(), + ); assert_ok!(SubtensorModule::do_register_network( RuntimeOrigin::signed(new_cold), @@ -1715,7 +1718,7 @@ fn test_register_subnet_low_lock_cost() { // Make sure lock cost is lower than 100 TAO let lock_cost = SubtensorModule::get_network_lock_cost(); - assert!(lock_cost < 100_000_000_000.into()); + assert!(lock_cost < 100_000_000_000_u64.into()); let subnet_owner_coldkey = U256::from(1); let subnet_owner_hotkey = U256::from(2); @@ -1735,13 +1738,13 @@ fn test_register_subnet_low_lock_cost() { #[test] fn test_register_subnet_high_lock_cost() { new_test_ext(1).execute_with(|| { - let lock_cost = TaoCurrency::from(1_000_000_000_000); + let lock_cost = TaoCurrency::from(1_000_000_000_000_u64); NetworkMinLockCost::::set(lock_cost); NetworkLastLockCost::::set(lock_cost); // Make sure lock cost is higher than 100 TAO let lock_cost = SubtensorModule::get_network_lock_cost(); - assert!(lock_cost >= 1_000_000_000_000.into()); + assert!(lock_cost >= 1_000_000_000_000_u64.into()); let subnet_owner_coldkey = U256::from(1); let subnet_owner_hotkey = U256::from(2); @@ -1883,7 +1886,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( // 3) LPs per net: register each (hot, cold), massive τ prefund, and stake // ──────────────────────────────────────────────────────────────────── for &cold in cold_lps.iter() { - SubtensorModule::add_balance_to_coldkey_account(&cold, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&cold, u64::MAX.into()); } // τ balances before LP adds (after staking): @@ -1935,7 +1938,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( // Record τ balances now (post‑stake, pre‑LP). for &cold in cold_lps.iter() { - tao_before.insert(cold, SubtensorModule::get_coldkey_balance(&cold)); + tao_before.insert(cold, SubtensorModule::get_coldkey_balance(&cold).into()); } // Capture **pair‑level** α snapshot per net (pre‑LP). @@ -1973,7 +1976,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( // Snapshot τ balances AFTER LP adds (to measure actual principal debit). let mut tao_after_adds: BTreeMap = BTreeMap::new(); for &cold in cold_lps.iter() { - tao_after_adds.insert(cold, SubtensorModule::get_coldkey_balance(&cold)); + tao_after_adds.insert(cold, SubtensorModule::get_coldkey_balance(&cold).into()); } // ──────────────────────────────────────────────────────────────────── @@ -2032,7 +2035,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( for &cold in cold_lps.iter() { let before = tao_before[&cold]; let after = SubtensorModule::get_coldkey_balance(&cold); - actual_pot_cold.insert(cold, after.saturating_sub(before)); + actual_pot_cold.insert(cold, after.saturating_sub(before.into()).into()); } // (a) Sum of actual pot credits equals total pots. @@ -2074,10 +2077,10 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( let mid = tao_after_adds[&cold]; let after = SubtensorModule::get_coldkey_balance(&cold); let principal_actual = before.saturating_sub(mid); - let actual_pot = after.saturating_sub(before); + let actual_pot = after.saturating_sub(before.into()); assert_eq!( - after.saturating_sub(mid), - principal_actual.saturating_add(actual_pot), + after.saturating_sub(mid.into()), + principal_actual.saturating_add(actual_pot.into()).into(), "cold {cold:?} τ balance incorrect vs 'after_adds'" ); } @@ -2202,7 +2205,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( // τ decreased by exactly the amount we sent. assert_eq!( after_tao, - before_tao.saturating_sub(min_amount_required), + before_tao.saturating_sub(min_amount_required.into()), "τ did not decrease by the min required restake amount for cold {cold:?}" ); diff --git a/pallets/subtensor/src/tests/recycle_alpha.rs b/pallets/subtensor/src/tests/recycle_alpha.rs index a49a029805..fec4e11bea 100644 --- a/pallets/subtensor/src/tests/recycle_alpha.rs +++ b/pallets/subtensor/src/tests/recycle_alpha.rs @@ -19,7 +19,7 @@ fn test_recycle_success() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -75,7 +75,7 @@ fn test_recycle_two_stakers() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -145,7 +145,7 @@ fn test_recycle_staker_is_nominator() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -218,7 +218,7 @@ fn test_burn_success() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -274,7 +274,7 @@ fn test_burn_staker_is_nominator() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -344,7 +344,7 @@ fn test_burn_two_stakers() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); // associate coldkey and hotkey SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -416,7 +416,7 @@ fn test_recycle_errors() { migrations::migrate_create_root_network::migrate_create_root_network::(); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -488,7 +488,7 @@ fn test_burn_errors() { migrations::migrate_create_root_network::migrate_create_root_network::(); let initial_balance = 1_000_000_000; - Balances::make_free_balance_be(&coldkey, initial_balance); + Balances::make_free_balance_be(&coldkey, initial_balance.into()); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -553,7 +553,7 @@ fn test_recycle_precision_loss() { let netuid = add_dynamic_network(&hotkey, &coldkey); - Balances::make_free_balance_be(&coldkey, 1_000_000_000); + Balances::make_free_balance_be(&coldkey, 1_000_000_000.into()); // sanity check assert!(SubtensorModule::if_subnet_exist(netuid)); @@ -590,7 +590,7 @@ fn test_burn_precision_loss() { let netuid = add_dynamic_network(&hotkey, &coldkey); - Balances::make_free_balance_be(&coldkey, 1_000_000_000); + Balances::make_free_balance_be(&coldkey, 1_000_000_000.into()); // sanity check assert!(SubtensorModule::if_subnet_exist(netuid)); @@ -634,7 +634,7 @@ fn test_subnet_buyback_success() { (amount * 10_000_000).into(), ); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Check we have zero staked before transfer assert_eq!( @@ -660,8 +660,8 @@ fn test_subnet_buyback_success() { // We spent TAO assert_abs_diff_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - 0u64, - epsilon = 1u64 + 0u64.into(), + epsilon = 1u64.into() ); // Verify AlphaBurned event was emitted @@ -693,8 +693,8 @@ fn test_subnet_buyback_with_limit_success() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Setup reserves with large liquidity to minimize slippage - let tao_reserve = TaoCurrency::from(1_000_000_000_000); // 1000 TAO - let alpha_in = AlphaCurrency::from(1_000_000_000_000); // 1000 Alpha + let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); // 1000 TAO + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); // 1000 Alpha mock::setup_reserves(netuid, tao_reserve, alpha_in); // Verify current price is 1.0 @@ -703,7 +703,7 @@ fn test_subnet_buyback_with_limit_success() { assert_eq!(current_price, U96F32::from_num(1.0)); // Give coldkey sufficient balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); let initial_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); @@ -770,7 +770,7 @@ fn test_subnet_buyback_non_owner_fails() { ); // Give non-owner some balance - SubtensorModule::add_balance_to_coldkey_account(&non_owner_coldkey, amount); + SubtensorModule::add_balance_to_coldkey_account(&non_owner_coldkey, amount.into()); // Non-owner trying to call subnet_buyback should fail with BadOrigin assert_noop!( @@ -794,7 +794,7 @@ fn test_subnet_buyback_nonexistent_subnet_fails() { let amount = DefaultMinStake::::get().to_u64() * 10; // Give some balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Try to call subnet_buyback on non-existent subnet let nonexistent_netuid = NetUid::from(999); @@ -852,12 +852,12 @@ fn test_subnet_buyback_rate_limit_exceeded() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Setup reserves with large liquidity - let tao_reserve = TaoCurrency::from(1_000_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Give coldkey sufficient balance for multiple buybacks - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount * 10); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, (amount * 10).into()); assert_eq!( SubtensorModule::get_rate_limited_last_block(&RateLimitKey::SubnetBuyback(netuid)), diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index 635b996cea..ebbacc56d2 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -291,12 +291,15 @@ fn test_burned_registration_under_limit() { // Set the burn cost SubtensorModule::set_burn(netuid, burn_cost.into()); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); add_network(netuid, 13, 0); // Add the network // Give it some TAO to the coldkey balance; more than the burn cost - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, burn_cost + 10_000); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id, + (burn_cost + 10_000).into(), + ); let target_registrants = 2; let max_registrants = target_registrants * 3; // Maximum is 3 times the target @@ -391,12 +394,15 @@ fn test_burned_registration_rate_allows_burn_adjustment() { // Set the burn cost SubtensorModule::set_burn(netuid, burn_cost.into()); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); add_network(netuid, 13, 0); // Add the network // Give it some TAO to the coldkey balance; more than the burn cost - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, burn_cost + 10_000); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id, + (burn_cost + 10_000).into(), + ); let target_registrants = 1; // Target is 1, but we can register more than that, up to some maximum. SubtensorModule::set_target_registrations_per_interval(netuid, target_registrants); @@ -448,11 +454,11 @@ fn test_burned_registration_ok() { SubtensorModule::set_burn(netuid, burn_cost.into()); add_network(netuid, tempo, 0); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); // Subscribe and check extrinsic output assert_ok!(SubtensorModule::burned_register( <::RuntimeOrigin>::signed(coldkey_account_id), @@ -462,7 +468,7 @@ fn test_burned_registration_ok() { // Check if balance has decreased to pay for the burn. assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - 10000 - burn_cost + (10000 - burn_cost).into() ); // funds drained on reg. // Check if neuron has added to the specified network(netuid) assert_eq!(SubtensorModule::get_subnetwork_n(netuid), 1); @@ -499,7 +505,7 @@ fn test_burn_registration_without_neuron_slot() { SubtensorModule::set_burn(netuid, burn_cost.into()); add_network(netuid, tempo, 0); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); SubtensorModule::set_max_allowed_uids(netuid, 0); assert_noop!( @@ -527,7 +533,10 @@ fn test_burn_registration_doesnt_write_on_failure() { add_network(netuid, tempo, 0); SubtensorModule::set_burn(netuid, burn_cost.into()); // Give coldkey balance to pay for registration - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, initial_balance); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id, + initial_balance.into(), + ); // Set max allowed uids to 0 so registration will fail, but only on last check. SubtensorModule::set_max_allowed_uids(netuid, 0); @@ -544,7 +553,7 @@ fn test_burn_registration_doesnt_write_on_failure() { // Make sure the coldkey balance is unchanged. assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - initial_balance + initial_balance.into() ); // Make sure the neuron is not registered. assert_eq!(SubtensorModule::get_subnetwork_n(netuid), 0); @@ -570,13 +579,16 @@ fn test_burn_adjustment() { target_registrations_per_interval, ); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Register key 1. let hotkey_account_id_1 = U256::from(1); let coldkey_account_id_1 = U256::from(1); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id_1, init_burn_cost); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id_1, + init_burn_cost.into(), + ); assert_ok!(SubtensorModule::burned_register( <::RuntimeOrigin>::signed(hotkey_account_id_1), netuid, @@ -586,7 +598,10 @@ fn test_burn_adjustment() { // Register key 2. let hotkey_account_id_2 = U256::from(2); let coldkey_account_id_2 = U256::from(2); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id_2, init_burn_cost); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id_2, + init_burn_cost.into(), + ); assert_ok!(SubtensorModule::burned_register( <::RuntimeOrigin>::signed(hotkey_account_id_2), netuid, @@ -630,13 +645,13 @@ fn test_burn_registration_pruning_scenarios() { SubtensorModule::set_target_registrations_per_interval(netuid, max_allowed_uids); SubtensorModule::set_immunity_period(netuid, immunity_period); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); add_network(netuid, tempo, 0); let mint_balance = burn_cost * max_allowed_uids as u64 + 1_000_000_000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, mint_balance); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, mint_balance.into()); // Register first half of neurons (uids: 0,1,2); all will be immune initially. for i in 0..3 { @@ -1591,7 +1606,7 @@ fn test_burn_registration_increase_recycled_rao() { let _ = Balances::deposit_creating(&coldkey_account_id, Balance::from(1_000_000_000_000_u64)); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); mock::setup_reserves(netuid2, reserve.into(), reserve.into()); @@ -2135,7 +2150,7 @@ fn test_last_update_correctness() { SubtensorModule::set_burn(netuid, burn_cost.into()); add_network(netuid, tempo, 0); - let reserve = 1_000_000_000_000; + let reserve = 1_000_000_000_000_u64; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Simulate existing neurons @@ -2146,7 +2161,7 @@ fn test_last_update_correctness() { LastUpdate::::remove(NetUidStorageIndex::from(netuid)); // Give some $$$ to coldkey - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); // Subscribe and check extrinsic output assert_ok!(SubtensorModule::burned_register( <::RuntimeOrigin>::signed(coldkey_account_id), diff --git a/pallets/subtensor/src/tests/staking.rs b/pallets/subtensor/src/tests/staking.rs index 6c7e18b707..9c37455ca5 100644 --- a/pallets/subtensor/src/tests/staking.rs +++ b/pallets/subtensor/src/tests/staking.rs @@ -58,7 +58,7 @@ fn test_add_stake_ok_no_emission() { ); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Check we have zero staked before transfer assert_eq!( @@ -101,7 +101,10 @@ fn test_add_stake_ok_no_emission() { ); // Check if balance has decreased - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 1); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_account_id), + 1.into() + ); // Check if total stake has increased accordingly. assert_eq!( @@ -195,7 +198,7 @@ fn test_add_stake_not_registered_key_pair() { let hotkey_account_id = U256::from(54544); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); let amount = DefaultMinStake::::get().to_u64() * 10; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); assert_err!( SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey_account_id), @@ -239,7 +242,7 @@ fn test_add_stake_err_not_enough_belance() { let netuid = add_dynamic_network(&hotkey_id, &coldkey_id); // Lets try to stake with 0 balance in cold key account - assert!(SubtensorModule::get_coldkey_balance(&coldkey_id) < stake.to_u64()); + assert!(SubtensorModule::get_coldkey_balance(&coldkey_id) < stake); assert_err!( SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey_id), @@ -264,7 +267,10 @@ fn test_add_stake_total_balance_no_change() { // Give it some $$$ in his coldkey balance let initial_balance = 10000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, initial_balance); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id, + initial_balance.into(), + ); // Check we have zero staked before transfer let initial_stake = SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id); @@ -272,7 +278,7 @@ fn test_add_stake_total_balance_no_change() { // Check total balance is equal to initial balance let initial_total_balance = Balances::total_balance(&coldkey_account_id); - assert_eq!(initial_total_balance, initial_balance); + assert_eq!(initial_total_balance, initial_balance.into()); // Also total stake should be zero assert_eq!(SubtensorModule::get_total_stake(), TaoCurrency::ZERO); @@ -291,7 +297,7 @@ fn test_add_stake_total_balance_no_change() { // Check if free balance has decreased let new_free_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); - assert_eq!(new_free_balance, 0); + assert_eq!(new_free_balance, 0.into()); // Check if total stake has increased accordingly. assert_eq!(SubtensorModule::get_total_stake(), 10000.into()); @@ -314,7 +320,10 @@ fn test_add_stake_total_issuance_no_change() { // Give it some $$$ in his coldkey balance let initial_balance = 10000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, initial_balance); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey_account_id, + initial_balance.into(), + ); // Check we have zero staked before transfer let initial_stake = SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id); @@ -322,11 +331,11 @@ fn test_add_stake_total_issuance_no_change() { // Check total balance is equal to initial balance let initial_total_balance = Balances::total_balance(&coldkey_account_id); - assert_eq!(initial_total_balance, initial_balance); + assert_eq!(initial_total_balance, initial_balance.into()); // Check total issuance is equal to initial balance let initial_total_issuance = Balances::total_issuance(); - assert_eq!(initial_total_issuance, initial_balance); + assert_eq!(initial_total_issuance, initial_balance.into()); // Also total stake should be zero assert_eq!(SubtensorModule::get_total_stake(), TaoCurrency::ZERO); @@ -345,7 +354,7 @@ fn test_add_stake_total_issuance_no_change() { // Check if free balance has decreased let new_free_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); - assert_eq!(new_free_balance, 0); + assert_eq!(new_free_balance, 0.into()); // Check if total stake has increased accordingly. assert_eq!(SubtensorModule::get_total_stake(), 10000.into()); @@ -400,7 +409,10 @@ fn test_remove_stake_ok_no_emission() { SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), TaoCurrency::ZERO ); - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 0); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_account_id), + 0.into() + ); // Give the neuron some stake to remove SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -431,7 +443,7 @@ fn test_remove_stake_ok_no_emission() { // we do not expect the exact amount due to slippage assert!( SubtensorModule::get_coldkey_balance(&coldkey_account_id) - > amount.to_u64() / 10 * 9 - fee + > (amount.to_u64() / 10 * 9 - fee).into() ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), @@ -466,7 +478,10 @@ fn test_remove_stake_amount_too_low() { SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), TaoCurrency::ZERO ); - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 0); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_account_id), + 0.into() + ); // Give the neuron some stake to remove SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -511,7 +526,10 @@ fn test_remove_stake_below_min_stake() { SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), TaoCurrency::ZERO ); - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 0); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_account_id), + 0.into() + ); // Give the neuron some stake to remove SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -565,7 +583,7 @@ fn test_add_stake_partial_below_min_stake_fails() { let amount = min_stake.to_u64() * 2; SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - amount + ExistentialDeposit::get(), + TaoCurrency::from(amount) + ExistentialDeposit::get(), ); // Setup reserves so that price is 1.0 and init swap @@ -575,7 +593,7 @@ fn test_add_stake_partial_below_min_stake_fails() { SubtensorModule::swap_tao_for_alpha( netuid, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -701,9 +719,12 @@ fn test_remove_stake_total_balance_no_change() { SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), TaoCurrency::ZERO ); - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_account_id), 0); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_account_id), + 0.into() + ); let initial_total_balance = Balances::total_balance(&coldkey_account_id); - assert_eq!(initial_total_balance, 0); + assert_eq!(initial_total_balance, 0.into()); // Give the neuron some stake to remove SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -736,8 +757,8 @@ fn test_remove_stake_total_balance_no_change() { .to_u64(); assert_abs_diff_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - amount - fee, - epsilon = amount / 1000, + (amount - fee).into(), + epsilon = (amount / 1000).into(), ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), @@ -751,7 +772,11 @@ fn test_remove_stake_total_balance_no_change() { // Check total balance is equal to the added stake. Even after remove stake (no fee, includes reserved/locked balance) let total_balance = Balances::total_balance(&coldkey_account_id); - assert_abs_diff_eq!(total_balance, amount - fee, epsilon = amount / 1000); + assert_abs_diff_eq!( + total_balance, + (amount - fee).into(), + epsilon = (amount / 1000).into() + ); }); } @@ -766,7 +791,7 @@ fn test_add_stake_insufficient_liquidity() { let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked.into()); // Set the liquidity at lowest possible value so that all staking requests fail let reserve = u64::from(mock::SwapMinimumReserve::get()) - 1; @@ -797,7 +822,7 @@ fn test_add_stake_insufficient_liquidity_one_side_ok() { let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked.into()); // Set the liquidity at lowest possible value so that all staking requests fail let reserve_alpha = u64::from(mock::SwapMinimumReserve::get()); @@ -826,7 +851,7 @@ fn test_add_stake_insufficient_liquidity_one_side_fail() { let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked.into()); // Set the liquidity at lowest possible value so that all staking requests fail let reserve_alpha = u64::from(mock::SwapMinimumReserve::get()) - 1; @@ -857,7 +882,7 @@ fn test_remove_stake_insufficient_liquidity() { let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount_staked.into()); // Simulate stake for hotkey let reserve = u64::MAX / 1000; @@ -911,7 +936,7 @@ fn test_remove_stake_total_issuance_no_change() { register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); mock::setup_reserves(netuid, (amount * 100).into(), (amount * 100).into()); @@ -926,10 +951,10 @@ fn test_remove_stake_total_issuance_no_change() { ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - amount + amount.into() ); let initial_total_balance = Balances::total_balance(&coldkey_account_id); - assert_eq!(initial_total_balance, amount); + assert_eq!(initial_total_balance, amount.into()); let inital_total_issuance = Balances::total_issuance(); // Stake to hotkey account, and check if the result is ok @@ -965,8 +990,8 @@ fn test_remove_stake_total_issuance_no_change() { assert_abs_diff_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - amount - total_fee, - epsilon = 50 + (amount - total_fee).into(), + epsilon = 50.into() ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), @@ -982,16 +1007,16 @@ fn test_remove_stake_total_issuance_no_change() { // includes reserved/locked balance) assert_abs_diff_eq!( inital_total_issuance, - total_issuance_after_stake + amount, - epsilon = 1, + total_issuance_after_stake + amount.into(), + epsilon = 1.into(), ); // After staking + unstaking the 2 * fee amount stays in SubnetTAO and TotalStake, // so the total issuance should be lower by that amount assert_abs_diff_eq!( inital_total_issuance, - total_issuance_after_unstake + total_fee, - epsilon = inital_total_issuance / 10000, + total_issuance_after_unstake + total_fee.into(), + epsilon = inital_total_issuance / 10000.into(), ); }); } @@ -1032,7 +1057,7 @@ fn test_remove_prev_epoch_stake() { register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); AlphaDividendsPerSubnet::::insert(netuid, hotkey_account_id, alpha_divs); TotalHotkeyAlphaLastEpoch::::insert(hotkey_account_id, netuid, hotkey_alpha); let balance_before = SubtensorModule::get_coldkey_balance(&coldkey_account_id); @@ -1071,7 +1096,7 @@ fn test_remove_prev_epoch_stake() { let balance_after = SubtensorModule::get_coldkey_balance(&coldkey_account_id); let actual_fee = balance_before - balance_after; - assert_abs_diff_eq!(actual_fee, fee, epsilon = fee / 100); + assert_abs_diff_eq!(actual_fee, fee.into(), epsilon = (fee / 100).into()); }); }); } @@ -1084,14 +1109,14 @@ fn test_staking_sets_div_variables() { let subnet_owner_hotkey = U256::from(2); let hotkey_account_id = U256::from(581337); let coldkey_account_id = U256::from(81337); - let amount = 100_000_000_000; + let amount = 100_000_000_000_u64; let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); let tempo = 10; Tempo::::insert(netuid, tempo); register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Verify that divident variables are clear in the beginning assert_eq!( @@ -1152,7 +1177,7 @@ fn test_get_coldkey_balance_no_balance() { let result = SubtensorModule::get_coldkey_balance(&coldkey_account_id); // Arbitrary account should have 0 balance - assert_eq!(result, 0); + assert_eq!(result, 0.into()); }); } @@ -1163,12 +1188,12 @@ fn test_get_coldkey_balance_with_balance() { let amount = 1337; // Put the balance on the account - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); let result = SubtensorModule::get_coldkey_balance(&coldkey_account_id); // Arbitrary account should have 0 balance - assert_eq!(result, amount); + assert_eq!(result, amount.into()); }); } @@ -1351,8 +1376,11 @@ fn test_add_balance_to_coldkey_account_ok() { new_test_ext(1).execute_with(|| { let coldkey_id = U256::from(4444322); let amount = 50000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, amount); - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey_id), amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, amount.into()); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey_id), + amount.into() + ); }); } @@ -1363,16 +1391,18 @@ fn test_add_balance_to_coldkey_account_ok() { fn test_remove_balance_from_coldkey_account_ok() { new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(434324); // Random - let ammount = 10000; // Arbitrary + let amount = 10000; // Arbitrary // Put some $$ on the bank - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, ammount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - ammount + amount.into() ); // Should be able to withdraw without hassle - let result = - SubtensorModule::remove_balance_from_coldkey_account(&coldkey_account_id, ammount); + let result = SubtensorModule::remove_balance_from_coldkey_account( + &coldkey_account_id, + amount.into(), + ); assert!(result.is_ok()); }); } @@ -1381,12 +1411,14 @@ fn test_remove_balance_from_coldkey_account_ok() { fn test_remove_balance_from_coldkey_account_failed() { new_test_ext(1).execute_with(|| { let coldkey_account_id = U256::from(434324); // Random - let ammount = 10000; // Arbitrary + let amount = 10000; // Arbitrary // Try to remove stake from the coldkey account. This should fail, // as there is no balance, nor does the account exist - let result = - SubtensorModule::remove_balance_from_coldkey_account(&coldkey_account_id, ammount); + let result = SubtensorModule::remove_balance_from_coldkey_account( + &coldkey_account_id, + amount.into(), + ); assert_eq!(result, Err(Error::::ZeroBalanceAfterWithdrawn.into())); }); } @@ -1419,10 +1451,10 @@ fn test_can_remove_balane_from_coldkey_account_ok() { let coldkey_id = U256::from(87987984); let initial_amount = 10000; let remove_amount = 5000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, initial_amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, initial_amount.into()); assert!(SubtensorModule::can_remove_balance_from_coldkey_account( &coldkey_id, - remove_amount + remove_amount.into() )); }); } @@ -1433,10 +1465,10 @@ fn test_can_remove_balance_from_coldkey_account_err_insufficient_balance() { let coldkey_id = U256::from(87987984); let initial_amount = 10000; let remove_amount = 20000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, initial_amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_id, initial_amount.into()); assert!(!SubtensorModule::can_remove_balance_from_coldkey_account( &coldkey_id, - remove_amount + remove_amount.into() )); }); } @@ -1633,8 +1665,8 @@ fn test_clear_small_nominations() { let cold1 = U256::from(3); let cold2 = U256::from(4); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); - let amount = DefaultMinStake::::get().to_u64() * 10; - let fee = DefaultMinStake::::get().to_u64(); + let amount = DefaultMinStake::::get() * 10.into(); + let fee = DefaultMinStake::::get(); let init_balance = amount + fee + ExistentialDeposit::get(); // Register hot1. @@ -1753,7 +1785,7 @@ fn test_delegate_take_can_be_decreased() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1788,7 +1820,7 @@ fn test_can_set_min_take_ok() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1820,7 +1852,7 @@ fn test_delegate_take_can_not_be_increased_with_decrease_take() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1855,7 +1887,7 @@ fn test_delegate_take_can_be_increased() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1890,7 +1922,7 @@ fn test_delegate_take_can_not_be_decreased_with_increase_take() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1929,7 +1961,7 @@ fn test_delegate_take_can_be_increased_to_limit() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -1967,7 +1999,7 @@ fn test_delegate_take_can_not_be_increased_beyond_limit() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -2009,7 +2041,7 @@ fn test_rate_limits_enforced_on_increase_take() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -2069,7 +2101,7 @@ fn test_rate_limits_enforced_on_decrease_before_increase_take() { let coldkey0 = U256::from(3); // Add balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey0, 100000.into()); // Register the neuron to a new network let netuid = NetUid::from(1); @@ -2139,7 +2171,7 @@ fn test_get_total_delegated_stake_after_unstaking() { register_ok_neuron(netuid, delegate_hotkey, delegate_coldkey, 0); // Add balance to delegator - SubtensorModule::add_balance_to_coldkey_account(&delegator, initial_stake); + SubtensorModule::add_balance_to_coldkey_account(&delegator, initial_stake.into()); // Delegate stake let (_, fee) = mock::swap_tao_to_alpha(netuid, initial_stake.into()); @@ -2153,12 +2185,12 @@ fn test_get_total_delegated_stake_after_unstaking() { // Check initial delegated stake assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&delegator), - (initial_stake - existential_deposit - fee).into(), + (initial_stake - u64::from(existential_deposit) - fee).into(), epsilon = TaoCurrency::from(initial_stake / 100), ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&delegate_hotkey), - (initial_stake - existential_deposit - fee).into(), + (initial_stake - u64::from(existential_deposit) - fee).into(), epsilon = TaoCurrency::from(initial_stake / 100), ); let delegated_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -2182,7 +2214,8 @@ fn test_get_total_delegated_stake_after_unstaking() { // Calculate the expected delegated stake let unstake_amount = (current_price * U96F32::from_num(unstake_amount_alpha)).to_num::(); - let expected_delegated_stake = initial_stake - unstake_amount - existential_deposit - fee; + let expected_delegated_stake: u64 = + initial_stake - unstake_amount - u64::from(existential_deposit) - fee; // Debug prints log::debug!("Initial stake: {initial_stake}"); @@ -2241,7 +2274,7 @@ fn test_get_total_delegated_stake_single_delegator() { register_ok_neuron(netuid, delegate_hotkey, delegate_coldkey, 0); // Add stake from delegator - SubtensorModule::add_balance_to_coldkey_account(&delegator, stake_amount); + SubtensorModule::add_balance_to_coldkey_account(&delegator, stake_amount.into()); let (_, fee) = mock::swap_tao_to_alpha(netuid, stake_amount.into()); @@ -2268,7 +2301,7 @@ fn test_get_total_delegated_stake_single_delegator() { ); // Calculate expected delegated stake - let expected_delegated_stake = stake_amount - existential_deposit - fee; + let expected_delegated_stake = stake_amount - u64::from(existential_deposit) - fee; let actual_delegated_stake = SubtensorModule::get_total_stake_for_hotkey(&delegate_hotkey); let actual_delegator_stake = SubtensorModule::get_total_stake_for_coldkey(&delegator); @@ -2294,7 +2327,7 @@ fn test_get_alpha_share_stake_multiple_delegators() { let hotkey2 = U256::from(20); let coldkey1 = U256::from(3); let coldkey2 = U256::from(4); - let existential_deposit = 2; + let existential_deposit = TaoCurrency::from(2); let stake1 = DefaultMinStake::::get() * 10.into(); let stake2 = DefaultMinStake::::get() * 10.into() - 1.into(); @@ -2303,10 +2336,7 @@ fn test_get_alpha_share_stake_multiple_delegators() { register_ok_neuron(netuid, hotkey2, coldkey2, 0); // Add stake from delegator1 - SubtensorModule::add_balance_to_coldkey_account( - &coldkey1, - stake1.to_u64() + existential_deposit, - ); + SubtensorModule::add_balance_to_coldkey_account(&coldkey1, stake1 + existential_deposit); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey1), hotkey1, @@ -2315,10 +2345,7 @@ fn test_get_alpha_share_stake_multiple_delegators() { )); // Add stake from delegator2 - SubtensorModule::add_balance_to_coldkey_account( - &coldkey2, - stake2.to_u64() + existential_deposit, - ); + SubtensorModule::add_balance_to_coldkey_account(&coldkey2, stake2 + existential_deposit); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey2), hotkey2, @@ -2359,7 +2386,7 @@ fn test_get_total_delegated_stake_exclude_owner_stake() { let netuid = add_dynamic_network(&delegate_hotkey, &delegate_coldkey); // Add owner stake - SubtensorModule::add_balance_to_coldkey_account(&delegate_coldkey, owner_stake); + SubtensorModule::add_balance_to_coldkey_account(&delegate_coldkey, owner_stake.into()); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(delegate_coldkey), delegate_hotkey, @@ -2368,7 +2395,7 @@ fn test_get_total_delegated_stake_exclude_owner_stake() { )); // Add delegator stake - SubtensorModule::add_balance_to_coldkey_account(&delegator, delegator_stake); + SubtensorModule::add_balance_to_coldkey_account(&delegator, delegator_stake.into()); let (_, fee) = mock::swap_tao_to_alpha(netuid, delegator_stake.into()); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(delegator), @@ -2403,7 +2430,7 @@ fn test_mining_emission_distribution_validator_valiminer_miner() { let miner_hotkey = U256::from(6); let netuid = NetUid::from(1); let subnet_tempo = 10; - let stake = 100_000_000_000; + let stake = TaoCurrency::from(100_000_000_000_u64); // Add network, register hotkeys, and setup network parameters add_network(netuid, subnet_tempo, 0); @@ -2509,7 +2536,7 @@ fn test_staking_too_little_fails() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Coldkey / hotkey 0 decreases take to 5%. This should fail as the minimum take is 9% assert_err!( @@ -2541,7 +2568,7 @@ fn test_add_stake_fee_goes_to_subnet_tao() { let subnet_tao_before = SubnetTAO::::get(netuid); // Add stake - SubtensorModule::add_balance_to_coldkey_account(&coldkey, tao_to_stake.to_u64()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, tao_to_stake); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey), hotkey, @@ -2550,7 +2577,7 @@ fn test_add_stake_fee_goes_to_subnet_tao() { )); // Calculate expected stake - let expected_alpha = AlphaCurrency::from(tao_to_stake.to_u64() - existential_deposit); + let expected_alpha = AlphaCurrency::from((tao_to_stake - existential_deposit).to_u64()); let actual_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); let subnet_tao_after = SubnetTAO::::get(netuid); @@ -2617,8 +2644,8 @@ fn test_remove_stake_fee_goes_to_subnet_tao() { let balance_after = SubtensorModule::get_coldkey_balance(&coldkey); assert_abs_diff_eq!( balance_after, - tao_to_stake.to_u64(), - epsilon = tao_to_stake.to_u64() / 1000 + tao_to_stake, + epsilon = tao_to_stake / 1000.into() ); }); } @@ -2632,7 +2659,7 @@ fn test_remove_stake_fee_realistic_values() { let subnet_owner_hotkey = U256::from(1002); let hotkey = U256::from(2); let coldkey = U256::from(3); - let alpha_to_unstake = AlphaCurrency::from(111_180_000_000); + let alpha_to_unstake = AlphaCurrency::from(111_180_000_000_u64); let alpha_divs = AlphaCurrency::from(2_816_190); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); @@ -2673,10 +2700,14 @@ fn test_remove_stake_fee_realistic_values() { let balance_after = SubtensorModule::get_coldkey_balance(&coldkey); // FIXME since fee is calculated by SwapInterface and the values here are after fees, the // actual_fee is 0. but it's left here to discuss in review - let actual_fee = expected_tao.to_u64() - (balance_after - balance_before); + let actual_fee = expected_tao - (balance_after - balance_before); log::info!("Actual fee: {actual_fee:?}"); - assert_abs_diff_eq!(actual_fee, expected_fee, epsilon = expected_fee / 1000); + assert_abs_diff_eq!( + actual_fee, + expected_fee.into(), + epsilon = (expected_fee / 1000).into() + ); }); } @@ -2688,11 +2719,11 @@ fn test_stake_overflow() { let coldkey_account_id = U256::from(435445); let hotkey_account_id = U256::from(54544); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); - let amount = 21_000_000_000_000_000; // Max TAO supply + let amount = 21_000_000_000_000_000_u64; // Max TAO supply register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Setup liquidity with 21M TAO values mock::setup_reserves(netuid, amount.into(), amount.into()); @@ -2882,7 +2913,7 @@ fn test_max_amount_add_dynamic() { SubtensorModule::swap_tao_for_alpha( netuid, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -3003,8 +3034,8 @@ fn test_max_amount_remove_dynamic() { [ // Zero handling (no panics) ( - 0, - 1_000_000_000, + 0_u64, + 1_000_000_000_u64, 100, Err(DispatchError::from( pallet_subtensor_swap::Error::::ReservesTooLow, @@ -3278,8 +3309,8 @@ fn test_max_amount_move_stable_dynamic() { let dynamic_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); // Force-set alpha in and tao reserve to make price equal 0.5 - let tao_reserve = TaoCurrency::from(50_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(50_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(dynamic_netuid, tao_reserve); SubnetAlphaIn::::insert(dynamic_netuid, alpha_in); let current_price = @@ -3309,7 +3340,7 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::from(3_000_000_000) + TaoCurrency::from(3_000_000_000_u64) ), Err(pallet_subtensor_swap::Error::::PriceLimitExceeded.into()) ); @@ -3378,8 +3409,8 @@ fn test_max_amount_move_dynamic_stable() { let dynamic_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(dynamic_netuid, tao_reserve); SubnetAlphaIn::::insert(dynamic_netuid, alpha_in); let current_price = @@ -3454,7 +3485,7 @@ fn test_max_amount_move_dynamic_stable() { assert!( SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, TaoCurrency::MAX) .unwrap_or(AlphaCurrency::ZERO) - < 21_000_000_000_000_000.into() + < 21_000_000_000_000_000_u64.into() ); assert!( SubtensorModule::get_max_amount_move( @@ -3463,7 +3494,7 @@ fn test_max_amount_move_dynamic_stable() { TaoCurrency::MAX - 1.into() ) .unwrap_or(AlphaCurrency::ZERO) - < 21_000_000_000_000_000.into() + < 21_000_000_000_000_000_u64.into() ); assert!( SubtensorModule::get_max_amount_move( @@ -3472,7 +3503,7 @@ fn test_max_amount_move_dynamic_stable() { TaoCurrency::MAX / 2.into() ) .unwrap_or(AlphaCurrency::ZERO) - < 21_000_000_000_000_000.into() + < 21_000_000_000_000_000_u64.into() ); }); } @@ -3499,7 +3530,15 @@ fn test_max_amount_move_dynamic_dynamic() { // tao_in_1, alpha_in_1, tao_in_2, alpha_in_2, limit_price, expected_max_swappable, precision [ // Zero handling (no panics) - (0, 1_000_000_000, 1_000_000_000, 1_000_000_000, 100, 0, 1), + ( + 0_u64, + 1_000_000_000_u64, + 1_000_000_000_u64, + 1_000_000_000_u64, + 100, + 0, + 1_u64, + ), (1_000_000_000, 0, 1_000_000_000, 1_000_000_000, 100, 0, 1), (1_000_000_000, 1_000_000_000, 0, 1_000_000_000, 100, 0, 1), (1_000_000_000, 1_000_000_000, 1_000_000_000, 0, 100, 0, 1), @@ -3724,21 +3763,21 @@ fn test_add_stake_limit_ok() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()); assert_eq!(current_price, U96F32::from_num(1.5)); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Setup limit price so that it doesn't peak above 4x of current price // The amount that can be executed at this price is 450 TAO only // Alpha produced will be equal to 75 = 450*100/(450+150) - let limit_price = TaoCurrency::from(24_000_000_000); - let expected_executed_stake = AlphaCurrency::from(75_000_000_000); + let limit_price = TaoCurrency::from(24_000_000_000_u64); + let expected_executed_stake = AlphaCurrency::from(75_000_000_000_u64); // Add stake with slippage safety and check if the result is ok assert_ok!(SubtensorModule::add_stake_limit( @@ -3769,8 +3808,8 @@ fn test_add_stake_limit_ok() { .to_u64() as f64; assert_abs_diff_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - amount / 2 - fee as u64, - epsilon = amount / 2 / 1000 + (amount / 2 - fee as u64).into(), + epsilon = (amount / 2 / 1000).into() ); // Check that price has updated to ~24 = (150+450) / (100 - 75) @@ -3790,14 +3829,14 @@ fn test_add_stake_limit_fill_or_kill() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); - let amount = 900_000_000_000; // over the maximum + let amount = 900_000_000_000_u64; // over the maximum // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Force-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -3807,12 +3846,12 @@ fn test_add_stake_limit_fill_or_kill() { assert_eq!(current_price, U96F32::from_num(1.5)); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Setup limit price so that it doesn't peak above 4x of current price // The amount that can be executed at this price is 450 TAO only // Alpha produced will be equal to 25 = 100 - 450*100/(150+450) - let limit_price = TaoCurrency::from(24_000_000_000); + let limit_price = TaoCurrency::from(24_000_000_000_u64); // Add stake with slippage safety and check if it fails assert_noop!( @@ -3828,7 +3867,7 @@ fn test_add_stake_limit_fill_or_kill() { ); // Lower the amount and it should succeed now - let amount_ok = TaoCurrency::from(450_000_000_000); // fits the maximum + let amount_ok = TaoCurrency::from(450_000_000_000_u64); // fits the maximum assert_ok!(SubtensorModule::add_stake_limit( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, @@ -3848,16 +3887,16 @@ fn test_add_stake_limit_partial_zero_max_stake_amount_error() { // Exact values from the error: // https://taostats.io/extrinsic/5338471-0009?network=finney - let amount = 19980000000; + let amount = 19980000000_u64; let limit_price = TaoCurrency::from(26953618); - let tao_reserve = TaoCurrency::from(5_032_494_439_940); - let alpha_in = AlphaCurrency::from(186_268_425_402_874); + let tao_reserve = TaoCurrency::from(5_032_494_439_940_u64); + let alpha_in = AlphaCurrency::from(186_268_425_402_874_u64); let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); assert_noop!( SubtensorModule::add_stake_limit( @@ -3878,7 +3917,7 @@ fn test_remove_stake_limit_ok() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); - let stake_amount = 300_000_000_000; + let stake_amount = TaoCurrency::from(300_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -3888,8 +3927,8 @@ fn test_remove_stake_limit_ok() { ); // Forse-set sufficient reserves - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -3898,7 +3937,7 @@ fn test_remove_stake_limit_ok() { RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, netuid, - stake_amount.into() + stake_amount )); let alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, @@ -3945,8 +3984,8 @@ fn test_remove_stake_limit_fill_or_kill() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); - let stake_amount = AlphaCurrency::from(300_000_000_000); - let unstake_amount = AlphaCurrency::from(150_000_000_000); + let stake_amount = AlphaCurrency::from(300_000_000_000_u64); + let unstake_amount = AlphaCurrency::from(150_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -3960,8 +3999,8 @@ fn test_remove_stake_limit_fill_or_kill() { ); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -4008,10 +4047,10 @@ fn test_add_stake_specific_stake_into_subnet_fail() { let existing_shares: U64F64 = U64F64::from_num(161_986_254).saturating_div(U64F64::from_num(u64::MAX)); - let existing_stake = AlphaCurrency::from(36_711_495_953); + let existing_stake = AlphaCurrency::from(36_711_495_953_u64); - let tao_in = TaoCurrency::from(2_409_892_148_947); - let alpha_in = AlphaCurrency::from(15_358_708_513_716); + let tao_in = TaoCurrency::from(2_409_892_148_947_u64); + let alpha_in = AlphaCurrency::from(15_358_708_513_716_u64); let tao_staked = TaoCurrency::from(200_000_000); @@ -4044,7 +4083,7 @@ fn test_add_stake_specific_stake_into_subnet_fail() { // Give TAO balance to coldkey SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - tao_staked.to_u64() + 1_000_000_000, + tao_staked + 1_000_000_000.into(), ); // Add stake as new hotkey @@ -4087,12 +4126,12 @@ fn test_remove_99_9991_per_cent_stake_removes_all() { let subnet_owner_hotkey = U256::from(2); let hotkey_account_id = U256::from(581337); let coldkey_account_id = U256::from(81337); - let amount = 10_000_000_000; + let amount = 10_000_000_000_u64; let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::add_stake( @@ -4124,8 +4163,8 @@ fn test_remove_99_9991_per_cent_stake_removes_all() { // Check that all alpha was unstaked and all TAO balance was returned (less fees) assert_abs_diff_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), - expected_balance.to_u64(), - epsilon = 10, + expected_balance, + epsilon = 10.into(), ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), @@ -4153,7 +4192,7 @@ fn test_remove_99_9989_per_cent_stake_leaves_a_little() { register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Stake to hotkey account, and check if the result is ok let (_, fee) = mock::swap_tao_to_alpha(netuid, amount.into()); @@ -4185,7 +4224,7 @@ fn test_remove_99_9989_per_cent_stake_leaves_a_little() { // Check that all alpha was unstaked and 99% TAO balance was returned (less fees) // let fee = ::SwapInterface::approx_fee_amount(netuid.into(), (amount as f64 * 0.99) as u64); assert_abs_diff_eq!( - SubtensorModule::get_coldkey_balance(&coldkey_account_id), + SubtensorModule::get_coldkey_balance(&coldkey_account_id).to_u64(), (amount as f64 * 0.99) as u64 - fee, epsilon = amount / 1000, ); @@ -4214,8 +4253,8 @@ fn test_move_stake_limit_partial() { let subnet_owner_hotkey = U256::from(1002); let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = AlphaCurrency::from(150_000_000_000); - let move_amount = AlphaCurrency::from(150_000_000_000); + let stake_amount = AlphaCurrency::from(150_000_000_000_u64); + let move_amount = AlphaCurrency::from(150_000_000_000_u64); // add network let origin_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); @@ -4233,8 +4272,8 @@ fn test_move_stake_limit_partial() { // Forse-set alpha in and tao reserve to make price equal 1.5 on both origin and destination, // but there's much more liquidity on destination, so its price wouldn't go up when restaked - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(150_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(origin_netuid, tao_reserve); SubnetAlphaIn::::insert(origin_netuid, alpha_in); SubnetTAO::::insert(destination_netuid, tao_reserve * 100_000.into()); @@ -4266,7 +4305,7 @@ fn test_move_stake_limit_partial() { assert_abs_diff_eq!( new_alpha, - AlphaCurrency::from(149_000_000_000), + AlphaCurrency::from(149_000_000_000_u64), epsilon = 100_000_000.into() ); }); @@ -4281,7 +4320,7 @@ fn test_unstake_all_hits_liquidity_min() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = AlphaCurrency::from(190_000_000_000); // 190 Alpha + let stake_amount = AlphaCurrency::from(190_000_000_000_u64); // 190 Alpha let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4320,7 +4359,7 @@ fn test_unstake_all_alpha_hits_liquidity_min() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = 100_000_000_000; // 100 TAO + let stake_amount = TaoCurrency::from(100_000_000_000_u64); // 100 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4333,7 +4372,7 @@ fn test_unstake_all_alpha_hits_liquidity_min() { RuntimeOrigin::signed(coldkey), hotkey, netuid, - stake_amount.into() + stake_amount )); // Setup the pool so that removing all the TAO will bring liqudity below the minimum @@ -4375,7 +4414,7 @@ fn test_unstake_all_alpha_works() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = 190_000_000_000; // 190 TAO + let stake_amount = TaoCurrency::from(190_000_000_000_u64); // 190 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4389,7 +4428,7 @@ fn test_unstake_all_alpha_works() { RuntimeOrigin::signed(coldkey), hotkey, netuid, - stake_amount.into() + stake_amount )); remove_stake_rate_limit_for_tests(&hotkey, &coldkey, netuid); @@ -4397,8 +4436,8 @@ fn test_unstake_all_alpha_works() { // Setup the pool so that removing all the TAO will keep liq above min mock::setup_reserves( netuid, - (stake_amount * 10).into(), - (stake_amount * 100).into(), + stake_amount * 10.into(), + u64::from(stake_amount * 100.into()).into(), ); // Unstake all alpha to root @@ -4427,7 +4466,7 @@ fn test_unstake_all_works() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = 190_000_000_000; // 190 TAO + let stake_amount = TaoCurrency::from(190_000_000_000_u64); // 190 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4441,14 +4480,14 @@ fn test_unstake_all_works() { RuntimeOrigin::signed(coldkey), hotkey, netuid, - stake_amount.into() + stake_amount )); // Setup the pool so that removing all the TAO will keep liq above min mock::setup_reserves( netuid, - (stake_amount * 10).into(), - (stake_amount * 100).into(), + stake_amount * 10.into(), + u64::from(stake_amount * 100.into()).into(), ); remove_stake_rate_limit_for_tests(&hotkey, &coldkey, netuid); @@ -4462,7 +4501,7 @@ fn test_unstake_all_works() { SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); assert_abs_diff_eq!(new_alpha, AlphaCurrency::ZERO, epsilon = 1_000.into()); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey); - assert!(new_balance > 100_000); + assert!(new_balance > 100_000.into()); }); } @@ -4479,8 +4518,8 @@ fn test_stake_into_subnet_ok() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()) @@ -4533,8 +4572,8 @@ fn test_stake_into_subnet_low_amount() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()) @@ -4584,8 +4623,8 @@ fn test_unstake_from_subnet_low_amount() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4639,11 +4678,11 @@ fn test_stake_into_subnet_prohibitive_limit() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4681,7 +4720,10 @@ fn test_stake_into_subnet_prohibitive_limit() { ); // Check if balance has NOT decreased - assert_eq!(SubtensorModule::get_coldkey_balance(&coldkey), amount); + assert_eq!( + SubtensorModule::get_coldkey_balance(&coldkey), + amount.into() + ); }); } @@ -4695,11 +4737,11 @@ fn test_unstake_from_subnet_prohibitive_limit() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4771,11 +4813,11 @@ fn test_unstake_full_amount() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4826,7 +4868,7 @@ fn test_unstake_full_amount() { // Check if balance has increased accordingly let balance_after = SubtensorModule::get_coldkey_balance(&coldkey); - let actual_balance_increase = (balance_after - balance_before) as f64; + let actual_balance_increase = u64::from(balance_after - balance_before) as f64; let fee_rate = pallet_subtensor_swap::FeeRate::::get(NetUid::from(netuid)) as f64 / u16::MAX as f64; let expected_balance_increase = amount as f64 * (1. - fee_rate) / (1. + fee_rate); @@ -4872,9 +4914,9 @@ fn test_swap_fees_tao_correctness() { let owner_hotkey = U256::from(1); let owner_coldkey = U256::from(2); let coldkey = U256::from(4); - let amount = 1_000_000_000; - let owner_balance_before = amount * 10; - let user_balance_before = amount * 100; + let amount = TaoCurrency::from(1_000_000_000_u64); + let owner_balance_before = amount * 10.into(); + let user_balance_before = amount * 100.into(); // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); @@ -4885,13 +4927,13 @@ fn test_swap_fees_tao_correctness() { pallet_subtensor_swap::EnabledUserLiquidity::::insert(NetUid::from(netuid), true); // Forse-set alpha in and tao reserve to make price equal 0.25 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(400_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(400_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Check starting "total TAO" let total_tao_before = - user_balance_before + owner_balance_before + SubnetTAO::::get(netuid).to_u64(); + user_balance_before + owner_balance_before + SubnetTAO::::get(netuid); // Get alpha for owner assert_ok!(SubtensorModule::add_stake( @@ -4900,7 +4942,7 @@ fn test_swap_fees_tao_correctness() { netuid, amount.into(), )); - let mut fees = (fee_rate * amount as f64) as u64; + let mut fees = (fee_rate * u64::from(amount) as f64) as u64; // Add owner coldkey Alpha as concentrated liquidity // between current price current price + 0.01 @@ -4911,7 +4953,7 @@ fn test_swap_fees_tao_correctness() { let limit_price = current_price + 0.01; let tick_low = price_to_tick(current_price); let tick_high = price_to_tick(limit_price); - let liquidity = amount; + let liquidity = u64::from(amount); assert_ok!(::SwapInterface::do_add_liquidity( netuid.into(), @@ -4931,7 +4973,7 @@ fn test_swap_fees_tao_correctness() { ((limit_price * u64::MAX as f64) as u64).into(), true )); - fees += (fee_rate * amount as f64) as u64; + fees += (fee_rate * u64::from(amount) as f64) as u64; let user_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &owner_hotkey, @@ -4952,11 +4994,11 @@ fn test_swap_fees_tao_correctness() { let user_balance_after = SubtensorModule::get_coldkey_balance(&coldkey); let total_tao_after = user_balance_after + owner_balance_after - + SubnetTAO::::get(netuid).to_u64() - + fees; + + SubnetTAO::::get(netuid) + + TaoCurrency::from(fees); // Total TAO does not change, leave some epsilon for rounding - assert_abs_diff_eq!(total_tao_before, total_tao_after, epsilon = 2); + assert_abs_diff_eq!(total_tao_before, total_tao_after, epsilon = 2.into()); }); } @@ -4968,7 +5010,7 @@ fn test_increase_stake_for_hotkey_and_coldkey_on_subnet_adds_to_staking_hotkeys_ let hotkey = U256::from(3); let netuid = NetUid::from(1); - let stake_amount = 100_000_000_000; + let stake_amount = 100_000_000_000_u64; // Check no entry in the staking hotkeys map assert!(!StakingHotkeys::::contains_key(coldkey)); @@ -5012,7 +5054,7 @@ fn test_remove_stake_full_limit_ok() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000); + let stake_amount = AlphaCurrency::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5026,7 +5068,7 @@ fn test_remove_stake_full_limit_ok() { ); let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -5051,7 +5093,11 @@ fn test_remove_stake_full_limit_ok() { ); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); - assert_abs_diff_eq!(new_balance, 9_086_000_000, epsilon = 1_000_000); + assert_abs_diff_eq!( + new_balance, + 9_086_000_000_u64.into(), + epsilon = 1_000_000.into() + ); }); } @@ -5060,7 +5106,7 @@ fn test_remove_stake_full_limit_fails_slippage_too_high() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000); + let stake_amount = AlphaCurrency::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5073,12 +5119,12 @@ fn test_remove_stake_full_limit_fails_slippage_too_high() { stake_amount, ); - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); - let invalid_limit_price = TaoCurrency::from(910_000_000); + let invalid_limit_price = TaoCurrency::from(910_000_000_u64); // Remove stake with slippage safety assert_err!( @@ -5098,7 +5144,7 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000); + let stake_amount = AlphaCurrency::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5111,8 +5157,8 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { stake_amount, ); - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -5135,7 +5181,11 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { ); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); - assert_abs_diff_eq!(new_balance, 9_086_000_000, epsilon = 1_000_000); + assert_abs_diff_eq!( + new_balance, + 9_086_000_000_u64.into(), + epsilon = 1_000_000.into() + ); }); } /// This test verifies that minimum stake amount is sufficient to move price and apply @@ -5146,10 +5196,10 @@ fn test_default_min_stake_sufficiency() { let owner_hotkey = U256::from(1); let owner_coldkey = U256::from(2); let coldkey = U256::from(4); - let min_tao_stake = DefaultMinStake::::get().to_u64() * 2; + let min_tao_stake = DefaultMinStake::::get() * 2.into(); let amount = min_tao_stake; - let owner_balance_before = amount * 10; - let user_balance_before = amount * 100; + let owner_balance_before = amount * 10.into(); + let user_balance_before = amount * 100.into(); // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); @@ -5161,8 +5211,8 @@ fn test_default_min_stake_sufficiency() { // Set some extreme, but realistic TAO and Alpha reserves to minimize slippage // 1% of TAO max supply // 0.01 Alpha price - let tao_reserve = TaoCurrency::from(210_000_000_000_000); - let alpha_in = AlphaCurrency::from(21_000_000_000_000_000); + let tao_reserve = TaoCurrency::from(210_000_000_000_000_u64); + let alpha_in = AlphaCurrency::from(21_000_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price_before = ::SwapInterface::current_alpha_price(netuid.into()); @@ -5174,7 +5224,7 @@ fn test_default_min_stake_sufficiency() { netuid, amount.into(), )); - let fee_stake = (fee_rate * amount as f64) as u64; + let fee_stake = (fee_rate * u64::from(amount) as f64) as u64; let current_price_after_stake = ::SwapInterface::current_alpha_price(netuid.into()); remove_stake_rate_limit_for_tests(&owner_hotkey, &coldkey, netuid); @@ -5211,17 +5261,17 @@ fn test_update_position_fees() { let owner_hotkey = U256::from(1); let owner_coldkey = U256::from(2); let coldkey = U256::from(4); - let amount = 1_000_000_000; + let amount = TaoCurrency::from(1_000_000_000_u64); // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&owner_coldkey, amount * 10); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount * 100); + SubtensorModule::add_balance_to_coldkey_account(&owner_coldkey, amount * 10.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount * 100.into()); pallet_subtensor_swap::EnabledUserLiquidity::::insert(NetUid::from(netuid), true); // Forse-set alpha in and tao reserve to make price equal 0.25 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(400_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(400_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Get alpha for owner @@ -5229,7 +5279,7 @@ fn test_update_position_fees() { RuntimeOrigin::signed(owner_coldkey), owner_hotkey, netuid, - amount.into(), + amount, )); // Add owner coldkey Alpha as concentrated liquidity @@ -5241,7 +5291,7 @@ fn test_update_position_fees() { let limit_price = current_price + 0.001; let tick_low = price_to_tick(current_price); let tick_high = price_to_tick(limit_price); - let liquidity = amount; + let liquidity = u64::from(amount); let (position_id, _, _) = ::SwapInterface::do_add_liquidity( NetUid::from(netuid), @@ -5258,7 +5308,7 @@ fn test_update_position_fees() { RuntimeOrigin::signed(coldkey), owner_hotkey, netuid, - amount.into(), + amount, )); remove_stake_rate_limit_for_tests(&owner_hotkey, &coldkey, netuid); @@ -5384,14 +5434,14 @@ fn test_large_swap() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000_u64.into()); pallet_subtensor_swap::EnabledUserLiquidity::::insert(NetUid::from(netuid), true); // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -5399,7 +5449,7 @@ fn test_large_swap() { // TODO: Revise when user liquidity is available // setup_positions(netuid.into()); - let swap_amount = TaoCurrency::from(100_000_000_000_000); + let swap_amount = TaoCurrency::from(100_000_000_000_000_u64); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey), owner_hotkey, @@ -5418,8 +5468,8 @@ fn test_stake_rate_limits() { let hot1 = U256::from(1); let cold1 = U256::from(3); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); - let amount = DefaultMinStake::::get().to_u64() * 10; - let fee = DefaultMinStake::::get().to_u64(); + let amount = DefaultMinStake::::get() * 10.into(); + let fee = DefaultMinStake::::get(); let init_balance = amount + fee + ExistentialDeposit::get(); register_ok_neuron(netuid, hot1, cold1, 0); @@ -5439,7 +5489,7 @@ fn test_stake_rate_limits() { RuntimeOrigin::signed(cold1), hot1, netuid, - amount.into() + AlphaCurrency::from(amount.to_u64()) ), Error::::StakingOperationRateLimitExceeded ); @@ -5468,32 +5518,32 @@ fn test_add_root_updates_counters() { RuntimeOrigin::signed(coldkey_account_id).clone(), hotkey_account_id, )); - let stake_amount = 1_000_000_000; + let stake_amount = TaoCurrency::from(1_000_000_000_u64); // Give it some $$$ in his coldkey balance let initial_balance = stake_amount + ExistentialDeposit::get(); SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, initial_balance); // Setup SubnetAlphaIn (because we are going to stake) - SubnetAlphaIn::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount)); + SubnetAlphaIn::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount.to_u64())); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, NetUid::ROOT, - stake_amount.into() + stake_amount )); // Check if stake has increased let new_stake = SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id); - assert_eq!(new_stake, stake_amount.into()); + assert_eq!(new_stake, stake_amount); // Check if total stake has increased accordingly. - assert_eq!(SubtensorModule::get_total_stake(), stake_amount.into()); + assert_eq!(SubtensorModule::get_total_stake(), stake_amount); // SubnetTAO updated - assert_eq!(SubnetTAO::::get(NetUid::ROOT), stake_amount.into()); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), stake_amount); // SubnetAlphaIn updated assert_eq!(SubnetAlphaIn::::get(NetUid::ROOT), 0.into()); @@ -5501,13 +5551,13 @@ fn test_add_root_updates_counters() { // SubnetAlphaOut updated assert_eq!( SubnetAlphaOut::::get(NetUid::ROOT), - stake_amount.into() + AlphaCurrency::from(stake_amount.to_u64()) ); // SubnetVolume updated assert_eq!( SubnetVolume::::get(NetUid::ROOT), - stake_amount as u128 + stake_amount.to_u64() as u128 ); }); } @@ -5523,7 +5573,7 @@ fn test_remove_root_updates_counters() { RuntimeOrigin::signed(coldkey_account_id).clone(), hotkey_account_id, )); - let stake_amount = 1_000_000_000; + let stake_amount = TaoCurrency::from(1_000_000_000); // Give it some $$$ in his coldkey balance let initial_balance = stake_amount + ExistentialDeposit::get(); @@ -5534,20 +5584,20 @@ fn test_remove_root_updates_counters() { &hotkey_account_id, &coldkey_account_id, NetUid::ROOT, - stake_amount.into(), + AlphaCurrency::from(stake_amount.to_u64()), ); // Setup TotalStake, SubnetAlphaOut and SubnetTAO (because we are going to unstake) - TotalStake::::set(TaoCurrency::from(stake_amount)); - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(stake_amount)); - SubnetAlphaOut::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount)); + TotalStake::::set(stake_amount); + SubnetTAO::::insert(NetUid::ROOT, stake_amount); + SubnetAlphaOut::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount.to_u64())); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::remove_stake( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, NetUid::ROOT, - stake_amount.into() + AlphaCurrency::from(stake_amount.to_u64()) )); // Check if stake has been decreased @@ -5563,7 +5613,7 @@ fn test_remove_root_updates_counters() { // SubnetAlphaIn updated assert_eq!( SubnetAlphaIn::::get(NetUid::ROOT), - stake_amount.into() + AlphaCurrency::from(stake_amount.to_u64()) ); // SubnetAlphaOut updated @@ -5572,7 +5622,7 @@ fn test_remove_root_updates_counters() { // SubnetVolume updated assert_eq!( SubnetVolume::::get(NetUid::ROOT), - stake_amount as u128 + stake_amount.to_u64() as u128 ); }); } @@ -5591,15 +5641,15 @@ fn test_staking_records_flow() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000); - let alpha_in = AlphaCurrency::from(1_000_000_000_000); + let tao_reserve = TaoCurrency::from(100_000_000_000_u64); + let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 SubtensorModule::swap_tao_for_alpha( netuid, TaoCurrency::ZERO, - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); diff --git a/pallets/subtensor/src/tests/staking2.rs b/pallets/subtensor/src/tests/staking2.rs index 7d6cc6ad3c..2fde1a491b 100644 --- a/pallets/subtensor/src/tests/staking2.rs +++ b/pallets/subtensor/src/tests/staking2.rs @@ -24,8 +24,8 @@ fn test_stake_base_case() { SubnetMechanism::::insert(netuid, 1); // Initialize subnet with some existing TAO and Alpha - let initial_subnet_tao = TaoCurrency::from(10_000_000_000); // 10 TAO - let initial_subnet_alpha = AlphaCurrency::from(5_000_000_000); // 5 Alpha + let initial_subnet_tao = TaoCurrency::from(10_000_000_000_u64); // 10 TAO + let initial_subnet_alpha = AlphaCurrency::from(5_000_000_000_u64); // 5 Alpha mock::setup_reserves(netuid, initial_subnet_tao, initial_subnet_alpha); SubnetAlphaOut::::insert(netuid, initial_subnet_alpha); @@ -407,7 +407,7 @@ fn test_share_based_staking() { fn test_share_based_staking_denominator_precision() { // Test case amounts: stake, unstake, inject, tolerance [ - (1_000, 990), + (1_000_u64, 990_u64), (1_000, 999), (1_000_000, 990_000), (1_000_000, 999_990), @@ -464,7 +464,7 @@ fn test_share_based_staking_denominator_precision() { fn test_share_based_staking_stake_unstake_inject() { // Test case amounts: stake, unstake, inject, tolerance [ - (1_000, 999, 1_000_000, 0), + (1_000_u64, 999_u64, 1_000_000_u64, 0), (1_000_000, 999_000, 100_000_000, 0), (1_000_000, 900_000, 100_000_000, 0), (100_000_000_000, 1_000_000_000, 1_000_000_000_000, 1), @@ -540,7 +540,7 @@ fn test_share_based_staking_stake_unstake_inject() { fn test_share_based_staking_stake_inject_stake_new() { // Test case amounts: stake, inject, stake, tolerance [ - (1, 2_000_000_000, 500_000_000, 1), + (1_u64, 2_000_000_000_u64, 500_000_000_u64, 1), (1, 5_000_000_000, 50_000_000, 1), (500_000_000, 1_000_000_000, 1_000_000_000, 1), ] @@ -661,15 +661,15 @@ fn test_stake_fee_api() { let netuid1 = NetUid::from(2); let root_netuid = NetUid::ROOT; - let alpha_divs = AlphaCurrency::from(100_000_000_000); - let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000); - let tao_in = TaoCurrency::from(100_000_000_000); // 100 TAO + let alpha_divs = AlphaCurrency::from(100_000_000_000_u64); + let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000_u64); + let tao_in = TaoCurrency::from(100_000_000_000_u64); // 100 TAO let reciprocal_price = 2; // 1 / price - let stake_amount = 100_000_000_000; + let stake_amount = 100_000_000_000_u64; // Setup alpha out - SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000)); - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000)); + SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000_u64)); // Set pools using price SubnetAlphaIn::::insert( netuid0, @@ -840,17 +840,17 @@ fn test_stake_fee_calculation() { SubnetMechanism::::insert(netuid0, 1); SubnetMechanism::::insert(netuid1, 1); - let alpha_divs = AlphaCurrency::from(100_000_000_000); - let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000); - let tao_in = TaoCurrency::from(100_000_000_000); // 100 TAO + let alpha_divs = AlphaCurrency::from(100_000_000_000_u64); + let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000_u64); + let tao_in = TaoCurrency::from(100_000_000_000_u64); // 100 TAO let reciprocal_price = 2; // 1 / price - let stake_amount = TaoCurrency::from(100_000_000_000); + let stake_amount = TaoCurrency::from(100_000_000_000_u64); let default_fee = TaoCurrency::ZERO; // FIXME: DefaultStakingFee is deprecated // Setup alpha out - SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000)); - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000)); + SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000_u64)); // Set pools using price mock::setup_reserves( netuid0, diff --git a/pallets/subtensor/src/tests/subnet.rs b/pallets/subtensor/src/tests/subnet.rs index a547b30a14..73ff3a0ff3 100644 --- a/pallets/subtensor/src/tests/subnet.rs +++ b/pallets/subtensor/src/tests/subnet.rs @@ -70,7 +70,7 @@ fn test_do_start_call_fail_not_owner() { add_network_without_emission_block(netuid, tempo, 0); mock::setup_reserves(netuid, 1_000_000_000.into(), 1_000_000_000.into()); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); add_network_without_emission_block(netuid, tempo, 0); @@ -100,7 +100,7 @@ fn test_do_start_call_can_start_now() { add_network_without_emission_block(netuid, tempo, 0); mock::setup_reserves(netuid, 1_000_000_000.into(), 1_000_000_000.into()); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); add_network_without_emission_block(netuid, tempo, 0); @@ -129,7 +129,7 @@ fn test_do_start_call_fail_for_set_again() { mock::setup_reserves(netuid, 1_000_000_000.into(), 1_000_000_000.into()); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000.into()); // Subscribe and check extrinsic output assert_ok!(SubtensorModule::burned_register( @@ -391,9 +391,9 @@ fn test_subtoken_enable_reject_trading_before_enable() { let hotkey_account_2_id: U256 = U256::from(3); let amount = DefaultMinStake::::get().to_u64() * 10; - let stake_bal = AlphaCurrency::from(10_000_000_000); // 10 Alpha + let stake_bal = AlphaCurrency::from(10_000_000_000_u64); // 10 Alpha - let limit_price = TaoCurrency::from(1_000_000_000); // not important + let limit_price = TaoCurrency::from(1_000_000_000_u64); // not important add_network_disable_subtoken(netuid, 10, 0); add_network_disable_subtoken(netuid2, 10, 0); @@ -402,8 +402,8 @@ fn test_subtoken_enable_reject_trading_before_enable() { assert!(!SubtokenEnabled::::get(netuid2)); // Set liq high enough to not trigger other errors - SubnetTAO::::set(netuid, TaoCurrency::from(20_000_000_000)); - SubnetAlphaIn::::set(netuid, AlphaCurrency::from(20_000_000_000)); + SubnetTAO::::set(netuid, TaoCurrency::from(20_000_000_000_u64)); + SubnetAlphaIn::::set(netuid, AlphaCurrency::from(20_000_000_000_u64)); // Register so staking *could* work register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 0); @@ -411,7 +411,7 @@ fn test_subtoken_enable_reject_trading_before_enable() { register_ok_neuron(netuid, hotkey_account_2_id, coldkey_account_id, 0); register_ok_neuron(netuid2, hotkey_account_2_id, coldkey_account_id, 100); - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10_000.into()); // Give some stake SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -586,7 +586,7 @@ fn test_subtoken_enable_trading_ok_with_enable() { SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - stake_amount.to_u64() * 10, + stake_amount * 10.into(), ); // all trading extrinsic should be possible now that subtoken is enabled. @@ -696,7 +696,7 @@ fn test_subtoken_enable_ok_for_burn_register_before_enable() { // Give enough to burned register SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - burn_cost.to_u64() * 2 + 5_000, + burn_cost * 2.into() + 5_000.into(), ); // Should be possible to burned register before enable is activated diff --git a/pallets/subtensor/src/tests/swap_coldkey.rs b/pallets/subtensor/src/tests/swap_coldkey.rs index 36d083344c..9d6db0db54 100644 --- a/pallets/subtensor/src/tests/swap_coldkey.rs +++ b/pallets/subtensor/src/tests/swap_coldkey.rs @@ -49,7 +49,7 @@ fn test_announce_coldkey_swap_works() { assert_eq!(ColdkeySwapAnnouncements::::iter().count(), 0); - let swap_cost = SubtensorModule::get_key_swap_cost().to_u64(); + let swap_cost = SubtensorModule::get_key_swap_cost(); SubtensorModule::add_balance_to_coldkey_account(&who, swap_cost + ed); assert_eq!(SubtensorModule::get_coldkey_balance(&who), swap_cost + ed); @@ -86,8 +86,8 @@ fn test_announce_coldkey_swap_with_existing_announcement_past_delay_works() { assert_eq!(ColdkeySwapAnnouncements::::iter().count(), 0); - let swap_cost = SubtensorModule::get_key_swap_cost().to_u64(); - SubtensorModule::add_balance_to_coldkey_account(&who, 2 * swap_cost); + let swap_cost = SubtensorModule::get_key_swap_cost(); + SubtensorModule::add_balance_to_coldkey_account(&who, swap_cost * 2.into()); assert_ok!(SubtensorModule::announce_coldkey_swap( RuntimeOrigin::signed(who), @@ -127,7 +127,7 @@ fn test_announce_coldkey_swap_only_pays_swap_cost_if_no_announcement_exists() { let new_coldkey_2_hash = ::Hashing::hash_of(&new_coldkey_2); let ed = ExistentialDeposit::get(); - let swap_cost = SubtensorModule::get_key_swap_cost().to_u64(); + let swap_cost = SubtensorModule::get_key_swap_cost(); SubtensorModule::add_balance_to_coldkey_account(&who, swap_cost + ed); assert_eq!(SubtensorModule::get_coldkey_balance(&who), swap_cost + ed); @@ -179,7 +179,7 @@ fn test_announce_coldkey_swap_with_existing_announcement_not_past_delay_fails() assert_eq!(ColdkeySwapAnnouncements::::iter().count(), 0); - let swap_cost = SubtensorModule::get_key_swap_cost().to_u64(); + let swap_cost = SubtensorModule::get_key_swap_cost(); let ed = ExistentialDeposit::get(); SubtensorModule::add_balance_to_coldkey_account(&who, swap_cost + ed); @@ -212,10 +212,10 @@ fn test_swap_coldkey_announced_works() { let hotkey2 = U256::from(1002); let hotkey3 = U256::from(1003); let ed = ExistentialDeposit::get(); - let min_stake = DefaultMinStake::::get().to_u64(); - let stake1 = min_stake * 10; - let stake2 = min_stake * 20; - let stake3 = min_stake * 30; + let min_stake = DefaultMinStake::::get(); + let stake1 = min_stake * 10.into(); + let stake2 = min_stake * 20.into(); + let stake3 = min_stake * 30.into(); let now = System::block_number(); ColdkeySwapAnnouncements::::insert(who, (now, new_coldkey_hash)); @@ -270,7 +270,7 @@ fn test_swap_coldkey_announced_works() { hk3_alpha, total_ck_stake, total_stake_before, - 0_u64 // Charged on announcement + 0.into() // Charged on announcement ); }); } @@ -365,7 +365,7 @@ fn test_swap_coldkey_announced_with_already_associated_coldkey_fails() { let new_coldkey_hash = ::Hashing::hash_of(&new_coldkey); let hotkey = U256::from(3); - let swap_cost = SubtensorModule::get_key_swap_cost().to_u64(); + let swap_cost = SubtensorModule::get_key_swap_cost(); let ed = ExistentialDeposit::get(); SubtensorModule::add_balance_to_coldkey_account(&who, swap_cost + ed); @@ -428,14 +428,14 @@ fn test_swap_coldkey_works() { let hotkey3 = U256::from(1003); let ed = ExistentialDeposit::get(); let swap_cost = SubtensorModule::get_key_swap_cost(); - let min_stake = DefaultMinStake::::get().to_u64(); - let stake1 = min_stake * 10; - let stake2 = min_stake * 20; - let stake3 = min_stake * 30; + let min_stake = DefaultMinStake::::get(); + let stake1 = min_stake * 10.into(); + let stake2 = min_stake * 20.into(); + let stake3 = min_stake * 30.into(); SubtensorModule::add_balance_to_coldkey_account( &old_coldkey, - swap_cost.to_u64() + stake1 + stake2 + stake3 + ed, + swap_cost + stake1 + stake2 + stake3 + ed, ); // Some old announcement and dispute that will be cleared @@ -489,7 +489,7 @@ fn test_swap_coldkey_works() { hk3_alpha, total_ck_stake, total_stake_before, - swap_cost.to_u64() + swap_cost ); // Check that the old announcement and dispute are cleared @@ -508,11 +508,11 @@ fn test_swap_coldkey_works_with_zero_cost() { let hotkey2 = U256::from(1002); let hotkey3 = U256::from(1003); let ed = ExistentialDeposit::get(); - let swap_cost = 0u64; - let min_stake = DefaultMinStake::::get().to_u64(); - let stake1 = min_stake * 10; - let stake2 = min_stake * 20; - let stake3 = min_stake * 30; + let swap_cost = TaoCurrency::from(0); + let min_stake = DefaultMinStake::::get(); + let stake1 = min_stake * 10.into(); + let stake2 = min_stake * 20.into(); + let stake3 = min_stake * 30.into(); SubtensorModule::add_balance_to_coldkey_account( &old_coldkey, @@ -619,7 +619,7 @@ fn test_swap_coldkey_with_not_enough_balance_to_pay_swap_cost_fails() { ); // Needs to preserve ED - let balance = SubtensorModule::get_key_swap_cost().to_u64() + ExistentialDeposit::get() - 1; + let balance = SubtensorModule::get_key_swap_cost() + ExistentialDeposit::get() - 1.into(); SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, balance); assert_noop!( SubtensorModule::swap_coldkey( @@ -673,7 +673,7 @@ fn test_announce_coldkey_swap_with_not_enough_balance_to_pay_swap_cost_fails() { ); // Needs to preserve ED - let balance = SubtensorModule::get_key_swap_cost().to_u64() + ExistentialDeposit::get() - 1; + let balance = SubtensorModule::get_key_swap_cost() + ExistentialDeposit::get() - 1.into(); SubtensorModule::add_balance_to_coldkey_account(&who, balance); assert_noop!( SubtensorModule::announce_coldkey_swap(RuntimeOrigin::signed(who), new_coldkey_hash), @@ -713,8 +713,7 @@ fn test_do_swap_coldkey_with_max_values() { let other_coldkey = U256::from(7); let netuid = NetUid::from(1); let netuid2 = NetUid::from(2); - let stake = 10_000; - let max_stake = 21_000_000_000_000_000; // 21 Million TAO; max possible balance. + let max_stake = TaoCurrency::from(21_000_000_000_000_000_u64); // 21 Million TAO; max possible balance. // Add a network add_network(netuid, 1, 0); @@ -726,10 +725,10 @@ fn test_do_swap_coldkey_with_max_values() { register_ok_neuron(netuid2, hotkey2, other_coldkey, 1001000); // Give balance to old_coldkey and old_coldkey2. - SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, max_stake + 1_000); - SubtensorModule::add_balance_to_coldkey_account(&old_coldkey2, max_stake + 1_000); + SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, max_stake + 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&old_coldkey2, max_stake + 1_000.into()); - let reserve = max_stake * 10; + let reserve = u64::from(max_stake) * 10; mock::setup_reserves(netuid, reserve.into(), reserve.into()); mock::setup_reserves(netuid2, reserve.into(), reserve.into()); @@ -738,7 +737,7 @@ fn test_do_swap_coldkey_with_max_values() { <::RuntimeOrigin>::signed(old_coldkey), hotkey, netuid, - max_stake.into() + max_stake )); let expected_stake1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, @@ -750,7 +749,7 @@ fn test_do_swap_coldkey_with_max_values() { <::RuntimeOrigin>::signed(old_coldkey2), hotkey2, netuid2, - max_stake.into() + max_stake )); let expected_stake2 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey2, @@ -796,7 +795,7 @@ fn test_do_swap_coldkey_effect_on_delegated_stake() { let new_coldkey = U256::from(2); let delegator = U256::from(3); let hotkey = U256::from(4); - let stake = 100_000_000_000; + let stake = TaoCurrency::from(100_000_000_000_u64); StakingHotkeys::::insert(old_coldkey, vec![hotkey]); StakingHotkeys::::insert(delegator, vec![hotkey]); @@ -847,8 +846,8 @@ fn test_swap_delegated_stake_for_coldkey() { let other_coldkey = U256::from(3); let hotkey1 = U256::from(4); let hotkey2 = U256::from(5); - let stake_amount1 = DefaultMinStake::::get().to_u64() * 10; - let stake_amount2 = DefaultMinStake::::get().to_u64() * 20; + let stake_amount1 = DefaultMinStake::::get() * 10.into(); + let stake_amount2 = DefaultMinStake::::get() * 20.into(); let netuid = NetUid::from(1); // Setup initial state @@ -856,7 +855,7 @@ fn test_swap_delegated_stake_for_coldkey() { register_ok_neuron(netuid, hotkey1, other_coldkey, 0); register_ok_neuron(netuid, hotkey2, other_coldkey, 0); - let reserve = (stake_amount1 + stake_amount2) * 10; + let reserve = u64::from(stake_amount1 + stake_amount2) * 10; mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Notice hotkey1 and hotkey2 are Owned by other_coldkey @@ -864,7 +863,7 @@ fn test_swap_delegated_stake_for_coldkey() { // === Give old_coldkey some balance === SubtensorModule::add_balance_to_coldkey_account( &old_coldkey, - stake_amount1 + stake_amount2 + 1_000_000, + stake_amount1 + stake_amount2 + 1_000_000.into(), ); // === Stake to hotkeys === @@ -872,7 +871,7 @@ fn test_swap_delegated_stake_for_coldkey() { <::RuntimeOrigin>::signed(old_coldkey), hotkey1, netuid, - stake_amount1.into() + stake_amount1 )); let expected_stake_alpha1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, @@ -885,7 +884,7 @@ fn test_swap_delegated_stake_for_coldkey() { <::RuntimeOrigin>::signed(old_coldkey), hotkey2, netuid, - stake_amount2.into() + stake_amount2 )); let expected_stake_alpha2 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey2, @@ -998,16 +997,16 @@ fn test_coldkey_swap_total() { let netuid1 = NetUid::from(1); let netuid2 = NetUid::from(2); let netuid3 = NetUid::from(3); - let stake = DefaultMinStake::::get().to_u64() * 10; - SubtensorModule::add_balance_to_coldkey_account(&coldkey, stake * 6); - SubtensorModule::add_balance_to_coldkey_account(&delegate1, stake * 2); - SubtensorModule::add_balance_to_coldkey_account(&delegate2, stake * 2); - SubtensorModule::add_balance_to_coldkey_account(&delegate3, stake * 2); - SubtensorModule::add_balance_to_coldkey_account(&nominator1, stake * 2); - SubtensorModule::add_balance_to_coldkey_account(&nominator2, stake * 2); - SubtensorModule::add_balance_to_coldkey_account(&nominator3, stake * 2); - - let reserve = stake * 10; + let stake = DefaultMinStake::::get() * 10.into(); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, stake * 6.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate1, stake * 2.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate2, stake * 2.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate3, stake * 2.into()); + SubtensorModule::add_balance_to_coldkey_account(&nominator1, stake * 2.into()); + SubtensorModule::add_balance_to_coldkey_account(&nominator2, stake * 2.into()); + SubtensorModule::add_balance_to_coldkey_account(&nominator3, stake * 2.into()); + + let reserve = u64::from(stake) * 10; mock::setup_reserves(netuid1, reserve.into(), reserve.into()); mock::setup_reserves(netuid2, reserve.into(), reserve.into()); mock::setup_reserves(netuid3, reserve.into(), reserve.into()); @@ -1304,8 +1303,8 @@ fn test_do_swap_coldkey_effect_on_delegations() { let delegate = U256::from(2); let netuid = NetUid::from(0); // Stake to 0 let netuid2 = NetUid::from(1); // Stake to 1 - let stake = DefaultMinStake::::get().to_u64() * 10; - let reserve = stake * 1000; + let stake = DefaultMinStake::::get() * 10.into(); + let reserve = u64::from(stake) * 1000; mock::setup_reserves(netuid, reserve.into(), reserve.into()); mock::setup_reserves(netuid2, reserve.into(), reserve.into()); @@ -1318,7 +1317,7 @@ fn test_do_swap_coldkey_effect_on_delegations() { delegate )); // register on root register_ok_neuron(netuid2, delegate, owner, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, stake * 10); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, stake * 10.into()); // since the reserves are equal and we stake the same amount to both networks, we can reuse // this values for different networks. but you should take it into account in case of tests @@ -1329,7 +1328,7 @@ fn test_do_swap_coldkey_effect_on_delegations() { <::RuntimeOrigin>::signed(coldkey), delegate, netuid, - stake.into() + stake )); // Add stake to netuid2 @@ -1337,14 +1336,14 @@ fn test_do_swap_coldkey_effect_on_delegations() { <::RuntimeOrigin>::signed(coldkey), delegate, netuid2, - stake.into() + stake )); // Perform the swap assert_ok!(SubtensorModule::do_swap_coldkey(&coldkey, &new_coldkey,)); // Verify stake was moved for the delegate - let approx_total_stake = TaoCurrency::from(stake * 2 - fee * 2); + let approx_total_stake = stake * 2.into() - (fee * 2).into(); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&delegate), approx_total_stake, @@ -1536,8 +1535,8 @@ macro_rules! comprehensive_setup { SubnetOwner::::insert(netuid2, $who); // Setup reserves - let reserve1 = ($stake1 + $stake3) * 10; - let reserve2 = $stake2 * 10; + let reserve1 = u64::from($stake1 + $stake3) * 10; + let reserve2 = u64::from($stake2) * 10; mock::setup_reserves(netuid1, reserve1.into(), reserve1.into()); mock::setup_reserves(netuid2, reserve2.into(), reserve2.into()); @@ -1731,7 +1730,7 @@ macro_rules! comprehensive_checks { assert_eq!(Owner::::get($hotkey3), $new_coldkey); // Ensure the remaining balance is transferred to the new coldkey - assert_eq!(SubtensorModule::get_coldkey_balance(&$who), 0); + assert_eq!(SubtensorModule::get_coldkey_balance(&$who), 0.into()); assert_eq!( SubtensorModule::get_coldkey_balance(&$new_coldkey), ExistentialDeposit::get() diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 71191d1951..957224f69c 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -67,25 +67,26 @@ fn test_swap_total_hotkey_stake() { let old_hotkey = U256::from(1); let new_hotkey = U256::from(2); let coldkey = U256::from(3); - let amount = DefaultMinStake::::get().to_u64() * 10; + let amount = DefaultMinStake::::get() * 10.into(); let mut weight = Weight::zero(); //add network let netuid = add_dynamic_network(&old_hotkey, &coldkey); - mock::setup_reserves(netuid, (amount * 100).into(), (amount * 100).into()); + let reserve = u64::from(amount) * 100; + mock::setup_reserves(netuid, reserve.into(), reserve.into()); // Give it some $$$ in his coldkey balance SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount); // Add stake - let (expected_alpha, _) = mock::swap_tao_to_alpha(netuid, amount.into()); + let (expected_alpha, _) = mock::swap_tao_to_alpha(netuid, amount); assert!(!expected_alpha.is_zero()); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey), old_hotkey, netuid, - amount.into() + amount )); // Check if stake has increased @@ -400,7 +401,7 @@ fn test_swap_hotkey_with_multiple_coldkeys() { let coldkey1 = U256::from(3); let coldkey2 = U256::from(4); let mut weight = Weight::zero(); - let stake = 1_000_000_000; + let stake = TaoCurrency::from(1_000_000_000_u64); StakingHotkeys::::insert(coldkey1, vec![old_hotkey]); StakingHotkeys::::insert(coldkey2, vec![old_hotkey]); @@ -418,13 +419,13 @@ fn test_swap_hotkey_with_multiple_coldkeys() { RuntimeOrigin::signed(coldkey1), old_hotkey, netuid, - stake.into() + stake )); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey2), old_hotkey, netuid, - (stake / 2).into() + stake / 2.into() )); let stake1_before = SubtensorModule::get_total_stake_for_coldkey(&coldkey1); let stake2_before = SubtensorModule::get_total_stake_for_coldkey(&coldkey2); @@ -504,11 +505,11 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { SubtensorModule::create_account_if_non_existent(&coldkey1, &old_hotkey); SubtensorModule::add_balance_to_coldkey_account( &coldkey1, - stake.to_u64() + ExistentialDeposit::get(), + stake + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &coldkey2, - stake.to_u64() + ExistentialDeposit::get(), + stake + ExistentialDeposit::get(), ); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey1), @@ -585,7 +586,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { let coldkey2 = U256::from(4); let netuid1 = NetUid::from(1); let netuid2 = NetUid::from(2); - let stake = DefaultMinStake::::get().to_u64() * 10; + let stake = DefaultMinStake::::get() * 10.into(); let mut weight = Weight::zero(); // Set up initial state @@ -594,19 +595,20 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { register_ok_neuron(netuid1, old_hotkey, coldkey1, 1234); register_ok_neuron(netuid2, old_hotkey, coldkey1, 1234); - mock::setup_reserves(netuid1, (stake * 100).into(), (stake * 100).into()); - mock::setup_reserves(netuid2, (stake * 100).into(), (stake * 100).into()); + let reserve = u64::from(stake) * 100; + mock::setup_reserves(netuid1, reserve.into(), reserve.into()); + mock::setup_reserves(netuid2, reserve.into(), reserve.into()); // Add balance to both coldkeys - SubtensorModule::add_balance_to_coldkey_account(&coldkey1, stake + 1_000); - SubtensorModule::add_balance_to_coldkey_account(&coldkey2, stake + 1_000); + SubtensorModule::add_balance_to_coldkey_account(&coldkey1, stake + 1_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey2, stake + 1_000.into()); // Stake with coldkey1 assert_ok!(SubtensorModule::add_stake( <::RuntimeOrigin>::signed(coldkey1), old_hotkey, netuid1, - stake.into() + stake )); // Stake with coldkey2 also @@ -614,7 +616,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { <::RuntimeOrigin>::signed(coldkey2), old_hotkey, netuid2, - stake.into() + stake )); let ck1_stake = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -720,7 +722,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { let new_hotkey_1 = U256::from(2); let new_hotkey_2 = U256::from(4); let coldkey = U256::from(3); - let swap_cost = 1_000_000_000u64 * 2; + let swap_cost = TaoCurrency::from(1_000_000_000u64 * 2); let tx_rate_limit = 1; @@ -778,7 +780,7 @@ fn test_do_swap_hotkey_err_not_owner() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let not_owner_coldkey = U256::from(4); - let swap_cost = 1_000_000_000u64; + let swap_cost = TaoCurrency::from(1_000_000_000u64); // Setup initial state add_network(netuid, tempo, 0); @@ -1017,7 +1019,7 @@ fn test_swap_hotkey_error_cases() { Error::::NotEnoughBalanceToPaySwapHotKey ); - let initial_balance = SubtensorModule::get_key_swap_cost().to_u64() + 1000; + let initial_balance = SubtensorModule::get_key_swap_cost() + 1000.into(); SubtensorModule::add_balance_to_coldkey_account(&coldkey, initial_balance); // Test new hotkey same as old @@ -1064,10 +1066,7 @@ fn test_swap_hotkey_error_cases() { )); // Check balance after swap - assert_eq!( - Balances::free_balance(coldkey), - initial_balance - swap_cost.to_u64() - ); + assert_eq!(Balances::free_balance(coldkey), initial_balance - swap_cost); }); } @@ -1388,7 +1387,7 @@ fn test_swap_hotkey_swap_rate_limits() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let last_tx_block = 123; let delegate_take_block = 4567; diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 6e423c1269..7b7fa792e4 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -21,7 +21,7 @@ fn test_swap_owner() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); Owner::::insert(old_hotkey, coldkey); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); assert_ok!(SubtensorModule::do_swap_hotkey( @@ -45,7 +45,7 @@ fn test_swap_owned_hotkeys() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); OwnedHotkeys::::insert(coldkey, vec![old_hotkey]); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -77,7 +77,7 @@ fn test_swap_total_hotkey_stake() { let netuid = add_dynamic_network(&old_hotkey, &coldkey); // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Add stake assert_ok!(SubtensorModule::add_stake( @@ -131,7 +131,7 @@ fn test_swap_delegates() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); Delegates::::insert(old_hotkey, 100); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -156,7 +156,7 @@ fn test_swap_subnet_membership() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -182,7 +182,7 @@ fn test_swap_uids_and_keys() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); Uids::::insert(netuid, old_hotkey, uid); @@ -214,7 +214,7 @@ fn test_swap_prometheus() { let prometheus_info = PrometheusInfo::default(); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); Prometheus::::insert(netuid, old_hotkey, prometheus_info.clone()); @@ -247,7 +247,7 @@ fn test_swap_axons() { let axon_info = AxonInfo::default(); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); Axons::::insert(netuid, old_hotkey, axon_info.clone()); @@ -277,7 +277,7 @@ fn test_swap_certificates() { let certificate = NeuronCertificate::try_from(vec![1, 2, 3]).unwrap(); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); NeuronCertificates::::insert(netuid, old_hotkey, certificate.clone()); @@ -313,7 +313,7 @@ fn test_swap_weight_commits() { weight_commits.push_back((H256::from_low_u64_be(100), 200, 1, 1)); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); WeightCommits::::insert( @@ -354,7 +354,7 @@ fn test_swap_loaded_emission() { let validator_emission = 1000u64; let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(old_hotkey, netuid, true); LoadedEmission::::insert( @@ -386,7 +386,7 @@ fn test_swap_staking_hotkeys() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); StakingHotkeys::::insert(coldkey, vec![old_hotkey]); Alpha::::insert((old_hotkey, coldkey, netuid), U64F64::from_num(100)); @@ -423,8 +423,8 @@ fn test_swap_hotkey_with_multiple_coldkeys() { StakingHotkeys::::insert(coldkey1, vec![old_hotkey]); StakingHotkeys::::insert(coldkey2, vec![old_hotkey]); SubtensorModule::create_account_if_non_existent(&coldkey1, &old_hotkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX); - SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX.into()); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey1), @@ -481,7 +481,7 @@ fn test_swap_hotkey_with_multiple_subnets() { let new_hotkey_2 = U256::from(3); let coldkey = U256::from(4); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let netuid1 = add_dynamic_network(&old_hotkey, &coldkey); let netuid2 = add_dynamic_network(&old_hotkey, &coldkey); @@ -527,8 +527,8 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { let staker5 = U256::from(5); let stake = 1_000_000_000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX); - SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX.into()); // Set up initial state StakingHotkeys::::insert(coldkey1, vec![old_hotkey]); @@ -581,7 +581,7 @@ fn test_swap_hotkey_with_no_stake() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Set up initial state with no stake Owner::::insert(old_hotkey, coldkey); @@ -624,8 +624,8 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { register_ok_neuron(netuid2, old_hotkey, coldkey1, 1234); // Add balance to both coldkeys - SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX); - SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey1, u64::MAX.into()); + SubtensorModule::add_balance_to_coldkey_account(&coldkey2, u64::MAX.into()); // Stake with coldkey1 assert_ok!(SubtensorModule::add_stake( @@ -761,7 +761,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { let new_hotkey_1 = U256::from(2); let new_hotkey_2 = U256::from(4); let coldkey = U256::from(3); - let swap_cost = 1_000_000_000u64 * 2; + let swap_cost = TaoCurrency::from(1_000_000_000u64) * 2.into(); let tx_rate_limit = 1; @@ -821,7 +821,7 @@ fn test_do_swap_hotkey_err_not_owner() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let not_owner_coldkey = U256::from(4); - let swap_cost = 1_000_000_000u64; + let swap_cost = TaoCurrency::from(1_000_000_000u64); // Setup initial state add_network(netuid, tempo, 0); @@ -850,7 +850,7 @@ fn test_swap_owner_old_hotkey_not_exist() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&new_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Ensure old_hotkey does not exist assert!(!Owner::::contains_key(old_hotkey)); @@ -882,7 +882,7 @@ fn test_swap_owner_new_hotkey_already_exists() { let another_coldkey = U256::from(4); let netuid = add_dynamic_network(&new_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Initialize Owner for old_hotkey and new_hotkey Owner::::insert(old_hotkey, coldkey); @@ -916,7 +916,7 @@ fn test_swap_stake_success() { let subnet_owner_coldkey = U256::from(1001); let subnet_owner_hotkey = U256::from(1002); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let amount = 10_000; let shares = U64F64::from_num(123456); @@ -1012,7 +1012,7 @@ fn test_swap_hotkey_error_cases() { Error::::NotEnoughBalanceToPaySwapHotKey ); - let initial_balance = SubtensorModule::get_key_swap_cost().to_u64() + 1000; + let initial_balance = SubtensorModule::get_key_swap_cost() + 1000.into(); SubtensorModule::add_balance_to_coldkey_account(&coldkey, initial_balance); // Test new hotkey same as old @@ -1071,7 +1071,7 @@ fn test_swap_child_keys() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let children = vec![(100u64, U256::from(4)), (200u64, U256::from(5))]; @@ -1102,7 +1102,7 @@ fn test_swap_child_keys_self_loop() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); let amount = AlphaCurrency::from(12345); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Only for checking TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaCurrency::from(amount)); @@ -1143,7 +1143,7 @@ fn test_swap_parent_keys() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let parents = vec![(100u64, U256::from(4)), (200u64, U256::from(5))]; // Initialize ParentKeys for old_hotkey @@ -1189,7 +1189,7 @@ fn test_swap_multiple_subnets() { let netuid1 = add_dynamic_network(&old_hotkey, &coldkey); let netuid2 = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let children1 = vec![(100u64, U256::from(4)), (200u64, U256::from(5))]; let children2 = vec![(300u64, U256::from(6))]; @@ -1231,7 +1231,7 @@ fn test_swap_complex_parent_child_structure() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let parent1 = U256::from(4); let parent2 = U256::from(5); let child1 = U256::from(6); @@ -1296,7 +1296,7 @@ fn test_swap_parent_hotkey_childkey_maps() { let parent_new = U256::from(5); let netuid = add_dynamic_network(&parent_old, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); SubtensorModule::create_account_if_non_existent(&coldkey, &parent_old); @@ -1352,7 +1352,7 @@ fn test_swap_child_hotkey_childkey_maps() { let child_old = U256::from(3); let child_new = U256::from(4); let netuid = add_dynamic_network(&child_old, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); SubtensorModule::create_account_if_non_existent(&coldkey, &child_old); SubtensorModule::create_account_if_non_existent(&coldkey, &parent); @@ -1411,7 +1411,7 @@ fn test_swap_hotkey_is_sn_owner_hotkey() { // Create dynamic network let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Check for SubnetOwnerHotkey assert_eq!(SubnetOwnerHotkey::::get(netuid), old_hotkey); @@ -1443,7 +1443,7 @@ fn test_swap_hotkey_swap_rate_limits() { let child_key_take_block = 8910; let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Set the last tx block for the old hotkey SubtensorModule::set_last_tx_block(&old_hotkey, last_tx_block); @@ -1485,7 +1485,7 @@ fn test_swap_owner_failed_interval_not_passed() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); Owner::::insert(old_hotkey, coldkey); assert_err!( SubtensorModule::do_swap_hotkey( @@ -1507,7 +1507,7 @@ fn test_swap_owner_check_swap_block_set() { let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); Owner::::insert(old_hotkey, coldkey); let new_block_number = System::block_number() + HotkeySwapOnSubnetInterval::get(); System::set_block_number(new_block_number); @@ -1532,7 +1532,7 @@ fn test_swap_owner_check_swap_record_clean_up() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); Owner::::insert(old_hotkey, coldkey); let new_block_number = System::block_number() + HotkeySwapOnSubnetInterval::get(); System::set_block_number(new_block_number); @@ -1570,7 +1570,7 @@ fn test_swap_hotkey_registered_on_other_subnet() { Owner::::insert(old_hotkey, coldkey); TotalNetworks::::put(1); - let initial_balance = SubtensorModule::get_key_swap_cost().to_u64() + 1000; + let initial_balance = SubtensorModule::get_key_swap_cost() + 1000.into(); SubtensorModule::add_balance_to_coldkey_account(&coldkey, initial_balance); // Test new hotkey already registered on other subnet diff --git a/pallets/subtensor/src/tests/voting_power.rs b/pallets/subtensor/src/tests/voting_power.rs index 63418fb6a9..3ffb1a6611 100644 --- a/pallets/subtensor/src/tests/voting_power.rs +++ b/pallets/subtensor/src/tests/voting_power.rs @@ -77,7 +77,7 @@ impl VotingPowerTestFixture { #[allow(clippy::arithmetic_side_effects)] fn setup_for_staking_with_amount(&self, amount: u64) { mock::setup_reserves(self.netuid, (amount * 100).into(), (amount * 100).into()); - SubtensorModule::add_balance_to_coldkey_account(&self.coldkey, amount * 10); + SubtensorModule::add_balance_to_coldkey_account(&self.coldkey, (amount * 10).into()); } /// Enable voting power tracking for the subnet @@ -401,7 +401,10 @@ fn test_only_validators_get_voting_power() { (DEFAULT_STAKE_AMOUNT * 100).into(), (DEFAULT_STAKE_AMOUNT * 100).into(), ); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, DEFAULT_STAKE_AMOUNT * 20); + SubtensorModule::add_balance_to_coldkey_account( + &coldkey, + (DEFAULT_STAKE_AMOUNT * 20).into(), + ); // Register miner register_ok_neuron(netuid, miner_hotkey, coldkey, 0); diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 2c64b23d32..1ae323dc24 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -119,9 +119,9 @@ fn test_commit_weights_validate() { SubtensorModule::append_neuron(netuid, &hotkey, 0); crate::Owner::::insert(hotkey, coldkey); - SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); - let min_stake = 500_000_000_000; + let min_stake = 500_000_000_000_u64; let reserve = min_stake * 1000; mock::setup_reserves(netuid, reserve.into(), reserve.into()); @@ -246,14 +246,18 @@ fn test_set_weights_validate() { // Create netuid add_network(netuid, 1, 0); - mock::setup_reserves(netuid, 1_000_000_000_000.into(), 1_000_000_000_000.into()); + mock::setup_reserves( + netuid, + 1_000_000_000_000_u64.into(), + 1_000_000_000_000_u64.into(), + ); // Register the hotkey SubtensorModule::append_neuron(netuid, &hotkey, 0); crate::Owner::::insert(hotkey, coldkey); - SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); - let min_stake = TaoCurrency::from(500_000_000_000); + let min_stake = TaoCurrency::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); @@ -357,9 +361,9 @@ fn test_reveal_weights_validate() { SubtensorModule::append_neuron(netuid, &hotkey2, 0); crate::Owner::::insert(hotkey, coldkey); crate::Owner::::insert(hotkey2, coldkey); - SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); - let min_stake = TaoCurrency::from(500_000_000_000); + let min_stake = TaoCurrency::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); @@ -540,10 +544,10 @@ fn test_batch_reveal_weights_validate() { SubtensorModule::append_neuron(netuid, &hotkey2, 0); crate::Owner::::insert(hotkey, coldkey); crate::Owner::::insert(hotkey2, coldkey); - SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - let min_stake = TaoCurrency::from(500_000_000_000); + let min_stake = TaoCurrency::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); @@ -778,7 +782,7 @@ fn test_set_stake_threshold_failed() { add_network_disable_commit_reveal(netuid, 1, 0); register_ok_neuron(netuid, hotkey, coldkey, 2143124); SubtensorModule::set_stake_threshold(20_000_000_000_000); - SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); // Check the signed extension function. assert_eq!(SubtensorModule::get_stake_threshold(), 20_000_000_000_000); @@ -787,14 +791,14 @@ fn test_set_stake_threshold_failed() { RuntimeOrigin::signed(hotkey), hotkey, netuid, - 19_000_000_000_000.into() + 19_000_000_000_000_u64.into() )); assert!(!SubtensorModule::check_weights_min_stake(&hotkey, netuid)); assert_ok!(SubtensorModule::do_add_stake( RuntimeOrigin::signed(hotkey), hotkey, netuid, - 20_000_000_000_000.into() + 20_000_000_000_000_u64.into() )); assert!(SubtensorModule::check_weights_min_stake(&hotkey, netuid)); @@ -815,7 +819,7 @@ fn test_set_stake_threshold_failed() { RuntimeOrigin::signed(hotkey), hotkey, netuid, - 100_000_000_000_000.into() + 100_000_000_000_000_u64.into() )); assert_ok!(SubtensorModule::set_weights( RuntimeOrigin::signed(hotkey), @@ -924,7 +928,7 @@ fn test_weights_err_setting_weights_too_fast() { SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey_account_id) .expect("Not registered."); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(66), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(66), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, &(U256::from(66)), @@ -1017,7 +1021,7 @@ fn test_weights_err_has_duplicate_ids() { SubtensorModule::get_uid_for_net_and_hotkey(netuid, &hotkey_account_id) .expect("Not registered."); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(77), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(77), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, &(U256::from(77)), @@ -1120,7 +1124,7 @@ fn test_set_weights_err_invalid_uid() { .expect("Not registered."); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(66), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(66), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, &(U256::from(66)), @@ -1156,7 +1160,7 @@ fn test_set_weight_not_enough_values() { let neuron_uid: u16 = SubtensorModule::get_uid_for_net_and_hotkey(netuid, &U256::from(1)) .expect("Not registered."); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &account_id, &(U256::from(2)), @@ -1264,7 +1268,7 @@ fn test_set_weights_sum_larger_than_u16_max() { .expect("Not registered."); SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(2), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(1)), &(U256::from(2)), @@ -1727,8 +1731,8 @@ fn test_commit_reveal_weights_ok() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -1795,8 +1799,8 @@ fn test_commit_reveal_tempo_interval() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -1930,8 +1934,8 @@ fn test_commit_reveal_hash() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2030,8 +2034,8 @@ fn test_commit_reveal_disabled_or_enabled() { SubtensorModule::set_weights_set_rate_limit(netuid, 5); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2107,8 +2111,8 @@ fn test_toggle_commit_reveal_weights_and_set_weights() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_weights_set_rate_limit(netuid, 5); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2193,8 +2197,8 @@ fn test_tempo_change_during_commit_reveal_process() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2342,8 +2346,8 @@ fn test_commit_reveal_multiple_commits() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2748,8 +2752,8 @@ fn test_expired_commits_handling_in_commit_and_reveal() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -2947,8 +2951,8 @@ fn test_reveal_at_exact_epoch() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -3111,8 +3115,8 @@ fn test_tempo_and_reveal_period_change_during_commit_reveal_process() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -3298,8 +3302,8 @@ fn test_commit_reveal_order_enforcement() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -3557,8 +3561,8 @@ fn test_successful_batch_reveal() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -3635,8 +3639,8 @@ fn test_batch_reveal_with_expired_commits() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -4052,8 +4056,8 @@ fn test_batch_reveal_with_out_of_order_commits() { SubtensorModule::set_stake_threshold(0); SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -4453,8 +4457,8 @@ fn test_get_reveal_blocks() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -4587,8 +4591,8 @@ fn test_commit_weights_rate_limit() { SubtensorModule::set_validator_permit_for_uid(netuid, 0, true); SubtensorModule::set_validator_permit_for_uid(netuid, 1, true); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(0), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(1), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &(U256::from(0)), &(U256::from(0)), @@ -4775,8 +4779,8 @@ fn test_reveal_crv3_commits_success() { SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid1, true); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid2, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, &(U256::from(3)), @@ -6034,7 +6038,7 @@ fn test_reveal_crv3_commits_multiple_valid_commits_all_processed() { SubtensorModule::set_validator_permit_for_uid(netuid, i as u16, true); // add minimal stake so `do_set_weights` will succeed - SubtensorModule::add_balance_to_coldkey_account(&cold, 1); + SubtensorModule::add_balance_to_coldkey_account(&cold, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( hk, &cold, @@ -6132,7 +6136,7 @@ fn test_reveal_crv3_commits_max_neurons() { SubtensorModule::set_validator_permit_for_uid(netuid, i, true); // give each neuron a nominal stake (safe even if not needed) - SubtensorModule::add_balance_to_coldkey_account(&cold, 1); + SubtensorModule::add_balance_to_coldkey_account(&cold, 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk, &cold, @@ -6354,8 +6358,8 @@ fn test_reveal_crv3_commits_hotkey_check() { SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid1, true); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid2, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, &(U256::from(3)), @@ -6471,8 +6475,8 @@ fn test_reveal_crv3_commits_hotkey_check() { SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid1, true); SubtensorModule::set_validator_permit_for_uid(netuid, neuron_uid2, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, &(U256::from(3)), @@ -6737,8 +6741,8 @@ fn test_reveal_crv3_commits_legacy_payload_success() { SubtensorModule::set_validator_permit_for_uid(netuid, uid1, true); SubtensorModule::set_validator_permit_for_uid(netuid, uid2, true); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1); - SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(3), 1.into()); + SubtensorModule::add_balance_to_coldkey_account(&U256::from(4), 1.into()); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, &U256::from(3), diff --git a/pallets/subtensor/src/utils/try_state.rs b/pallets/subtensor/src/utils/try_state.rs index ad5a8e9dc8..2efd3b240b 100644 --- a/pallets/subtensor/src/utils/try_state.rs +++ b/pallets/subtensor/src/utils/try_state.rs @@ -18,13 +18,13 @@ impl Pallet { // // These values can be off slightly due to float rounding errors. // They are corrected every runtime upgrade. - let delta = 1000; - let total_issuance = TotalIssuance::::get().to_u64(); + let delta = TaoCurrency::from(1000); + let total_issuance = TotalIssuance::::get(); let diff = if total_issuance > expected_total_issuance { - total_issuance.checked_sub(expected_total_issuance) + total_issuance.checked_sub(&expected_total_issuance) } else { - expected_total_issuance.checked_sub(total_issuance) + expected_total_issuance.checked_sub(&total_issuance) } .expect("LHS > RHS"); diff --git a/pallets/swap/src/mock.rs b/pallets/swap/src/mock.rs index aacdf90835..47bcda08af 100644 --- a/pallets/swap/src/mock.rs +++ b/pallets/swap/src/mock.rs @@ -93,7 +93,7 @@ pub struct TaoReserve; impl CurrencyReserve for TaoReserve { fn reserve(netuid: NetUid) -> TaoCurrency { match netuid.into() { - 123u16 => 10_000, + 123u16 => 10_000_u64, WRAPPING_FEES_NETUID => 100_000_000_000, _ => 1_000_000_000_000, } @@ -110,9 +110,9 @@ pub struct AlphaReserve; impl CurrencyReserve for AlphaReserve { fn reserve(netuid: NetUid) -> AlphaCurrency { match netuid.into() { - 123u16 => 10_000.into(), - WRAPPING_FEES_NETUID => 400_000_000_000.into(), - _ => 4_000_000_000_000.into(), + 123u16 => 10_000_u64.into(), + WRAPPING_FEES_NETUID => 400_000_000_000_u64.into(), + _ => 4_000_000_000_000_u64.into(), } } diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 6ec02879bf..2e4ee67152 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -3,7 +3,7 @@ use core::ops::Neg; use frame_support::storage::{TransactionOutcome, transactional}; use frame_support::{ensure, pallet_prelude::DispatchError, traits::Get}; use safe_math::*; -use sp_arithmetic::helpers_128bit; +use sp_arithmetic::{helpers_128bit, traits::Zero}; use sp_runtime::{DispatchResult, Vec, traits::AccountIdConversion}; use substrate_fixed::types::{I64F64, U64F64, U96F32}; use subtensor_runtime_common::{ @@ -130,7 +130,7 @@ impl Pallet { tao_equivalent.into(), amount_alpha, amount_tao.saturating_sub(TaoCurrency::from(tao_equivalent)), - 0.into(), + 0_u32.into(), ) } else { // Too much Alpha @@ -140,7 +140,7 @@ impl Pallet { ( amount_tao, alpha_equivalent.into(), - 0.into(), + 0_u32.into(), u64::from(amount_alpha) .saturating_sub(alpha_equivalent) .into(), @@ -1100,7 +1100,7 @@ impl SwapHandler for Pallet { Ok(SwapResult { amount_paid_in: actual_amount, amount_paid_out: actual_amount.to_u64().into(), - fee_paid: 0.into(), + fee_paid: 0_u64.into(), }) } } diff --git a/pallets/swap/src/pallet/swap_step.rs b/pallets/swap/src/pallet/swap_step.rs index 6791835b1a..3c951ffa44 100644 --- a/pallets/swap/src/pallet/swap_step.rs +++ b/pallets/swap/src/pallet/swap_step.rs @@ -1,6 +1,7 @@ use core::marker::PhantomData; use safe_math::*; +use sp_arithmetic::traits::Zero; use substrate_fixed::types::{I64F64, U64F64}; use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; diff --git a/pallets/swap/src/pallet/tests.rs b/pallets/swap/src/pallet/tests.rs index cd18e665cd..b26825641e 100644 --- a/pallets/swap/src/pallet/tests.rs +++ b/pallets/swap/src/pallet/tests.rs @@ -1280,7 +1280,7 @@ fn test_swap_multiple_positions() { fn test_swap_precision_edge_case() { new_test_ext().execute_with(|| { let netuid = NetUid::from(123); // 123 is netuid with low edge case liquidity - let order = GetTaoForAlpha::with_amount(1_000_000_000_000_000_000); + let order = GetTaoForAlpha::with_amount(1_000_000_000_000_000_000_u64); let tick_low = TickIndex::MIN; let sqrt_limit_price: SqrtPrice = tick_low.try_to_sqrt_price().unwrap(); @@ -2261,15 +2261,10 @@ fn liquidate_v3_refunds_user_funds_and_clears_state() { // Mirror extrinsic bookkeeping: withdraw funds & bump provided‑reserve counters. let tao_taken = ::BalanceOps::decrease_balance(&cold, need_tao.into()) .expect("decrease TAO"); - let alpha_taken = ::BalanceOps::decrease_stake( - &cold, - &hot, - netuid.into(), - need_alpha.into(), - ) - .expect("decrease ALPHA"); + ::BalanceOps::decrease_stake(&cold, &hot, netuid.into(), need_alpha.into()) + .expect("decrease ALPHA"); TaoReserve::increase_provided(netuid.into(), tao_taken); - AlphaReserve::increase_provided(netuid.into(), alpha_taken); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(need_alpha)); // Users‑only liquidation. assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2328,14 +2323,14 @@ fn refund_alpha_single_provider_exact() { let alpha_before_total = alpha_before_hot + alpha_before_owner; // --- Mimic extrinsic bookkeeping: withdraw α and record provided reserve. - let alpha_taken = ::BalanceOps::decrease_stake( + ::BalanceOps::decrease_stake( &cold, &hot, netuid.into(), alpha_needed.into(), ) .expect("decrease ALPHA"); - AlphaReserve::increase_provided(netuid.into(), alpha_taken); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(alpha_needed)); // --- Act: users‑only dissolve. assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2403,15 +2398,13 @@ fn refund_alpha_multiple_providers_proportional_to_principal() { let a2_before = a2_before_hot + a2_before_owner; // Withdraw α and account reserves for each provider. - let a1_taken = - ::BalanceOps::decrease_stake(&c1, &h1, netuid.into(), a1.into()) - .expect("decrease α #1"); - AlphaReserve::increase_provided(netuid.into(), a1_taken); + ::BalanceOps::decrease_stake(&c1, &h1, netuid.into(), a1.into()) + .expect("decrease α #1"); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a1)); - let a2_taken = - ::BalanceOps::decrease_stake(&c2, &h2, netuid.into(), a2.into()) - .expect("decrease α #2"); - AlphaReserve::increase_provided(netuid.into(), a2_taken); + ::BalanceOps::decrease_stake(&c2, &h2, netuid.into(), a2.into()) + .expect("decrease α #2"); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a2)); // Act assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2465,15 +2458,13 @@ fn refund_alpha_same_cold_multiple_hotkeys_conserved_to_owner() { let before_total = before_hot1 + before_hot2 + before_owner; // Withdraw α from both hotkeys; track provided‑reserve. - let t1 = - ::BalanceOps::decrease_stake(&cold, &hot1, netuid.into(), a1.into()) - .expect("decr α #hot1"); - AlphaReserve::increase_provided(netuid.into(), t1); + ::BalanceOps::decrease_stake(&cold, &hot1, netuid.into(), a1.into()) + .expect("decr α #hot1"); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a1)); - let t2 = - ::BalanceOps::decrease_stake(&cold, &hot2, netuid.into(), a2.into()) - .expect("decr α #hot2"); - AlphaReserve::increase_provided(netuid.into(), t2); + ::BalanceOps::decrease_stake(&cold, &hot2, netuid.into(), a2.into()) + .expect("decr α #hot2"); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a2)); // Act assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2555,7 +2546,7 @@ fn test_dissolve_v3_green_path_refund_tao_stake_alpha_and_clear_state() { // --- Mirror extrinsic bookkeeping: withdraw τ & α; bump provided reserves --- let tao_taken = ::BalanceOps::decrease_balance(&cold, tao_needed.into()) .expect("decrease TAO"); - let alpha_taken = ::BalanceOps::decrease_stake( + ::BalanceOps::decrease_stake( &cold, &hot, netuid.into(), @@ -2564,7 +2555,7 @@ fn test_dissolve_v3_green_path_refund_tao_stake_alpha_and_clear_state() { .expect("decrease ALPHA"); TaoReserve::increase_provided(netuid.into(), tao_taken); - AlphaReserve::increase_provided(netuid.into(), alpha_taken); + AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(alpha_needed)); // --- Act: dissolve (GREEN PATH: permitted validators exist) --- assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); diff --git a/pallets/transaction-fee/src/lib.rs b/pallets/transaction-fee/src/lib.rs index fc2a16a409..fd316dadab 100644 --- a/pallets/transaction-fee/src/lib.rs +++ b/pallets/transaction-fee/src/lib.rs @@ -19,6 +19,7 @@ use sp_runtime::{ Perbill, Saturating, traits::{DispatchInfoOf, PostDispatchInfoOf}, }; +use subtensor_runtime_common::{Currency, TaoCurrency}; // Pallets use pallet_subtensor::Call as SubtensorCall; @@ -31,7 +32,7 @@ use core::marker::PhantomData; use smallvec::smallvec; use sp_std::vec::Vec; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{Balance, Currency, NetUid}; +use subtensor_runtime_common::NetUid; // Tests #[cfg(test)] @@ -42,17 +43,17 @@ type CallOf = ::RuntimeCall; pub struct LinearWeightToFee; impl WeightToFeePolynomial for LinearWeightToFee { - type Balance = Balance; + type Balance = TaoCurrency; fn polynomial() -> WeightToFeeCoefficients { - let coefficient = WeightToFeeCoefficient { - coeff_integer: 0, - coeff_frac: Perbill::from_parts(50_000), // 0.05 unit per weight + let coefficient: WeightToFeeCoefficient = WeightToFeeCoefficient { + coeff_integer: TaoCurrency::new(0), + coeff_frac: Perbill::from_parts(50_000), negative: false, degree: 1, }; - smallvec![coefficient] + smallvec![coefficient] as WeightToFeeCoefficients } } @@ -61,12 +62,12 @@ pub trait AlphaFeeHandler { fn can_withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: u64, + tao_amount: TaoCurrency, ) -> bool; fn withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: u64, + tao_amount: TaoCurrency, ); fn get_all_netuids_for_coldkey_and_hotkey( coldkey: &AccountIdOf, @@ -83,30 +84,25 @@ impl Default for TransactionFeeHandler { } } -impl - OnUnbalanced< - FungibleImbalance< - u64, - DecreaseIssuance, pallet_balances::Pallet>, - IncreaseIssuance, pallet_balances::Pallet>, - >, - > for TransactionFeeHandler +type BalancesImbalanceOf = FungibleImbalance< + ::Balance, + DecreaseIssuance, pallet_balances::Pallet>, + IncreaseIssuance, pallet_balances::Pallet>, +>; + +impl OnUnbalanced> for TransactionFeeHandler where - T: frame_system::Config, - T: pallet_subtensor::Config, - T: pallet_balances::Config, + T: frame_system::Config + pallet_balances::Config + pallet_subtensor::Config, + // You must be able to convert the fee amount into TaoCurrency because TotalIssuance is TaoCurrency. + ::Balance: Into + Copy, { - fn on_nonzero_unbalanced( - imbalance: FungibleImbalance< - u64, - DecreaseIssuance, pallet_balances::Pallet>, - IncreaseIssuance, pallet_balances::Pallet>, - >, - ) { - let ti_before = pallet_subtensor::TotalIssuance::::get(); - pallet_subtensor::TotalIssuance::::put( - ti_before.saturating_sub(imbalance.peek().into()), - ); + fn on_nonzero_unbalanced(imbalance: BalancesImbalanceOf) { + let ti_before: TaoCurrency = pallet_subtensor::TotalIssuance::::get(); + + let fee: TaoCurrency = imbalance.peek().into(); + + pallet_subtensor::TotalIssuance::::put(ti_before.saturating_sub(fee)); + drop(imbalance); } } @@ -131,7 +127,7 @@ where fn can_withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: u64, + tao_amount: TaoCurrency, ) -> bool { if alpha_vec.is_empty() { // Alpha vector is empty, nothing to withdraw @@ -139,7 +135,9 @@ where } // Divide tao_amount among all alpha entries - let tao_per_entry = tao_amount.checked_div(alpha_vec.len() as u64).unwrap_or(0); + let tao_per_entry = tao_amount + .checked_div(&TaoCurrency::from(alpha_vec.len())) + .unwrap_or(TaoCurrency::ZERO); // The rule here is that we should be able to withdraw at least from one entry. // This is not ideal because it may not pay all fees, but UX is the priority @@ -151,20 +149,22 @@ where ), ); let alpha_price = pallet_subtensor_swap::Pallet::::current_alpha_price(*netuid); - alpha_price.saturating_mul(alpha_balance) >= tao_per_entry + alpha_price.saturating_mul(alpha_balance) >= u64::from(tao_per_entry) }) } fn withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: u64, + tao_amount: TaoCurrency, ) { if alpha_vec.is_empty() { return; } - let tao_per_entry = tao_amount.checked_div(alpha_vec.len() as u64).unwrap_or(0); + let tao_per_entry = tao_amount + .checked_div(&TaoCurrency::from(alpha_vec.len())) + .unwrap_or(TaoCurrency::ZERO); alpha_vec.iter().for_each(|(hotkey, netuid)| { // Divide tao_amount evenly among all alpha entries @@ -301,7 +301,7 @@ where CallOf: IsSubType>, F: Balanced, OU: OnUnbalanced> + AlphaFeeHandler, - >>::Balance: Into, + >>::Balance: Into, { type LiquidityInfo = Option>; type Balance = ::AccountId>>::Balance; diff --git a/pallets/transaction-fee/src/tests/mock.rs b/pallets/transaction-fee/src/tests/mock.rs index 7a54f98c5d..3ae4e9ea87 100644 --- a/pallets/transaction-fee/src/tests/mock.rs +++ b/pallets/transaction-fee/src/tests/mock.rs @@ -3,6 +3,7 @@ use core::num::NonZeroU64; use crate::TransactionFeeHandler; +use frame_support::pallet_prelude::Zero; use frame_support::{ PalletId, assert_ok, derive_impl, parameter_types, traits::{Everything, Hooks, InherentBuilder, PrivilegeCmp}, @@ -21,7 +22,7 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -pub use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +pub use subtensor_runtime_common::{AlphaCurrency, ConstTao, Currency, NetUid, TaoCurrency}; use subtensor_swap_interface::{Order, SwapHandler}; use crate::SubtensorTxFeeHandler; @@ -74,7 +75,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = u64; +pub type Balance = TaoCurrency; // An index to a block. #[allow(dead_code)] @@ -146,8 +147,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = 1; - pub const TransactionByteFee: Balance = 100; + pub const ExistentialDeposit: Balance = TaoCurrency::new(1); + pub const TransactionByteFee: Balance = TaoCurrency::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -172,15 +173,15 @@ parameter_types! { pub const InitialTxRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxDelegateTakeRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing - pub const InitialBurn: u64 = 0; - pub const InitialMinBurn: u64 = 500_000; - pub const InitialMaxBurn: u64 = 1_000_000_000; + pub const InitialBurn: TaoCurrency = TaoCurrency::new(0); + pub const InitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); + pub const InitialMaxBurn: TaoCurrency = TaoCurrency::new(1_000_000_000); pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; - pub const InitialIssuance: u64 = 0; + pub const InitialIssuance: TaoCurrency = TaoCurrency::new(0); pub const InitialDifficulty: u64 = 10000; pub const InitialActivityCutoff: u16 = 5000; pub const InitialAdjustmentInterval: u16 = 100; @@ -191,13 +192,13 @@ parameter_types! { pub const InitialRegistrationRequirement: u16 = u16::MAX; // Top 100% pub const InitialMinDifficulty: u64 = 1; pub const InitialMaxDifficulty: u64 = u64::MAX; - pub const InitialRAORecycledForRegistration: u64 = 0; + pub const InitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::new(0); pub const InitialNetworkImmunityPeriod: u64 = 7200 * 7; - pub const InitialNetworkMinLockCost: u64 = 100_000_000_000; + pub const InitialNetworkMinLockCost: TaoCurrency = TaoCurrency::new(100_000_000_000_u64); pub const InitialSubnetOwnerCut: u16 = 0; // 0%. 100% of rewards go to validators + miners. pub const InitialNetworkLockReductionInterval: u64 = 2; // 2 blocks. pub const InitialNetworkRateLimit: u64 = 0; - pub const InitialKeySwapCost: u64 = 1_000_000_000; + pub const InitialKeySwapCost: TaoCurrency = TaoCurrency::new(1_000_000_000); pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -208,7 +209,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = u64::MAX/10; // 10% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 0; // 0 days - pub const InitialKeySwapOnSubnetCost: u64 = 10_000_000; + pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 7 * 24 * 60 * 60 / 12; // 7 days pub const LeaseDividendsDistributionInterval: u32 = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -291,8 +292,8 @@ impl pallet_subtensor::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = 1; - pub const PreimageByteDeposit: Balance = 1; + pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); + pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); } impl pallet_preimage::Config for Test { @@ -305,8 +306,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: u64 = 50; - pub const AbsoluteMinimumContribution: u64 = 10; + pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); + pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -343,7 +344,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -372,10 +373,10 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = u64; + type Balance = TaoCurrency; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = ConstU64<1>; + type ExistentialDeposit = ConstTao<1>; type AccountStore = System; type WeightInfo = (); type FreezeIdentifier = (); @@ -516,7 +517,7 @@ where let extra: TransactionExtensions = ( frame_system::CheckNonZeroSender::::new(), frame_system::CheckWeight::::new(), - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()), ); Some(UncheckedExtrinsic::new_signed(call, nonce, (), extra)) @@ -654,7 +655,7 @@ pub fn setup_subnets(sncount: u16, neurons: u16) -> TestSetup { let owner_hk_start_id = 200; let coldkey = U256::from(10000); let neuron_hk_start_id = 20000; - let amount = 1_000_000_000_000; + let amount = 1_000_000_000_000_u64; let mut hotkeys: Vec = Vec::new(); for sn in 0..sncount { @@ -685,7 +686,7 @@ pub fn setup_subnets(sncount: u16, neurons: u16) -> TestSetup { SubtensorModule::swap_tao_for_alpha( subnet.netuid, 0.into(), - 1_000_000_000_000.into(), + 1_000_000_000_000_u64.into(), false, ) .unwrap(); @@ -707,7 +708,10 @@ pub(crate) fn remove_stake_rate_limit_for_tests(hotkey: &U256, coldkey: &U256, n #[allow(dead_code)] pub fn setup_stake(netuid: NetUid, coldkey: &U256, hotkey: &U256, amount: u64) { // Stake to hotkey account, and check if the result is ok - SubtensorModule::add_balance_to_coldkey_account(coldkey, amount + ExistentialDeposit::get()); + SubtensorModule::add_balance_to_coldkey_account( + coldkey, + TaoCurrency::from(amount) + ExistentialDeposit::get(), + ); remove_stake_rate_limit_for_tests(hotkey, coldkey, netuid); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(*coldkey), diff --git a/pallets/transaction-fee/src/tests/mod.rs b/pallets/transaction-fee/src/tests/mod.rs index b6697e87f0..c05d56b8e9 100644 --- a/pallets/transaction-fee/src/tests/mod.rs +++ b/pallets/transaction-fee/src/tests/mod.rs @@ -26,7 +26,7 @@ fn test_remove_stake_fees_tao() { &sn.hotkeys[0], stake_amount, ); - SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TAO); + SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TaoCurrency::from(TAO)); // Simulate stake removal to get how much TAO should we get for unstaked Alpha let (expected_unstaked_tao, _swap_fee) = @@ -47,7 +47,7 @@ fn test_remove_stake_fees_tao() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -63,11 +63,12 @@ fn test_remove_stake_fees_tao() { sn.subnets[0].netuid, ); - let actual_tao_fee = balance_before + expected_unstaked_tao - final_balance; + let actual_tao_fee = + balance_before + TaoCurrency::from(expected_unstaked_tao) - final_balance; let actual_alpha_fee = alpha_before - alpha_after - unstake_amount; // Remove stake extrinsic should pay fees in TAO because ck has sufficient TAO balance - assert!(actual_tao_fee > 0); + assert!(actual_tao_fee > 0.into()); assert_eq!(actual_alpha_fee, AlphaCurrency::from(0)); }); } @@ -113,7 +114,7 @@ fn test_remove_stake_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -129,11 +130,12 @@ fn test_remove_stake_fees_alpha() { sn.subnets[0].netuid, ); - let actual_tao_fee = balance_before + expected_unstaked_tao - final_balance; + let actual_tao_fee = + balance_before + TaoCurrency::from(expected_unstaked_tao) - final_balance; let actual_alpha_fee = alpha_before - alpha_after - unstake_amount; // Remove stake extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -175,7 +177,7 @@ fn test_remove_stake_root() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(coldkey).into(), call, @@ -188,12 +190,12 @@ fn test_remove_stake_root() { let alpha_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); - let actual_tao_fee = balance_before + unstake_amount - final_balance; + let actual_tao_fee = balance_before + unstake_amount.into() - final_balance; let actual_alpha_fee = AlphaCurrency::from(stake_amount) - alpha_after - unstake_amount.into(); // Remove stake extrinsic should pay fees in Alpha (withdrawn from staked TAO) - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -234,7 +236,7 @@ fn test_remove_stake_completely_root() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(coldkey).into(), call, @@ -292,7 +294,7 @@ fn test_remove_stake_completely_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -310,9 +312,9 @@ fn test_remove_stake_completely_fees_alpha() { // Effectively, the fee is paid in TAO in this case because user receives less TAO, // and all Alpha is gone, and it is not measurable in Alpha - let actual_fee = balance_before + expected_unstaked_tao - final_balance; + let actual_fee = balance_before + expected_unstaked_tao.into() - final_balance; assert_eq!(alpha_after, 0.into()); - assert!(actual_fee > 0); + assert!(actual_fee > 0.into()); }); } @@ -362,7 +364,7 @@ fn test_remove_stake_not_enough_balance_for_fees() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); let result = ext.validate( RuntimeOrigin::signed(sn.coldkey).into(), &call.clone(), @@ -429,7 +431,7 @@ fn test_remove_stake_edge_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); let result = ext.validate( RuntimeOrigin::signed(sn.coldkey).into(), &call.clone(), @@ -476,7 +478,7 @@ fn test_remove_stake_failing_transaction_tao_fees() { &sn.hotkeys[0], stake_amount, ); - SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TAO); + SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TAO.into()); // Make unstaking fail by reducing liquidity to critical SubnetTAO::::insert(sn.subnets[0].netuid, TaoCurrency::from(1)); @@ -496,7 +498,7 @@ fn test_remove_stake_failing_transaction_tao_fees() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -515,7 +517,7 @@ fn test_remove_stake_failing_transaction_tao_fees() { let actual_tao_fee = balance_before - final_balance; // Remove stake extrinsic should pay fees in TAO because ck has sufficient TAO balance - assert!(actual_tao_fee > 0); + assert!(actual_tao_fee > 0.into()); assert_eq!(alpha_before, alpha_after); }); } @@ -562,7 +564,7 @@ fn test_remove_stake_failing_transaction_alpha_fees() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -582,7 +584,7 @@ fn test_remove_stake_failing_transaction_alpha_fees() { let actual_alpha_fee = alpha_before - alpha_after; // Remove stake extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); assert!(actual_alpha_fee < unstake_amount); }); @@ -631,7 +633,7 @@ fn test_remove_stake_limit_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -647,11 +649,11 @@ fn test_remove_stake_limit_fees_alpha() { sn.subnets[0].netuid, ); - let actual_tao_fee = balance_before + expected_unstaked_tao - final_balance; + let actual_tao_fee = balance_before + expected_unstaked_tao.into() - final_balance; let actual_alpha_fee = alpha_before - alpha_after - unstake_amount; // Remove stake extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -701,7 +703,7 @@ fn test_unstake_all_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(coldkey).into(), call, @@ -714,8 +716,8 @@ fn test_unstake_all_fees_alpha() { // Effectively, the fee is paid in TAO in this case because user receives less TAO, // and all Alpha is gone, and it is not measurable in Alpha - let actual_fee = balance_before + expected_unstaked_tao - final_balance; - assert!(actual_fee > 0); + let actual_fee = balance_before + expected_unstaked_tao.into() - final_balance; + assert!(actual_fee > 0.into()); // Check that all subnets got unstaked for i in 0..10 { @@ -769,7 +771,7 @@ fn test_unstake_all_alpha_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(coldkey).into(), call, @@ -782,8 +784,8 @@ fn test_unstake_all_alpha_fees_alpha() { // Effectively, the fee is paid in TAO in this case because user receives less TAO, // and all Alpha is gone, and it is not measurable in Alpha - let actual_fee = balance_before + expected_unstaked_tao - final_balance; - assert!(actual_fee > 0); + let actual_fee = balance_before + expected_unstaked_tao.into() - final_balance; + assert!(actual_fee > 0.into()); // Check that all subnets got unstaked for i in 0..10 { @@ -836,7 +838,7 @@ fn test_move_stake_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -864,7 +866,7 @@ fn test_move_stake_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - unstake_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -909,7 +911,7 @@ fn test_transfer_stake_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -937,7 +939,7 @@ fn test_transfer_stake_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - unstake_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -980,7 +982,7 @@ fn test_swap_stake_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -1008,7 +1010,7 @@ fn test_swap_stake_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - unstake_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -1053,7 +1055,7 @@ fn test_swap_stake_limit_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -1081,7 +1083,7 @@ fn test_swap_stake_limit_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - unstake_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -1123,7 +1125,7 @@ fn test_burn_alpha_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -1143,7 +1145,7 @@ fn test_burn_alpha_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - alpha_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } @@ -1185,7 +1187,7 @@ fn test_recycle_alpha_fees_alpha() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -1205,7 +1207,7 @@ fn test_recycle_alpha_fees_alpha() { let actual_alpha_fee = alpha_before - alpha_after_0 - alpha_amount; // Extrinsic should pay fees in Alpha - assert_eq!(actual_tao_fee, 0); + assert_eq!(actual_tao_fee, 0.into()); assert!(actual_alpha_fee > 0.into()); }); } diff --git a/precompiles/src/crowdloan.rs b/precompiles/src/crowdloan.rs index c9926dfe3b..8a4042e7d1 100644 --- a/precompiles/src/crowdloan.rs +++ b/precompiles/src/crowdloan.rs @@ -86,12 +86,12 @@ where Ok(CrowdloanInfo { creator: H256::from_slice(crowdloan.creator.as_slice()), - deposit: crowdloan.deposit, - min_contribution: crowdloan.min_contribution, + deposit: u64::from(crowdloan.deposit), + min_contribution: u64::from(crowdloan.min_contribution), end: crowdloan.end.unique_saturated_into(), - cap: crowdloan.cap, + cap: u64::from(crowdloan.cap), funds_account: H256::from_slice(crowdloan.funds_account.as_slice()), - raised: crowdloan.raised, + raised: u64::from(crowdloan.raised), has_target_address: crowdloan.target_address.is_some(), target_address: crowdloan .target_address @@ -116,7 +116,7 @@ where }, )?; - Ok(contribution) + Ok(u64::from(contribution)) } #[precompile::public("create(uint64,uint64,uint64,uint32,address)")] @@ -132,9 +132,9 @@ where let who = handle.caller_account_id::(); let target_address = R::AddressMapping::into_account_id(target_address.0); let call = pallet_crowdloan::Call::::create { - deposit, - min_contribution, - cap, + deposit: deposit.into(), + min_contribution: min_contribution.into(), + cap: cap.into(), end: end.into(), call: None, target_address: Some(target_address), @@ -153,7 +153,7 @@ where let account_id = handle.caller_account_id::(); let call = pallet_crowdloan::Call::::contribute { crowdloan_id, - amount, + amount: amount.into(), }; handle.try_dispatch_runtime_call::(call, RawOrigin::Signed(account_id)) @@ -205,7 +205,7 @@ where let account_id = handle.caller_account_id::(); let call = pallet_crowdloan::Call::::update_min_contribution { crowdloan_id, - new_min_contribution, + new_min_contribution: new_min_contribution.into(), }; handle.try_dispatch_runtime_call::(call, RawOrigin::Signed(account_id)) @@ -237,7 +237,7 @@ where let account_id = handle.caller_account_id::(); let call = pallet_crowdloan::Call::::update_cap { crowdloan_id, - new_cap, + new_cap: new_cap.into(), }; handle.try_dispatch_runtime_call::(call, RawOrigin::Signed(account_id)) diff --git a/precompiles/src/leasing.rs b/precompiles/src/leasing.rs index 732e687c6f..e3e11759a2 100644 --- a/precompiles/src/leasing.rs +++ b/precompiles/src/leasing.rs @@ -90,7 +90,7 @@ where .map(|b| b.unique_saturated_into()) .unwrap_or(0), netuid: lease.netuid.into(), - cost: lease.cost, + cost: lease.cost.into(), }) } @@ -150,9 +150,9 @@ where }; let crowdloan_call = pallet_crowdloan::Call::::create { - deposit: crowdloan_deposit, - min_contribution: crowdloan_min_contribution, - cap: crowdloan_cap, + deposit: crowdloan_deposit.into(), + min_contribution: crowdloan_min_contribution.into(), + cap: crowdloan_cap.into(), end: crowdloan_end.into(), call: Some(leasing_call), target_address: None, diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 629298a5ab..2980645d17 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -175,7 +175,7 @@ impl frame_system::offchain::CreateSignedTransaction check_nonce::CheckNonce::::from(nonce).into(), frame_system::CheckWeight::::new(), ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()), ), SudoTransactionExtension::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), @@ -198,11 +198,13 @@ pub use pallet_subtensor; // Method used to calculate the fee of an extrinsic pub const fn deposit(items: u32, bytes: u32) -> Balance { - pub const ITEMS_FEE: Balance = 2_000 * 10_000; - pub const BYTES_FEE: Balance = 100 * 10_000; - (items as Balance) - .saturating_mul(ITEMS_FEE) - .saturating_add((bytes as Balance).saturating_mul(BYTES_FEE)) + pub const ITEMS_FEE: u64 = 2_000 * 10_000; + pub const BYTES_FEE: u64 = 100 * 10_000; + TaoCurrency::new( + (items as u64) + .saturating_mul(ITEMS_FEE) + .saturating_add((bytes as u64).saturating_mul(BYTES_FEE)), + ) } // Opaque types. These are used by the CLI to instantiate machinery that don't need to know @@ -429,6 +431,12 @@ impl pallet_safe_mode::Config for Runtime { // Existential deposit. pub const EXISTENTIAL_DEPOSIT: u64 = 500; +pub struct ExistentialDeposit; +impl frame_support::traits::Get for ExistentialDeposit { + fn get() -> TaoCurrency { + TaoCurrency::new(500) + } +} impl pallet_balances::Config for Runtime { type MaxLocks = ConstU32<50>; @@ -439,7 +447,7 @@ impl pallet_balances::Config for Runtime { // The ubiquitous event type. type RuntimeEvent = RuntimeEvent; type DustRemoval = (); - type ExistentialDeposit = ConstU64; + type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = pallet_balances::weights::SubstrateWeight; @@ -568,7 +576,7 @@ impl InstanceFilter for ProxyType { RuntimeCall::SubtensorModule(pallet_subtensor::Call::transfer_stake { alpha_amount, .. - }) => *alpha_amount < SMALL_TRANSFER_LIMIT.into(), + }) => *alpha_amount < SMALL_ALPHA_TRANSFER_LIMIT, _ => false, }, ProxyType::Owner => { @@ -855,8 +863,8 @@ impl CanRegisterIdentity for AllowIdentityReg { // Configure registry pallet. parameter_types! { pub const MaxAdditionalFields: u32 = 1; - pub const InitialDeposit: Balance = 100_000_000; // 0.1 TAO - pub const FieldDeposit: Balance = 100_000_000; // 0.1 TAO + pub const InitialDeposit: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const FieldDeposit: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO } impl pallet_registry::Config for Runtime { @@ -872,8 +880,8 @@ impl pallet_registry::Config for Runtime { parameter_types! { pub const MaxCommitFieldsInner: u32 = 3; - pub const CommitmentInitialDeposit: Balance = 0; // Free - pub const CommitmentFieldDeposit: Balance = 0; // Free + pub const CommitmentInitialDeposit: Balance = TaoCurrency::ZERO; // Free + pub const CommitmentFieldDeposit: Balance = TaoCurrency::ZERO; // Free } #[subtensor_macros::freeze_struct("7c76bd954afbb54e")] @@ -905,7 +913,7 @@ impl OnMetadataCommitment for ResetBondsOnCommit { fn on_metadata_commitment(netuid: NetUid, address: &AccountId) { // Reset bonds for each mechanism of this subnet let mechanism_count = SubtensorModule::get_current_mechanism_count(netuid); - for mecid in 0..u8::from(mechanism_count) { + for mecid in 0..>::from(mechanism_count) { let netuid_index = SubtensorModule::get_mechanism_storage_index(netuid, mecid.into()); let _ = SubtensorModule::do_reset_bonds(netuid_index, address); } @@ -961,7 +969,7 @@ parameter_types! { pub const SubtensorInitialAlphaSigmoidSteepness: i16 = 1000; pub const SubtensorInitialKappa: u16 = 32_767; // 0.5 = 65535/2 pub const SubtensorInitialMaxAllowedUids: u16 = 256; - pub const SubtensorInitialIssuance: u64 = 0; + pub const SubtensorInitialIssuance: TaoCurrency = TaoCurrency::ZERO; pub const SubtensorInitialMinAllowedWeights: u16 = 1024; pub const SubtensorInitialEmissionValue: u16 = 0; pub const SubtensorInitialValidatorPruneLen: u64 = 1; @@ -988,23 +996,23 @@ parameter_types! { pub const SubtensorInitialMinDifficulty: u64 = 10_000_000; pub const SubtensorInitialMaxDifficulty: u64 = u64::MAX / 4; pub const SubtensorInitialServingRateLimit: u64 = 50; - pub const SubtensorInitialBurn: u64 = 100_000_000; // 0.1 tao - pub const SubtensorInitialMinBurn: u64 = 500_000; // 500k RAO - pub const SubtensorInitialMaxBurn: u64 = 100_000_000_000; // 100 tao + pub const SubtensorInitialBurn: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 tao + pub const SubtensorInitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); // 500k RAO + pub const SubtensorInitialMaxBurn: TaoCurrency = TaoCurrency::new(100_000_000_000); // 100 tao pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO pub const SubtensorInitialTxRateLimit: u64 = 1000; pub const SubtensorInitialTxDelegateTakeRateLimit: u64 = 216000; // 30 days at 12 seconds per block pub const SubtensorInitialTxChildKeyTakeRateLimit: u64 = INITIAL_CHILDKEY_TAKE_RATELIMIT; - pub const SubtensorInitialRAORecycledForRegistration: u64 = 0; // 0 rao + pub const SubtensorInitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::ZERO; // 0 rao pub const SubtensorInitialRequiredStakePercentage: u64 = 1; // 1 percent of total stake pub const SubtensorInitialNetworkImmunity: u64 = 1_296_000; pub const SubtensorInitialMinAllowedUids: u16 = 64; - pub const SubtensorInitialMinLockCost: u64 = 1_000_000_000_000; // 1000 TAO + pub const SubtensorInitialMinLockCost: TaoCurrency = TaoCurrency::new(1_000_000_000_000_u64); // 1000 TAO pub const SubtensorInitialSubnetOwnerCut: u16 = 11_796; // 18 percent pub const SubtensorInitialNetworkLockReductionInterval: u64 = 14 * 7200; pub const SubtensorInitialNetworkRateLimit: u64 = 7200; - pub const SubtensorInitialKeySwapCost: u64 = 100_000_000; // 0.1 TAO + pub const SubtensorInitialKeySwapCost: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -1016,7 +1024,7 @@ parameter_types! { pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks // 0 days pub const InitialStartCallDelay: u64 = 0; - pub const SubtensorInitialKeySwapOnSubnetCost: u64 = 1_000_000; // 0.001 TAO + pub const SubtensorInitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(1_000_000); // 0.001 TAO pub const HotkeySwapOnSubnetInterval : BlockNumber = 5 * 24 * 60 * 60 / 12; // 5 days pub const LeaseDividendsDistributionInterval: BlockNumber = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -1210,7 +1218,7 @@ const EVM_TO_SUBSTRATE_DECIMALS: u64 = 1_000_000_000_u64; pub struct SubtensorEvmBalanceConverter; impl BalanceConverter for SubtensorEvmBalanceConverter { - /// Convert from Substrate balance (u64) to EVM balance (U256) + /// Convert from Substrate balance (TaoCurrency) to EVM balance (U256) fn into_evm_balance(value: SubstrateBalance) -> Option { let value = value.into_u256(); if let Some(evm_value) = value.checked_mul(U256::from(EVM_TO_SUBSTRATE_DECIMALS)) { @@ -1231,7 +1239,7 @@ impl BalanceConverter for SubtensorEvmBalanceConverter { } } - /// Convert from EVM balance (U256) to Substrate balance (u64) + /// Convert from EVM balance (U256) to Substrate balance (TaoCurrency) fn into_substrate_balance(value: EvmBalance) -> Option { let value = value.into_u256(); if let Some(substrate_value) = value.checked_div(U256::from(EVM_TO_SUBSTRATE_DECIMALS)) { @@ -1410,8 +1418,8 @@ impl fp_self_contained::SelfContainedCall for RuntimeCall { // Crowdloan parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: Balance = 10_000_000_000; // 10 TAO - pub const AbsoluteMinimumContribution: Balance = 100_000_000; // 0.1 TAO + pub const MinimumDeposit: Balance = TaoCurrency::new(10_000_000_000); // 10 TAO + pub const AbsoluteMinimumContribution: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO // 7 days minimum (7 * 24 * 60 * 60 / 12) pub const MinimumBlockDuration: BlockNumber = prod_or_fast!(50400, 50); // 60 days maximum (60 * 24 * 60 * 60 / 12) @@ -1445,19 +1453,19 @@ fn contracts_schedule() -> pallet_contracts::Schedu } } -const CONTRACT_STORAGE_KEY_PERCENT: Balance = 15; -const CONTRACT_STORAGE_BYTE_PERCENT: Balance = 6; +const CONTRACT_STORAGE_KEY_PERCENT: u64 = 15; +const CONTRACT_STORAGE_BYTE_PERCENT: u64 = 6; /// Contracts deposits charged at 15% of the existential deposit per key, 6% per byte. pub const fn contract_deposit(items: u32, bytes: u32) -> Balance { - let key_fee = - (EXISTENTIAL_DEPOSIT as Balance).saturating_mul(CONTRACT_STORAGE_KEY_PERCENT) / 100; - let byte_fee = - (EXISTENTIAL_DEPOSIT as Balance).saturating_mul(CONTRACT_STORAGE_BYTE_PERCENT) / 100; - - (items as Balance) - .saturating_mul(key_fee) - .saturating_add((bytes as Balance).saturating_mul(byte_fee)) + let key_fee = EXISTENTIAL_DEPOSIT.saturating_mul(CONTRACT_STORAGE_KEY_PERCENT) / 100; + let byte_fee = EXISTENTIAL_DEPOSIT.saturating_mul(CONTRACT_STORAGE_BYTE_PERCENT) / 100; + + TaoCurrency::new( + (items as u64) + .saturating_mul(key_fee) + .saturating_add((bytes as u64).saturating_mul(byte_fee)), + ) } parameter_types! { diff --git a/runtime/tests/pallet_proxy.rs b/runtime/tests/pallet_proxy.rs index 422885eaba..0db4731fb2 100644 --- a/runtime/tests/pallet_proxy.rs +++ b/runtime/tests/pallet_proxy.rs @@ -6,7 +6,7 @@ use node_subtensor_runtime::{ RuntimeOrigin, SubtensorModule, System, SystemCall, }; use pallet_subtensor_proxy as pallet_proxy; -use subtensor_runtime_common::{AccountId, NetUid, ProxyType}; +use subtensor_runtime_common::{AccountId, NetUid, ProxyType, TaoCurrency}; const ACCOUNT: [u8; 32] = [1_u8; 32]; const DELEGATE: [u8; 32] = [2_u8; 32]; @@ -16,7 +16,7 @@ type SystemError = frame_system::Error; pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - let amount = 1_000_000_000_000; + let amount = TaoCurrency::from(1_000_000_000_000_u64); let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig { balances: pallet_balances::GenesisConfig { balances: vec![ @@ -37,7 +37,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { // transfer call fn call_transfer() -> RuntimeCall { - let value = 100; + let value = TaoCurrency::from(100); RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: AccountId::from(OTHER_ACCOUNT).into(), value, From 556c4f9baf89de9cbc2aa774305d28bb832e6e2d Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 11 Feb 2026 18:03:42 -0500 Subject: [PATCH 002/204] Replace as_64 with try_into --- common/src/currency.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/src/currency.rs b/common/src/currency.rs index 88bdb431c2..d45e4eaacc 100644 --- a/common/src/currency.rs +++ b/common/src/currency.rs @@ -647,7 +647,11 @@ impl From for TaoCurrency { } impl From for TaoCurrency { fn from(n: sp_core::U256) -> Self { - Self(n.as_u64()) + if let Ok(n_u64) = n.try_into() { + Self(n_u64) + } else { + Self(u64::MAX) + } } } From 8898c762feb946b155b6e45a309697fe9cd435d5 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 11 Feb 2026 18:04:45 -0500 Subject: [PATCH 003/204] Spec bump --- 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 2980645d17..f5bce4ef29 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -243,7 +243,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: 376, + spec_version: 377, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From d986ffa8560bef83c12dd2d40bb69af64cd34cfe Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 11 Feb 2026 18:08:37 -0500 Subject: [PATCH 004/204] fix zepter --- pallets/crowdloan/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/crowdloan/Cargo.toml b/pallets/crowdloan/Cargo.toml index 033d928caa..e4d1c245c5 100644 --- a/pallets/crowdloan/Cargo.toml +++ b/pallets/crowdloan/Cargo.toml @@ -43,6 +43,7 @@ std = [ "sp-io/std", "log/std", "sp-core/std", + "subtensor-runtime-common/std", "pallet-balances/std", "pallet-preimage/std", ] From 8f6eb19b16cf6e2da6c5ce2f680371933b0ff3d4 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 12 Feb 2026 10:26:57 -0500 Subject: [PATCH 005/204] Rename: Currency -> Token AlphaCurrency -> AlphaBalance TaoCurrency -> TaoBalance CurrencyReserve -> TokenReserve --- chain-extensions/src/lib.rs | 39 +- chain-extensions/src/mock.rs | 38 +- chain-extensions/src/tests.rs | 80 +-- common/src/currency.rs | 112 ++-- common/src/lib.rs | 25 +- contract-tests/bittensor/lib.rs | 34 +- docs/wasm-contracts.md | 18 +- node/src/benchmarking.rs | 4 +- pallets/admin-utils/src/lib.rs | 12 +- pallets/admin-utils/src/tests/mock.rs | 40 +- pallets/admin-utils/src/tests/mod.rs | 22 +- pallets/commitments/src/mock.rs | 6 +- pallets/commitments/src/tests.rs | 6 +- pallets/crowdloan/src/benchmarking.rs | 8 +- pallets/crowdloan/src/lib.rs | 4 +- .../migrate_add_contributors_count.rs | 2 +- pallets/crowdloan/src/mock.rs | 24 +- pallets/crowdloan/src/tests.rs | 18 +- pallets/subtensor/rpc/src/lib.rs | 6 +- pallets/subtensor/runtime-api/src/lib.rs | 6 +- pallets/subtensor/src/benchmarks.rs | 102 ++-- .../subtensor/src/coinbase/block_emission.rs | 4 +- pallets/subtensor/src/coinbase/block_step.rs | 8 +- pallets/subtensor/src/coinbase/root.rs | 16 +- .../subtensor/src/coinbase/run_coinbase.rs | 87 ++- .../src/coinbase/subnet_emissions.rs | 4 +- pallets/subtensor/src/epoch/run_epoch.rs | 40 +- .../src/extensions/check_coldkey_swap.rs | 2 +- pallets/subtensor/src/lib.rs | 126 ++--- pallets/subtensor/src/macros/config.rs | 22 +- pallets/subtensor/src/macros/dispatches.rs | 34 +- pallets/subtensor/src/macros/events.rs | 38 +- pallets/subtensor/src/macros/genesis.rs | 10 +- .../migrations/migrate_fix_root_subnet_tao.rs | 2 +- .../migrate_fix_root_tao_and_alpha_in.rs | 8 +- .../migrations/migrate_init_total_issuance.rs | 4 +- .../migrate_network_lock_cost_2500.rs | 2 +- ...migrate_network_lock_reduction_interval.rs | 2 +- .../migrations/migrate_pending_emissions.rs | 5 +- .../subtensor/src/migrations/migrate_rao.rs | 12 +- .../migrations/migrate_reset_unactive_sn.rs | 6 +- .../src/migrations/migrate_subnet_locked.rs | 4 +- .../src/migrations/migrate_total_issuance.rs | 2 +- .../subtensor/src/rpc_info/delegate_info.rs | 6 +- .../subtensor/src/rpc_info/dynamic_info.rs | 22 +- pallets/subtensor/src/rpc_info/metagraph.rs | 125 ++-- pallets/subtensor/src/rpc_info/neuron_info.rs | 18 +- pallets/subtensor/src/rpc_info/show_subnet.rs | 34 +- pallets/subtensor/src/rpc_info/stake_info.rs | 16 +- pallets/subtensor/src/rpc_info/subnet_info.rs | 22 +- pallets/subtensor/src/staking/add_stake.rs | 16 +- pallets/subtensor/src/staking/claim_root.rs | 6 +- pallets/subtensor/src/staking/helpers.rs | 24 +- pallets/subtensor/src/staking/move_stake.rs | 28 +- .../subtensor/src/staking/recycle_alpha.rs | 10 +- pallets/subtensor/src/staking/remove_stake.rs | 36 +- pallets/subtensor/src/staking/stake_utils.rs | 92 +-- pallets/subtensor/src/subnets/leasing.rs | 8 +- pallets/subtensor/src/subnets/mechanism.rs | 26 +- pallets/subtensor/src/subnets/registration.rs | 12 +- pallets/subtensor/src/subnets/subnet.rs | 16 +- pallets/subtensor/src/subnets/uids.rs | 6 +- pallets/subtensor/src/swap/swap_coldkey.rs | 2 +- pallets/subtensor/src/swap/swap_hotkey.rs | 2 +- pallets/subtensor/src/tests/children.rs | 28 +- pallets/subtensor/src/tests/claim_root.rs | 152 ++--- pallets/subtensor/src/tests/coinbase.rs | 504 ++++++++--------- pallets/subtensor/src/tests/epoch.rs | 22 +- pallets/subtensor/src/tests/epoch_logs.rs | 40 +- pallets/subtensor/src/tests/leasing.rs | 78 +-- pallets/subtensor/src/tests/mechanism.rs | 56 +- pallets/subtensor/src/tests/migration.rs | 106 ++-- pallets/subtensor/src/tests/mock.rs | 50 +- pallets/subtensor/src/tests/move_stake.rs | 46 +- pallets/subtensor/src/tests/networks.rs | 148 ++--- pallets/subtensor/src/tests/recycle_alpha.rs | 32 +- pallets/subtensor/src/tests/registration.rs | 10 +- pallets/subtensor/src/tests/staking.rs | 534 +++++++++--------- pallets/subtensor/src/tests/staking2.rs | 82 +-- pallets/subtensor/src/tests/subnet.rs | 24 +- pallets/subtensor/src/tests/swap_coldkey.rs | 34 +- pallets/subtensor/src/tests/swap_hotkey.rs | 34 +- .../src/tests/swap_hotkey_with_subnet.rs | 48 +- pallets/subtensor/src/tests/uids.rs | 4 +- pallets/subtensor/src/tests/weights.rs | 8 +- pallets/subtensor/src/utils/misc.rs | 40 +- pallets/subtensor/src/utils/try_state.rs | 21 +- pallets/subtensor/src/utils/voting_power.rs | 4 +- pallets/swap-interface/src/lib.rs | 36 +- pallets/swap-interface/src/order.rs | 42 +- pallets/swap/rpc/src/lib.rs | 10 +- pallets/swap/runtime-api/src/lib.rs | 16 +- pallets/swap/src/mock.rs | 40 +- pallets/swap/src/pallet/impls.rs | 107 ++-- .../migrations/migrate_swapv3_to_balancer.rs | 81 +++ pallets/swap/src/pallet/mod.rs | 33 +- pallets/swap/src/pallet/swap_step.rs | 50 +- pallets/swap/src/pallet/tests.rs | 70 +-- pallets/transaction-fee/src/lib.rs | 32 +- pallets/transaction-fee/src/tests/mock.rs | 48 +- pallets/transaction-fee/src/tests/mod.rs | 42 +- precompiles/src/alpha.rs | 2 +- precompiles/src/metagraph.rs | 2 +- precompiles/src/staking.rs | 2 +- precompiles/src/subnet.rs | 2 +- runtime/src/lib.rs | 56 +- runtime/tests/pallet_proxy.rs | 6 +- 107 files changed, 2201 insertions(+), 2152 deletions(-) create mode 100644 pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs diff --git a/chain-extensions/src/lib.rs b/chain-extensions/src/lib.rs index eaaee70d27..14ea23d9c8 100644 --- a/chain-extensions/src/lib.rs +++ b/chain-extensions/src/lib.rs @@ -19,7 +19,7 @@ use pallet_subtensor_proxy::WeightInfo; use sp_runtime::{DispatchError, Weight, traits::StaticLookup}; use sp_std::marker::PhantomData; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, NetUid, ProxyType, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, ProxyType, TaoBalance}; use subtensor_swap_interface::SwapHandler; #[derive(DebugNoBound)] @@ -97,7 +97,7 @@ where env.charge_weight(weight)?; - let (hotkey, netuid, amount_staked): (T::AccountId, NetUid, TaoCurrency) = env + let (hotkey, netuid, amount_staked): (T::AccountId, NetUid, TaoBalance) = env .read_as() .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; @@ -123,7 +123,7 @@ where env.charge_weight(weight)?; - let (hotkey, netuid, amount_unstaked): (T::AccountId, NetUid, AlphaCurrency) = env + let (hotkey, netuid, amount_unstaked): (T::AccountId, NetUid, AlphaBalance) = env .read_as() .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; @@ -203,7 +203,7 @@ where origin_netuid, destination_netuid, alpha_amount, - ): (T::AccountId, T::AccountId, NetUid, NetUid, AlphaCurrency) = env + ): (T::AccountId, T::AccountId, NetUid, NetUid, AlphaBalance) = env .read_as() .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; @@ -236,7 +236,7 @@ where T::AccountId, NetUid, NetUid, - AlphaCurrency, + AlphaBalance, ) = env .read_as() .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; @@ -269,7 +269,7 @@ where T::AccountId, NetUid, NetUid, - AlphaCurrency, + AlphaBalance, ) = env .read_as() .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; @@ -300,8 +300,8 @@ where let (hotkey, netuid, amount_staked, limit_price, allow_partial): ( T::AccountId, NetUid, - TaoCurrency, - TaoCurrency, + TaoBalance, + TaoBalance, bool, ) = env .read_as() @@ -334,8 +334,8 @@ where let (hotkey, netuid, amount_unstaked, limit_price, allow_partial): ( T::AccountId, NetUid, - AlphaCurrency, - TaoCurrency, + AlphaBalance, + TaoBalance, bool, ) = env .read_as() @@ -372,16 +372,9 @@ where alpha_amount, limit_price, allow_partial, - ): ( - T::AccountId, - NetUid, - NetUid, - AlphaCurrency, - TaoCurrency, - bool, - ) = env - .read_as() - .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; + ): (T::AccountId, NetUid, NetUid, AlphaBalance, TaoBalance, bool) = + env.read_as() + .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; let call_result = pallet_subtensor::Pallet::::swap_stake_limit( RawOrigin::Signed(env.caller()).into(), @@ -408,9 +401,9 @@ where env.charge_weight(weight)?; - let (hotkey, netuid, limit_price): (T::AccountId, NetUid, Option) = - env.read_as() - .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; + let (hotkey, netuid, limit_price): (T::AccountId, NetUid, Option) = env + .read_as() + .map_err(|_| DispatchError::Other("Failed to decode input parameters"))?; let call_result = pallet_subtensor::Pallet::::remove_stake_full_limit( RawOrigin::Signed(env.caller()).into(), diff --git a/chain-extensions/src/mock.rs b/chain-extensions/src/mock.rs index 963001f005..57d154362e 100644 --- a/chain-extensions/src/mock.rs +++ b/chain-extensions/src/mock.rs @@ -25,7 +25,7 @@ use sp_runtime::{ traits::{BlakeTwo256, Convert, IdentityLookup}, }; use sp_std::{cell::RefCell, cmp::Ordering, sync::OnceLock}; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; type Block = frame_system::mocking::MockBlock; @@ -57,7 +57,7 @@ pub type AccountId = U256; // Balance of an account. #[allow(dead_code)] -pub type Balance = TaoCurrency; +pub type Balance = TaoBalance; // An index to a block. #[allow(dead_code)] @@ -75,7 +75,7 @@ pub struct WeightToBalance; impl Convert for WeightToBalance { fn convert(weight: Weight) -> Balance { - TaoCurrency::from(weight.ref_time()) + TaoBalance::from(weight.ref_time()) } } @@ -223,7 +223,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -241,9 +241,9 @@ parameter_types! { parameter_types! { pub ContractsSchedule: pallet_contracts::Schedule = Default::default(); - pub const ContractsDepositPerByte: Balance = TaoCurrency::new(1); - pub const ContractsDepositPerItem: Balance = TaoCurrency::new(10); - pub const ContractsDefaultDepositLimit: Balance = TaoCurrency::new(1_000_000_000); + pub const ContractsDepositPerByte: Balance = TaoBalance::new(1); + pub const ContractsDepositPerItem: Balance = TaoBalance::new(10); + pub const ContractsDefaultDepositLimit: Balance = TaoBalance::new(1_000_000_000); pub const ContractsCodeHashLockupDepositPercent: Perbill = Perbill::from_percent(0); pub const ContractsMaxDelegateDependencies: u32 = 32; pub const ContractsMaxCodeLen: u32 = 120_000; @@ -254,12 +254,12 @@ parameter_types! { } parameter_types! { - pub const ProxyDepositBase: Balance = TaoCurrency::new(1); - pub const ProxyDepositFactor: Balance = TaoCurrency::new(1); + pub const ProxyDepositBase: Balance = TaoBalance::new(1); + pub const ProxyDepositFactor: Balance = TaoBalance::new(1); pub const MaxProxies: u32 = 32; pub const MaxPending: u32 = 32; - pub const AnnouncementDepositBase: Balance = TaoCurrency::new(1); - pub const AnnouncementDepositFactor: Balance = TaoCurrency::new(1); + pub const AnnouncementDepositBase: Balance = TaoBalance::new(1); + pub const AnnouncementDepositFactor: Balance = TaoBalance::new(1); } parameter_types! { @@ -269,8 +269,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = TaoCurrency::new(1); - pub const TransactionByteFee: Balance = TaoCurrency::new(100); + pub const ExistentialDeposit: Balance = TaoBalance::new(1); + pub const TransactionByteFee: Balance = TaoBalance::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -298,8 +298,8 @@ parameter_types! { pub const InitialBurn: u64 = 0; pub const InitialMinBurn: u64 = 500_000; pub const InitialMaxBurn: u64 = 1_000_000_000; - pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO - pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO + pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; @@ -331,7 +331,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = 0; // 100% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 7 * 24 * 60 * 60 / 12; // Default as 7 days - pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); + pub const InitialKeySwapOnSubnetCost: TaoBalance = TaoBalance::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 15; // 15 block, should be bigger than subnet number, then trigger clean up for all subnets pub const MaxContributorsPerLeaseToRemove: u32 = 3; pub const LeaseDividendsDistributionInterval: u32 = 100; @@ -477,8 +477,8 @@ impl pallet_utility::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); - pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); + pub const PreimageBaseDeposit: Balance = TaoBalance::new(1); + pub const PreimageByteDeposit: Balance = TaoBalance::new(1); } impl pallet_preimage::Config for Test { @@ -692,7 +692,7 @@ pub(crate) fn remove_stake_rate_limit_for_tests(hotkey: &U256, coldkey: &U256, n } #[allow(dead_code)] -pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoCurrency, alpha: AlphaCurrency) { +pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoBalance, alpha: AlphaBalance) { SubnetTAO::::set(netuid, tao); SubnetAlphaIn::::set(netuid, alpha); } diff --git a/chain-extensions/src/tests.rs b/chain-extensions/src/tests.rs index 4dee0dec28..b8956e8659 100644 --- a/chain-extensions/src/tests.rs +++ b/chain-extensions/src/tests.rs @@ -12,7 +12,7 @@ use sp_core::Get; use sp_core::U256; use sp_runtime::DispatchError; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, Currency as CurrencyTrait, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; type AccountId = ::AccountId; @@ -83,15 +83,15 @@ fn remove_stake_full_limit_success_with_limit_price() { let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, - TaoCurrency::from(130_000_000_000_u64), - AlphaCurrency::from(110_000_000_000_u64), + TaoBalance::from(130_000_000_000_u64), + AlphaBalance::from(110_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - TaoCurrency::from(stake_amount_raw + 1_000_000_000), + TaoBalance::from(stake_amount_raw + 1_000_000_000), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -112,7 +112,7 @@ fn remove_stake_full_limit_success_with_limit_price() { let mut env = MockEnv::new( FunctionId::RemoveStakeFullLimitV1, coldkey, - (hotkey, netuid, Option::::None).encode(), + (hotkey, netuid, Option::::None).encode(), ) .with_expected_weight(expected_weight); @@ -141,20 +141,20 @@ fn swap_stake_limit_with_tight_price_returns_slippage_error() { let coldkey = U256::from(5701); let hotkey = U256::from(5702); - let stake_alpha = AlphaCurrency::from(150_000_000_000u64); + let stake_alpha = AlphaBalance::from(150_000_000_000u64); let netuid_a = mock::add_dynamic_network(&owner_hotkey_a, &owner_coldkey_a); let netuid_b = mock::add_dynamic_network(&owner_hotkey_b, &owner_coldkey_b); mock::setup_reserves( netuid_a, - TaoCurrency::from(150_000_000_000_u64), - AlphaCurrency::from(110_000_000_000_u64), + TaoBalance::from(150_000_000_000_u64), + AlphaBalance::from(110_000_000_000_u64), ); mock::setup_reserves( netuid_b, - TaoCurrency::from(120_000_000_000_u64), - AlphaCurrency::from(90_000_000_000_u64), + TaoBalance::from(120_000_000_000_u64), + AlphaBalance::from(90_000_000_000_u64), ); mock::register_ok_neuron(netuid_a, hotkey, coldkey, 0); @@ -178,8 +178,8 @@ fn swap_stake_limit_with_tight_price_returns_slippage_error() { &hotkey, &coldkey, netuid_b, ); - let alpha_to_swap: AlphaCurrency = (alpha_origin_before.to_u64() / 8).into(); - let limit_price: TaoCurrency = 100u64.into(); + let alpha_to_swap: AlphaBalance = (alpha_origin_before.to_u64() / 8).into(); + let limit_price: TaoBalance = 100u64.into(); let expected_weight = Weight::from_parts(411_500_000, 0) .saturating_add(::DbWeight::get().reads(35)) @@ -222,15 +222,15 @@ fn remove_stake_limit_success_respects_price_limit() { let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, - TaoCurrency::from(120_000_000_000_u64), - AlphaCurrency::from(100_000_000_000_u64), + TaoBalance::from(120_000_000_000_u64), + AlphaBalance::from(100_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); pallet_subtensor::Pallet::::add_balance_to_coldkey_account( &coldkey, - TaoCurrency::from(stake_amount_raw + 1_000_000_000), + TaoBalance::from(stake_amount_raw + 1_000_000_000), ); assert_ok!(pallet_subtensor::Pallet::::add_stake( @@ -252,9 +252,9 @@ fn remove_stake_limit_success_respects_price_limit() { netuid.into(), ); let limit_price_value = (current_price.to_num::() * 990_000_000f64).round() as u64; - let limit_price: TaoCurrency = limit_price_value.into(); + let limit_price: TaoBalance = limit_price_value.into(); - let alpha_to_unstake: AlphaCurrency = (alpha_before.to_u64() / 2).into(); + let alpha_to_unstake: AlphaBalance = (alpha_before.to_u64() / 2).into(); let expected_weight = Weight::from_parts(377_400_000, 0) .saturating_add(::DbWeight::get().reads(28)) @@ -292,14 +292,14 @@ fn add_stake_limit_success_executes_within_price_guard() { let coldkey = U256::from(5501); let hotkey = U256::from(5502); let amount_raw: u64 = 900_000_000_000; - let limit_price: TaoCurrency = 24_000_000_000u64.into(); + let limit_price: TaoBalance = 24_000_000_000u64.into(); let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, - TaoCurrency::from(150_000_000_000_u64), - AlphaCurrency::from(100_000_000_000_u64), + TaoBalance::from(150_000_000_000_u64), + AlphaBalance::from(100_000_000_000_u64), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -325,7 +325,7 @@ fn add_stake_limit_success_executes_within_price_guard() { ( hotkey, netuid, - TaoCurrency::from(amount_raw), + TaoBalance::from(amount_raw), limit_price, true, ) @@ -344,7 +344,7 @@ fn add_stake_limit_success_executes_within_price_guard() { let balance_after = pallet_subtensor::Pallet::::get_coldkey_balance(&coldkey); assert!(stake_after > stake_before); - assert!(stake_after > AlphaCurrency::ZERO); + assert!(stake_after > AlphaBalance::ZERO); assert!(balance_after < balance_before); }); } @@ -368,12 +368,12 @@ fn swap_stake_success_moves_between_subnets() { mock::setup_reserves( netuid_a, stake_amount_raw.saturating_mul(18).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(30)), + AlphaBalance::from(stake_amount_raw.saturating_mul(30)), ); mock::setup_reserves( netuid_b, stake_amount_raw.saturating_mul(20).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(28)), + AlphaBalance::from(stake_amount_raw.saturating_mul(28)), ); mock::register_ok_neuron(netuid_a, hotkey, coldkey, 0); @@ -401,7 +401,7 @@ fn swap_stake_success_moves_between_subnets() { pallet_subtensor::Pallet::::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, netuid_b, ); - let alpha_to_swap: AlphaCurrency = (alpha_origin_before.to_u64() / 3).into(); + let alpha_to_swap: AlphaBalance = (alpha_origin_before.to_u64() / 3).into(); let expected_weight = Weight::from_parts(351_300_000, 0) .saturating_add(::DbWeight::get().reads(35)) @@ -451,7 +451,7 @@ fn transfer_stake_success_moves_between_coldkeys() { mock::setup_reserves( netuid, stake_amount_raw.saturating_mul(15).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(25)), + AlphaBalance::from(stake_amount_raw.saturating_mul(25)), ); mock::register_ok_neuron(netuid, hotkey, origin_coldkey, 0); @@ -476,7 +476,7 @@ fn transfer_stake_success_moves_between_coldkeys() { &origin_coldkey, netuid, ); - let alpha_to_transfer: AlphaCurrency = (alpha_before.to_u64() / 3).into(); + let alpha_to_transfer: AlphaBalance = (alpha_before.to_u64() / 3).into(); let expected_weight = Weight::from_parts(160_300_000, 0) .saturating_add(::DbWeight::get().reads(13)) @@ -534,7 +534,7 @@ fn move_stake_success_moves_alpha_between_hotkeys() { mock::setup_reserves( netuid, stake_amount_raw.saturating_mul(15).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(25)), + AlphaBalance::from(stake_amount_raw.saturating_mul(25)), ); mock::register_ok_neuron(netuid, origin_hotkey, coldkey, 0); @@ -560,7 +560,7 @@ fn move_stake_success_moves_alpha_between_hotkeys() { &coldkey, netuid, ); - let alpha_to_move: AlphaCurrency = (alpha_before.to_u64() / 2).into(); + let alpha_to_move: AlphaBalance = (alpha_before.to_u64() / 2).into(); let expected_weight = Weight::from_parts(164_300_000, 0) .saturating_add(::DbWeight::get().reads(15)) @@ -616,7 +616,7 @@ fn unstake_all_alpha_success_moves_stake_to_root() { mock::setup_reserves( netuid, stake_amount_raw.saturating_mul(20).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(30)), + AlphaBalance::from(stake_amount_raw.saturating_mul(30)), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -649,7 +649,7 @@ fn unstake_all_alpha_success_moves_stake_to_root() { pallet_subtensor::Pallet::::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, netuid, ); - assert!(subnet_alpha <= AlphaCurrency::from(1_000)); + assert!(subnet_alpha <= AlphaBalance::from(1_000)); let root_alpha = pallet_subtensor::Pallet::::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -657,7 +657,7 @@ fn unstake_all_alpha_success_moves_stake_to_root() { &coldkey, NetUid::ROOT, ); - assert!(root_alpha > AlphaCurrency::ZERO); + assert!(root_alpha > AlphaBalance::ZERO); }); } @@ -832,13 +832,13 @@ fn add_stake_success_updates_stake_and_returns_success_code() { let hotkey = U256::from(202); let min_stake = DefaultMinStake::::get(); let amount_raw = min_stake.to_u64().saturating_mul(10); - let amount: TaoCurrency = amount_raw.into(); + let amount: TaoBalance = amount_raw.into(); let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); mock::setup_reserves( netuid, (amount_raw * 1_000_000).into(), - AlphaCurrency::from(amount_raw * 10_000_000), + AlphaBalance::from(amount_raw * 10_000_000), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -869,7 +869,7 @@ fn add_stake_success_updates_stake_and_returns_success_code() { let total_stake = pallet_subtensor::Pallet::::get_total_stake_for_hotkey(&hotkey); - assert!(total_stake > TaoCurrency::ZERO); + assert!(total_stake > TaoBalance::ZERO); }); } @@ -884,7 +884,7 @@ fn remove_stake_with_no_stake_returns_amount_too_low() { mock::register_ok_neuron(netuid, hotkey, coldkey, 0); let min_stake = DefaultMinStake::::get(); - let amount: AlphaCurrency = AlphaCurrency::from(min_stake.to_u64()); + let amount: AlphaBalance = AlphaBalance::from(min_stake.to_u64()); let expected_weight = Weight::from_parts(196_800_000, 0) .saturating_add(::DbWeight::get().reads(19)) @@ -926,7 +926,7 @@ fn unstake_all_success_unstakes_balance() { mock::setup_reserves( netuid, stake_amount_raw.saturating_mul(10).into(), - AlphaCurrency::from(stake_amount_raw.saturating_mul(20)), + AlphaBalance::from(stake_amount_raw.saturating_mul(20)), ); mock::register_ok_neuron(netuid, hotkey, coldkey, 0); @@ -961,7 +961,7 @@ fn unstake_all_success_unstakes_balance() { pallet_subtensor::Pallet::::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, netuid, ); - assert!(remaining_alpha <= AlphaCurrency::from(1_000)); + assert!(remaining_alpha <= AlphaBalance::from(1_000)); let post_balance = pallet_subtensor::Pallet::::get_coldkey_balance(&coldkey); assert!(post_balance > pre_balance); @@ -978,8 +978,8 @@ fn get_alpha_price_returns_encoded_price() { let netuid = mock::add_dynamic_network(&owner_hotkey, &owner_coldkey); // Set up reserves to establish a price - let tao_reserve = TaoCurrency::from(150_000_000_000u64); - let alpha_reserve = AlphaCurrency::from(100_000_000_000u64); + let tao_reserve = TaoBalance::from(150_000_000_000u64); + let alpha_reserve = AlphaBalance::from(100_000_000_000u64); mock::setup_reserves(netuid, tao_reserve, alpha_reserve); // Get expected price from swap handler diff --git a/common/src/currency.rs b/common/src/currency.rs index d45e4eaacc..58b61dbeb5 100644 --- a/common/src/currency.rs +++ b/common/src/currency.rs @@ -28,7 +28,7 @@ use sp_arithmetic::traits::{ #[cfg(feature = "std")] use sp_rpc::number::NumberOrHex; -#[freeze_struct("40205476b6d995b2")] +#[freeze_struct("3ad2c79c0e81406d")] #[repr(transparent)] #[derive( Deserialize, @@ -47,9 +47,9 @@ use sp_rpc::number::NumberOrHex; PartialOrd, RuntimeDebug, )] -pub struct AlphaCurrency(u64); +pub struct AlphaBalance(u64); -#[freeze_struct("4d1bcb31c40c2594")] +#[freeze_struct("5f0d6c02f3ac2c1")] #[repr(transparent)] #[derive( Deserialize, @@ -68,7 +68,7 @@ pub struct AlphaCurrency(u64); PartialOrd, RuntimeDebug, )] -pub struct TaoCurrency(u64); +pub struct TaoBalance(u64); // implements traits required by the Currency trait (ToFixed + Into + From) and CompactAs, // TypeInfo and Display. It expects a wrapper structure for u64 (CurrencyT(u64)). @@ -295,7 +295,7 @@ macro_rules! impl_approx { }; } -pub trait Currency: +pub trait Token: ToFixed + Into + From @@ -335,30 +335,30 @@ pub trait Currency: } } -impl_arithmetic_operators!(AlphaCurrency); -impl_approx!(AlphaCurrency); -impl_currency_reqs!(AlphaCurrency); +impl_arithmetic_operators!(AlphaBalance); +impl_approx!(AlphaBalance); +impl_currency_reqs!(AlphaBalance); -impl_arithmetic_operators!(TaoCurrency); -impl_approx!(TaoCurrency); -impl_currency_reqs!(TaoCurrency); +impl_arithmetic_operators!(TaoBalance); +impl_approx!(TaoBalance); +impl_currency_reqs!(TaoBalance); -impl Currency for AlphaCurrency { +impl Token for AlphaBalance { const MAX: Self = Self(u64::MAX); const ZERO: Self = Self(0); } -impl Currency for TaoCurrency { +impl Token for TaoBalance { const MAX: Self = Self(u64::MAX); const ZERO: Self = Self(0); } // // Required explicitly by the bound -// impl From for TaoCurrency { +// impl From for TaoBalance { // fn from(x: u32) -> Self { Self(x as u64) } // } -impl Bounded for TaoCurrency { +impl Bounded for TaoBalance { fn min_value() -> Self { Self(u64::MIN) } @@ -367,7 +367,7 @@ impl Bounded for TaoCurrency { } } -impl Saturating for TaoCurrency { +impl Saturating for TaoBalance { fn saturating_add(self, rhs: Self) -> Self { Self(self.0.saturating_add(rhs.0)) } @@ -378,13 +378,13 @@ impl Saturating for TaoCurrency { ////////////////// -impl CheckedNeg for TaoCurrency { - fn checked_neg(&self) -> Option { +impl CheckedNeg for TaoBalance { + fn checked_neg(&self) -> Option { Some(*self) } } -impl CheckedRem for TaoCurrency { +impl CheckedRem for TaoBalance { fn checked_rem(&self, rhs: &Self) -> Option { let lhs_u64: u64 = (*self).into(); let rhs_u64: u64 = (*rhs).into(); @@ -392,7 +392,7 @@ impl CheckedRem for TaoCurrency { } } -impl Shl for TaoCurrency { +impl Shl for TaoBalance { type Output = Self; #[allow(clippy::arithmetic_side_effects)] @@ -405,7 +405,7 @@ impl Shl for TaoCurrency { } } -impl Shr for TaoCurrency { +impl Shr for TaoBalance { type Output = Self; #[allow(clippy::arithmetic_side_effects)] @@ -416,7 +416,7 @@ impl Shr for TaoCurrency { } } -impl Shl for TaoCurrency { +impl Shl for TaoBalance { type Output = Self; #[allow(clippy::arithmetic_side_effects)] @@ -429,7 +429,7 @@ impl Shl for TaoCurrency { } } -impl Shr for TaoCurrency { +impl Shr for TaoBalance { type Output = Self; #[allow(clippy::arithmetic_side_effects)] @@ -440,57 +440,57 @@ impl Shr for TaoCurrency { } } -impl Not for TaoCurrency { +impl Not for TaoBalance { type Output = Self; fn not(self) -> Self { Self(!self.0) } } -impl BitAnd for TaoCurrency { +impl BitAnd for TaoBalance { type Output = Self; fn bitand(self, rhs: Self) -> Self { Self(self.0 & rhs.0) } } -impl BitOr for TaoCurrency { +impl BitOr for TaoBalance { type Output = Self; fn bitor(self, rhs: Self) -> Self { Self(self.0 | rhs.0) } } -impl BitXor for TaoCurrency { +impl BitXor for TaoBalance { type Output = Self; fn bitxor(self, rhs: Self) -> Self { Self(self.0 ^ rhs.0) } } -impl CheckedAdd for TaoCurrency { +impl CheckedAdd for TaoBalance { fn checked_add(&self, rhs: &Self) -> Option { self.0.checked_add(rhs.0).map(Self) } } -impl CheckedSub for TaoCurrency { +impl CheckedSub for TaoBalance { fn checked_sub(&self, rhs: &Self) -> Option { self.0.checked_sub(rhs.0).map(Self) } } -impl CheckedMul for TaoCurrency { +impl CheckedMul for TaoBalance { fn checked_mul(&self, rhs: &Self) -> Option { self.0.checked_mul(rhs.0).map(Self) } } -impl CheckedDiv for TaoCurrency { +impl CheckedDiv for TaoBalance { fn checked_div(&self, rhs: &Self) -> Option { self.0.checked_div(rhs.0).map(Self) } } #[allow(clippy::arithmetic_side_effects)] -impl CheckedShl for TaoCurrency { +impl CheckedShl for TaoBalance { fn checked_shl(&self, rhs: u32) -> Option { // Validate first (so we can return None), then use the operator as requested. let lhs: u64 = (*self).into(); @@ -500,7 +500,7 @@ impl CheckedShl for TaoCurrency { } #[allow(clippy::arithmetic_side_effects)] -impl CheckedShr for TaoCurrency { +impl CheckedShr for TaoBalance { fn checked_shr(&self, rhs: u32) -> Option { let lhs: u64 = (*self).into(); lhs.checked_shr(rhs)?; @@ -508,14 +508,14 @@ impl CheckedShr for TaoCurrency { } } -impl RemAssign for TaoCurrency { +impl RemAssign for TaoBalance { #[allow(clippy::arithmetic_side_effects)] fn rem_assign(&mut self, rhs: Self) { *self = *self % rhs; } } -impl PrimInt for TaoCurrency { +impl PrimInt for TaoBalance { fn count_ones(self) -> u32 { self.0.count_ones() } @@ -567,9 +567,9 @@ impl PrimInt for TaoCurrency { } } -impl Unsigned for TaoCurrency {} +impl Unsigned for TaoBalance {} -impl Num for TaoCurrency { +impl Num for TaoBalance { type FromStrRadixErr = ::FromStrRadixErr; fn from_str_radix(s: &str, radix: u32) -> Result { @@ -577,13 +577,13 @@ impl Num for TaoCurrency { } } -impl NumCast for TaoCurrency { +impl NumCast for TaoBalance { fn from(n: T) -> Option { n.to_u64().map(Self) } } -impl ToPrimitive for TaoCurrency { +impl ToPrimitive for TaoBalance { fn to_i64(&self) -> Option { self.0.to_i64() } @@ -598,7 +598,7 @@ impl ToPrimitive for TaoCurrency { } } -impl FromPrimitive for TaoCurrency { +impl FromPrimitive for TaoBalance { fn from_u64(n: u64) -> Option { Some(Self(n)) } @@ -617,7 +617,7 @@ impl FromPrimitive for TaoCurrency { } } -impl MultiplyRational for TaoCurrency { +impl MultiplyRational for TaoBalance { fn multiply_rational(self, n: Self, d: Self, r: Rounding) -> Option { let a: u64 = self.into(); let n: u64 = n.into(); @@ -626,12 +626,12 @@ impl MultiplyRational for TaoCurrency { } } -impl From for TaoCurrency { +impl From for TaoBalance { fn from(x: u16) -> Self { - TaoCurrency(x as u64) + TaoBalance(x as u64) } } -impl From for TaoCurrency { +impl From for TaoBalance { fn from(n: u128) -> Self { if n <= u64::MAX as u128 { Self(n as u64) @@ -640,12 +640,12 @@ impl From for TaoCurrency { } } } -impl From for TaoCurrency { +impl From for TaoBalance { fn from(n: usize) -> Self { Self(n as u64) } } -impl From for TaoCurrency { +impl From for TaoBalance { fn from(n: sp_core::U256) -> Self { if let Ok(n_u64) = n.try_into() { Self(n_u64) @@ -656,42 +656,42 @@ impl From for TaoCurrency { } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> usize { self.0 as usize } } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> u128 { self.0 as u128 } } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> u32 { self.0 as u32 } } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> u16 { self.0 as u16 } } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> u8 { self.0 as u8 } } #[allow(clippy::from_over_into)] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> sp_core::U256 { sp_core::U256::from(self.0) } @@ -699,7 +699,7 @@ impl Into for TaoCurrency { #[allow(clippy::from_over_into)] #[cfg(feature = "std")] -impl Into for TaoCurrency { +impl Into for TaoBalance { fn into(self) -> NumberOrHex { NumberOrHex::Number(self.0) } @@ -707,8 +707,8 @@ impl Into for TaoCurrency { pub struct ConstTao; -impl Get for ConstTao { - fn get() -> TaoCurrency { - TaoCurrency::new(N) +impl Get for ConstTao { + fn get() -> TaoBalance { + TaoBalance::new(N) } } diff --git a/common/src/lib.rs b/common/src/lib.rs index 68e934c32e..1909b3918d 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -19,7 +19,7 @@ pub use currency::*; mod currency; /// Balance of an account. -pub type Balance = TaoCurrency; +pub type Balance = TaoBalance; /// An index to a block. pub type BlockNumber = u32; @@ -40,8 +40,8 @@ pub type Hash = sp_core::H256; pub type Nonce = u32; /// Transfers below SMALL_TRANSFER_LIMIT are considered small transfers -pub const SMALL_TRANSFER_LIMIT: Balance = TaoCurrency::new(500_000_000); // 0.5 TAO -pub const SMALL_ALPHA_TRANSFER_LIMIT: AlphaCurrency = AlphaCurrency::new(500_000_000); // 0.5 Alpha +pub const SMALL_TRANSFER_LIMIT: Balance = TaoBalance::new(500_000_000); // 0.5 TAO +pub const SMALL_ALPHA_TRANSFER_LIMIT: AlphaBalance = AlphaBalance::new(500_000_000); // 0.5 Alpha #[freeze_struct("c972489bff40ae48")] #[repr(transparent)] @@ -233,32 +233,29 @@ pub trait SubnetInfo { fn hotkey_of_uid(netuid: NetUid, uid: u16) -> Option; } -pub trait CurrencyReserve { +pub trait TokenReserve { fn reserve(netuid: NetUid) -> C; fn increase_provided(netuid: NetUid, amount: C); fn decrease_provided(netuid: NetUid, amount: C); } pub trait BalanceOps { - fn tao_balance(account_id: &AccountId) -> TaoCurrency; - fn alpha_balance(netuid: NetUid, coldkey: &AccountId, hotkey: &AccountId) -> AlphaCurrency; - fn increase_balance(coldkey: &AccountId, tao: TaoCurrency); - fn decrease_balance( - coldkey: &AccountId, - tao: TaoCurrency, - ) -> Result; + fn tao_balance(account_id: &AccountId) -> TaoBalance; + fn alpha_balance(netuid: NetUid, coldkey: &AccountId, hotkey: &AccountId) -> AlphaBalance; + fn increase_balance(coldkey: &AccountId, tao: TaoBalance); + fn decrease_balance(coldkey: &AccountId, tao: TaoBalance) -> Result; fn increase_stake( coldkey: &AccountId, hotkey: &AccountId, netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, ) -> Result<(), DispatchError>; fn decrease_stake( coldkey: &AccountId, hotkey: &AccountId, netuid: NetUid, - alpha: AlphaCurrency, - ) -> Result; + alpha: AlphaBalance, + ) -> Result; } pub mod time { diff --git a/contract-tests/bittensor/lib.rs b/contract-tests/bittensor/lib.rs index 61d72e7b54..fd8161000b 100755 --- a/contract-tests/bittensor/lib.rs +++ b/contract-tests/bittensor/lib.rs @@ -5,7 +5,7 @@ use parity_scale_codec::Compact; #[derive(Debug, Clone)] pub struct CustomEnvironment; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; pub enum FunctionId { GetStakeInfoForHotkeyColdkeyNetuidV1 = 0, AddStakeV1 = 1, @@ -40,14 +40,14 @@ pub trait RuntimeReadWrite { fn add_stake( hotkey: ::AccountId, netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ); #[ink(function = 2)] fn remove_stake( hotkey: ::AccountId, netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ); #[ink(function = 3)] @@ -62,7 +62,7 @@ pub trait RuntimeReadWrite { destination_hotkey: ::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ); #[ink(function = 6)] @@ -71,7 +71,7 @@ pub trait RuntimeReadWrite { hotkey: ::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ); #[ink(function = 7)] @@ -79,15 +79,15 @@ pub trait RuntimeReadWrite { hotkey: ::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ); #[ink(function = 8)] fn add_stake_limit( hotkey: ::AccountId, netuid: NetUid, - amount: TaoCurrency, - limit_price: TaoCurrency, + amount: TaoBalance, + limit_price: TaoBalance, allow_partial: bool, ); @@ -95,8 +95,8 @@ pub trait RuntimeReadWrite { fn remove_stake_limit( hotkey: ::AccountId, netuid: NetUid, - amount: TaoCurrency, - limit_price: TaoCurrency, + amount: TaoBalance, + limit_price: TaoBalance, allow_partial: bool, ); @@ -105,8 +105,8 @@ pub trait RuntimeReadWrite { hotkey: ::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - amount: AlphaCurrency, - limit_price: TaoCurrency, + amount: AlphaBalance, + limit_price: TaoBalance, allow_partial: bool, ); @@ -114,7 +114,7 @@ pub trait RuntimeReadWrite { fn remove_stake_full_limit( hotkey: ::AccountId, netuid: NetUid, - limit_price: TaoCurrency, + limit_price: TaoBalance, ); #[ink(function = 12)] @@ -154,7 +154,7 @@ impl ink::env::Environment for CustomEnvironment { const MAX_EVENT_TOPICS: usize = 4; type AccountId = ink::primitives::AccountId; - type Balance = TaoCurrency; + type Balance = TaoBalance; type Hash = ink::primitives::Hash; type BlockNumber = u32; type Timestamp = u64; @@ -167,10 +167,10 @@ pub struct StakeInfo { hotkey: AccountId, coldkey: AccountId, netuid: Compact, - stake: Compact, + stake: Compact, locked: Compact, - emission: Compact, - tao_emission: Compact, + emission: Compact, + tao_emission: Compact, drain: Compact, is_registered: bool, } diff --git a/docs/wasm-contracts.md b/docs/wasm-contracts.md index ed6e9ecdd3..d3a6b5637f 100644 --- a/docs/wasm-contracts.md +++ b/docs/wasm-contracts.md @@ -29,17 +29,17 @@ Subtensor provides a custom chain extension that allows smart contracts to inter | Function ID | Name | Description | Parameters | Returns | |------------|------|-------------|------------|---------| | 0 | `get_stake_info_for_hotkey_coldkey_netuid` | Query stake information | `(AccountId, AccountId, NetUid)` | `Option` | -| 1 | `add_stake` | Delegate stake from coldkey to hotkey | `(AccountId, NetUid, TaoCurrency)` | Error code | -| 2 | `remove_stake` | Withdraw stake from hotkey back to coldkey | `(AccountId, NetUid, AlphaCurrency)` | Error code | +| 1 | `add_stake` | Delegate stake from coldkey to hotkey | `(AccountId, NetUid, TaoBalance)` | Error code | +| 2 | `remove_stake` | Withdraw stake from hotkey back to coldkey | `(AccountId, NetUid, AlphaBalance)` | Error code | | 3 | `unstake_all` | Unstake all TAO from a hotkey | `(AccountId)` | Error code | | 4 | `unstake_all_alpha` | Unstake all Alpha from a hotkey | `(AccountId)` | Error code | -| 5 | `move_stake` | Move stake between hotkeys | `(AccountId, AccountId, NetUid, NetUid, AlphaCurrency)` | Error code | -| 6 | `transfer_stake` | Transfer stake between coldkeys | `(AccountId, AccountId, NetUid, NetUid, AlphaCurrency)` | Error code | -| 7 | `swap_stake` | Swap stake allocations between subnets | `(AccountId, NetUid, NetUid, AlphaCurrency)` | Error code | -| 8 | `add_stake_limit` | Delegate stake with a price limit | `(AccountId, NetUid, TaoCurrency, TaoCurrency, bool)` | Error code | -| 9 | `remove_stake_limit` | Withdraw stake with a price limit | `(AccountId, NetUid, AlphaCurrency, TaoCurrency, bool)` | Error code | -| 10 | `swap_stake_limit` | Swap stake between subnets with price limit | `(AccountId, NetUid, NetUid, AlphaCurrency, TaoCurrency, bool)` | Error code | -| 11 | `remove_stake_full_limit` | Fully withdraw stake with optional price limit | `(AccountId, NetUid, Option)` | Error code | +| 5 | `move_stake` | Move stake between hotkeys | `(AccountId, AccountId, NetUid, NetUid, AlphaBalance)` | Error code | +| 6 | `transfer_stake` | Transfer stake between coldkeys | `(AccountId, AccountId, NetUid, NetUid, AlphaBalance)` | Error code | +| 7 | `swap_stake` | Swap stake allocations between subnets | `(AccountId, NetUid, NetUid, AlphaBalance)` | Error code | +| 8 | `add_stake_limit` | Delegate stake with a price limit | `(AccountId, NetUid, TaoBalance, TaoBalance, bool)` | Error code | +| 9 | `remove_stake_limit` | Withdraw stake with a price limit | `(AccountId, NetUid, AlphaBalance, TaoBalance, bool)` | Error code | +| 10 | `swap_stake_limit` | Swap stake between subnets with price limit | `(AccountId, NetUid, NetUid, AlphaBalance, TaoBalance, bool)` | Error code | +| 11 | `remove_stake_full_limit` | Fully withdraw stake with optional price limit | `(AccountId, NetUid, Option)` | Error code | | 12 | `set_coldkey_auto_stake_hotkey` | Configure automatic stake destination | `(NetUid, AccountId)` | Error code | | 13 | `add_proxy` | Add a staking proxy for the caller | `(AccountId)` | Error code | | 14 | `remove_proxy` | Remove a staking proxy for the caller | `(AccountId)` | Error code | diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index c4261577df..71b7b42801 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -14,7 +14,7 @@ use sp_core::{Encode, Pair}; use sp_inherents::{InherentData, InherentDataProvider}; use sp_keyring::Sr25519Keyring; use sp_runtime::{OpaqueExtrinsic, SaturatedConversion}; -use subtensor_runtime_common::{AccountId, Balance, Currency, Signature, TaoCurrency}; +use subtensor_runtime_common::{AccountId, Balance, Signature, TaoBalance, Token}; use std::{sync::Arc, time::Duration}; @@ -137,7 +137,7 @@ pub fn create_benchmark_extrinsic( frame_system::CheckWeight::::new(), transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new( pallet_transaction_payment::ChargeTransactionPayment::::from( - TaoCurrency::ZERO, + TaoBalance::ZERO, ), ), sudo_wrapper::SudoTransactionExtension::::new(), diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 2209ea7295..b96b080077 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -32,7 +32,7 @@ pub mod pallet { }; use sp_runtime::BoundedVec; use substrate_fixed::types::{I64F64, I96F32, U64F64}; - use subtensor_runtime_common::{MechId, NetUid, TaoCurrency}; + use subtensor_runtime_common::{MechId, NetUid, TaoBalance}; /// The main data structure of the module. #[pallet::pallet] @@ -748,7 +748,7 @@ pub mod pallet { pub fn sudo_set_min_burn( origin: OriginFor, netuid: NetUid, - min_burn: TaoCurrency, + min_burn: TaoBalance, ) -> DispatchResult { let maybe_owner = pallet_subtensor::Pallet::::ensure_sn_owner_or_root_with_limits( origin, @@ -789,7 +789,7 @@ pub mod pallet { pub fn sudo_set_max_burn( origin: OriginFor, netuid: NetUid, - max_burn: TaoCurrency, + max_burn: TaoBalance, ) -> DispatchResult { let maybe_owner = pallet_subtensor::Pallet::::ensure_sn_owner_or_root_with_limits( origin, @@ -1052,7 +1052,7 @@ pub mod pallet { ))] pub fn sudo_set_total_issuance( origin: OriginFor, - total_issuance: TaoCurrency, + total_issuance: TaoBalance, ) -> DispatchResult { ensure_root(origin)?; @@ -1096,7 +1096,7 @@ pub mod pallet { ))] pub fn sudo_set_network_min_lock_cost( origin: OriginFor, - lock_cost: TaoCurrency, + lock_cost: TaoBalance, ) -> DispatchResult { ensure_root(origin)?; @@ -1161,7 +1161,7 @@ pub mod pallet { pub fn sudo_set_rao_recycled( origin: OriginFor, netuid: NetUid, - rao_recycled: TaoCurrency, + rao_recycled: TaoBalance, ) -> DispatchResult { ensure_root(origin)?; ensure!( diff --git a/pallets/admin-utils/src/tests/mock.rs b/pallets/admin-utils/src/tests/mock.rs index 2b247a36eb..e72e6b2245 100644 --- a/pallets/admin-utils/src/tests/mock.rs +++ b/pallets/admin-utils/src/tests/mock.rs @@ -19,7 +19,7 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -use subtensor_runtime_common::{ConstTao, NetUid, TaoCurrency}; +use subtensor_runtime_common::{ConstTao, NetUid, TaoBalance}; type Block = frame_system::mocking::MockBlock; // Configure a mock runtime to test the pallet. @@ -65,7 +65,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = TaoCurrency; +pub type Balance = TaoBalance; // An index to a block. #[allow(dead_code)] @@ -81,8 +81,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = TaoCurrency::new(1); - pub const TransactionByteFee: Balance = TaoCurrency::new(100); + pub const ExistentialDeposit: Balance = TaoBalance::new(1); + pub const TransactionByteFee: Balance = TaoBalance::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -107,15 +107,15 @@ parameter_types! { pub const InitialTxRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxDelegateTakeRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing - pub const InitialBurn: TaoCurrency = TaoCurrency::new(0); - pub const InitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); - pub const InitialMaxBurn: TaoCurrency = TaoCurrency::new(1_000_000_000); - pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO - pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const InitialBurn: TaoBalance = TaoBalance::new(0); + pub const InitialMinBurn: TaoBalance = TaoBalance::new(500_000); + pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000); + pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO + pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; - pub const InitialIssuance: TaoCurrency = TaoCurrency::new(0); + pub const InitialIssuance: TaoBalance = TaoBalance::new(0); pub const InitialDifficulty: u64 = 10000; pub const InitialActivityCutoff: u16 = 5000; pub const InitialAdjustmentInterval: u16 = 100; @@ -126,13 +126,13 @@ parameter_types! { pub const InitialRegistrationRequirement: u16 = u16::MAX; // Top 100% pub const InitialMinDifficulty: u64 = 1; pub const InitialMaxDifficulty: u64 = u64::MAX; - pub const InitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::new(0); + pub const InitialRAORecycledForRegistration: TaoBalance = TaoBalance::new(0); pub const InitialNetworkImmunityPeriod: u64 = 1_296_000; - pub const InitialNetworkMinLockCost: TaoCurrency = TaoCurrency::new(100_000_000_000); + pub const InitialNetworkMinLockCost: TaoBalance = TaoBalance::new(100_000_000_000); pub const InitialSubnetOwnerCut: u16 = 0; // 0%. 100% of rewards go to validators + miners. pub const InitialNetworkLockReductionInterval: u64 = 2; // 2 blocks. pub const InitialNetworkRateLimit: u64 = 0; - pub const InitialKeySwapCost: TaoCurrency = TaoCurrency::new(1_000_000_000); + pub const InitialKeySwapCost: TaoBalance = TaoBalance::new(1_000_000_000); pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -143,7 +143,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = u64::MAX/10; // 10% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 0; // 0 days - pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); + pub const InitialKeySwapOnSubnetCost: TaoBalance = TaoBalance::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 7 * 24 * 60 * 60 / 12; // 7 days pub const LeaseDividendsDistributionInterval: u32 = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -226,8 +226,8 @@ impl pallet_subtensor::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); - pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); + pub const PreimageBaseDeposit: Balance = TaoBalance::new(1); + pub const PreimageByteDeposit: Balance = TaoBalance::new(1); } impl pallet_preimage::Config for Test { @@ -240,8 +240,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); - pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); + pub const MinimumDeposit: TaoBalance = TaoBalance::new(50); + pub const AbsoluteMinimumContribution: TaoBalance = TaoBalance::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -278,7 +278,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -307,7 +307,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = TaoCurrency; + type Balance = TaoBalance; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ConstTao<1>; diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index ab27d20140..58320a521a 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -17,7 +17,7 @@ use pallet_subtensor::{ use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::{Get, Pair, U256, ed25519}; use substrate_fixed::types::I96F32; -use subtensor_runtime_common::{Currency, MechId, NetUid, TaoCurrency}; +use subtensor_runtime_common::{MechId, NetUid, TaoBalance, Token}; use crate::Error; use crate::pallet::PrecompileEnable; @@ -397,7 +397,7 @@ fn test_sudo_subnet_owner_cut() { #[test] fn test_sudo_set_issuance() { new_test_ext().execute_with(|| { - let to_be_set = TaoCurrency::from(10); + let to_be_set = TaoBalance::from(10); assert_eq!( AdminUtils::sudo_set_total_issuance( <::RuntimeOrigin>::signed(U256::from(0)), @@ -920,7 +920,7 @@ fn test_sudo_set_bonds_penalty() { fn test_sudo_set_rao_recycled() { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let to_be_set = TaoCurrency::from(10); + let to_be_set = TaoBalance::from(10); add_network(netuid, 10); let init_value = SubtensorModule::get_rao_recycled(netuid); @@ -2091,7 +2091,7 @@ fn test_freeze_window_blocks_root_and_owner() { fn test_sudo_set_min_burn() { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let to_be_set = TaoCurrency::from(1_000_000); + let to_be_set = TaoBalance::from(1_000_000); add_network(netuid, 10); let init_value = SubtensorModule::get_min_burn(netuid); @@ -2099,7 +2099,7 @@ fn test_sudo_set_min_burn() { assert_ok!(AdminUtils::sudo_set_min_burn( <::RuntimeOrigin>::root(), netuid, - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) )); assert_ne!(SubtensorModule::get_min_burn(netuid), init_value); assert_eq!(SubtensorModule::get_min_burn(netuid), to_be_set); @@ -2109,7 +2109,7 @@ fn test_sudo_set_min_burn() { AdminUtils::sudo_set_min_burn( <::RuntimeOrigin>::root(), NetUid::from(42), - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) ), Error::::SubnetDoesNotExist ); @@ -2119,7 +2119,7 @@ fn test_sudo_set_min_burn() { AdminUtils::sudo_set_min_burn( <::RuntimeOrigin>::signed(U256::from(1)), netuid, - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) ), DispatchError::BadOrigin ); @@ -2327,7 +2327,7 @@ fn test_owner_hyperparam_rate_limit_independent_per_param() { fn test_sudo_set_max_burn() { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let to_be_set = TaoCurrency::from(100_000_001); + let to_be_set = TaoBalance::from(100_000_001); add_network(netuid, 10); let init_value = SubtensorModule::get_max_burn(netuid); @@ -2335,7 +2335,7 @@ fn test_sudo_set_max_burn() { assert_ok!(AdminUtils::sudo_set_max_burn( <::RuntimeOrigin>::root(), netuid, - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) )); assert_ne!(SubtensorModule::get_max_burn(netuid), init_value); assert_eq!(SubtensorModule::get_max_burn(netuid), to_be_set); @@ -2345,7 +2345,7 @@ fn test_sudo_set_max_burn() { AdminUtils::sudo_set_max_burn( <::RuntimeOrigin>::root(), NetUid::from(42), - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) ), Error::::SubnetDoesNotExist ); @@ -2355,7 +2355,7 @@ fn test_sudo_set_max_burn() { AdminUtils::sudo_set_max_burn( <::RuntimeOrigin>::signed(U256::from(1)), netuid, - TaoCurrency::from(to_be_set) + TaoBalance::from(to_be_set) ), DispatchError::BadOrigin ); diff --git a/pallets/commitments/src/mock.rs b/pallets/commitments/src/mock.rs index 253a06fff4..b5bf07ccf4 100644 --- a/pallets/commitments/src/mock.rs +++ b/pallets/commitments/src/mock.rs @@ -12,7 +12,7 @@ use sp_runtime::{ testing::Header, traits::{BlakeTwo256, ConstU16, IdentityLookup}, }; -use subtensor_runtime_common::{ConstTao, TaoCurrency}; +use subtensor_runtime_common::{ConstTao, TaoBalance}; pub type Block = sp_runtime::generic::Block; pub type UncheckedExtrinsic = @@ -46,7 +46,7 @@ impl frame_system::Config for Test { type BlockHashCount = ConstU64<250>; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -62,7 +62,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = TaoCurrency; + type Balance = TaoBalance; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ConstTao<1>; diff --git a/pallets/commitments/src/tests.rs b/pallets/commitments/src/tests.rs index 63cdde2ab1..8050b455fa 100644 --- a/pallets/commitments/src/tests.rs +++ b/pallets/commitments/src/tests.rs @@ -2,7 +2,7 @@ use codec::Encode; use sp_std::prelude::*; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; #[cfg(test)] use crate::{ @@ -1171,11 +1171,11 @@ fn set_commitment_unreserve_leftover_fails() { Balances::make_free_balance_be(&who, 10_000.into()); - let fake_deposit: TaoCurrency = 100.into(); + let fake_deposit: TaoBalance = 100.into(); let dummy_info = CommitmentInfo:: { fields: BoundedVec::try_from(vec![]).expect("empty fields is fine"), }; - let registration = Registration:: { + let registration = Registration:: { deposit: fake_deposit, info: dummy_info, block: 0u64.into(), diff --git a/pallets/crowdloan/src/benchmarking.rs b/pallets/crowdloan/src/benchmarking.rs index b75d859618..84283a09c7 100644 --- a/pallets/crowdloan/src/benchmarking.rs +++ b/pallets/crowdloan/src/benchmarking.rs @@ -9,7 +9,7 @@ use crate::{BalanceOf, CrowdloanId, CrowdloanInfo, CurrencyOf, pallet::*}; use frame_benchmarking::{account, v2::*}; use frame_support::traits::{Get, StorePreimage, fungible::*}; use frame_system::{RawOrigin, pallet_prelude::BlockNumberFor}; -use subtensor_runtime_common::{Currency, TaoCurrency}; +use subtensor_runtime_common::{TaoBalance, Token}; extern crate alloc; @@ -75,7 +75,7 @@ mod benchmarks { }) ); // ensure the creator has been deducted the deposit - assert!(CurrencyOf::::balance(&creator) == TaoCurrency::ZERO); + assert!(CurrencyOf::::balance(&creator) == TaoBalance::ZERO); // ensure the initial deposit is stored correctly as contribution assert_eq!( Contributions::::get(crowdloan_id, &creator), @@ -137,7 +137,7 @@ mod benchmarks { Some(amount) ); // ensure the contributor has been deducted the amount - assert!(CurrencyOf::::balance(&contributor) == TaoCurrency::ZERO); + assert!(CurrencyOf::::balance(&contributor) == TaoBalance::ZERO); // ensure the crowdloan raised amount is updated correctly assert!(Crowdloans::::get(crowdloan_id).is_some_and(|c| c.raised == deposit + amount)); // ensure the contribution is present in the crowdloan account @@ -311,7 +311,7 @@ mod benchmarks { _(RawOrigin::Signed(creator.clone()), crowdloan_id); // ensure the creator has not been refunded and contribution is the actual initial deposit - assert_eq!(CurrencyOf::::balance(&creator), TaoCurrency::ZERO); + assert_eq!(CurrencyOf::::balance(&creator), TaoBalance::ZERO); assert_eq!( Contributions::::get(crowdloan_id, &creator), Some(deposit) diff --git a/pallets/crowdloan/src/lib.rs b/pallets/crowdloan/src/lib.rs index 5b8b58384d..ae8c8742a0 100644 --- a/pallets/crowdloan/src/lib.rs +++ b/pallets/crowdloan/src/lib.rs @@ -26,7 +26,7 @@ use frame_system::pallet_prelude::*; use scale_info::TypeInfo; use sp_runtime::traits::CheckedSub; use sp_std::vec::Vec; -use subtensor_runtime_common::TaoCurrency; +use subtensor_runtime_common::TaoBalance; use weights::WeightInfo; pub use pallet::*; @@ -108,7 +108,7 @@ pub mod pallet { + IsType<::RuntimeCall>; /// The currency mechanism. - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; /// The weight information for the pallet. diff --git a/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs b/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs index 7bfb0c4bf0..604e99d4e3 100644 --- a/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs +++ b/pallets/crowdloan/src/migrations/migrate_add_contributors_count.rs @@ -170,7 +170,7 @@ mod tests { put_raw(&key, &crowdloan.encode()); for (contributor, amount) in contributions { - let amount = TaoCurrency::from(amount); + let amount = TaoBalance::from(amount); Contributions::::insert(id as u32, contributor, amount); } } diff --git a/pallets/crowdloan/src/mock.rs b/pallets/crowdloan/src/mock.rs index 69a33215ea..0cfd9cfafc 100644 --- a/pallets/crowdloan/src/mock.rs +++ b/pallets/crowdloan/src/mock.rs @@ -12,7 +12,7 @@ use frame_support::{ use frame_system::{EnsureRoot, pallet_prelude::BlockNumberFor}; use sp_core::U256; use sp_runtime::{BuildStorage, traits::IdentityLookup}; -use subtensor_runtime_common::TaoCurrency; +use subtensor_runtime_common::TaoBalance; use crate::{BalanceOf, CrowdloanId, pallet as pallet_crowdloan, weights::WeightInfo}; @@ -56,22 +56,22 @@ pub(crate) fn new_test_ext() -> sp_io::TestExternalities { impl frame_system::Config for Test { type Block = Block; type AccountId = U256; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type Lookup = IdentityLookup; } // Existential deposit. pub struct ExistentialDeposit; -impl frame_support::traits::Get for ExistentialDeposit { - fn get() -> TaoCurrency { - TaoCurrency::new(1) +impl frame_support::traits::Get for ExistentialDeposit { + fn get() -> TaoBalance { + TaoBalance::new(1) } } #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] impl pallet_balances::Config for Test { type AccountStore = System; - type Balance = TaoCurrency; + type Balance = TaoBalance; type ExistentialDeposit = ExistentialDeposit; } @@ -108,8 +108,8 @@ impl WeightInfo for TestWeightInfo { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: TaoCurrency = TaoCurrency::new(1); - pub const PreimageByteDeposit: TaoCurrency = TaoCurrency::new(1); + pub const PreimageBaseDeposit: TaoBalance = TaoBalance::new(1); + pub const PreimageByteDeposit: TaoBalance = TaoBalance::new(1); } impl pallet_preimage::Config for Test { @@ -122,8 +122,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); - pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); + pub const MinimumDeposit: TaoBalance = TaoBalance::new(50); + pub const AbsoluteMinimumContribution: TaoBalance = TaoBalance::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -154,14 +154,14 @@ pub(crate) mod pallet_test { pallet_prelude::{OptionQuery, StorageValue}, }; use frame_system::pallet_prelude::OriginFor; - use subtensor_runtime_common::TaoCurrency; + use subtensor_runtime_common::TaoBalance; #[pallet::pallet] pub struct Pallet(_); #[pallet::config] pub trait Config: frame_system::Config + pallet_crowdloan::Config { - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; } diff --git a/pallets/crowdloan/src/tests.rs b/pallets/crowdloan/src/tests.rs index 79c472218c..8a706ece29 100644 --- a/pallets/crowdloan/src/tests.rs +++ b/pallets/crowdloan/src/tests.rs @@ -5,7 +5,7 @@ use frame_support::{StorageDoubleMap, assert_err, assert_ok, traits::StorePreima use frame_system::pallet_prelude::BlockNumberFor; use sp_core::U256; use sp_runtime::DispatchError; -use subtensor_runtime_common::TaoCurrency; +use subtensor_runtime_common::TaoBalance; use crate::{BalanceOf, CrowdloanId, CrowdloanInfo, mock::*, pallet as pallet_crowdloan}; @@ -55,7 +55,7 @@ fn test_create_succeeds() { // ensure the creator has been deducted the deposit assert_eq!( Balances::free_balance(creator), - TaoCurrency::from(100) - deposit + TaoBalance::from(100) - deposit ); // ensure the contributions have been updated assert_eq!( @@ -369,7 +369,7 @@ fn test_contribute_succeeds() { ); assert_eq!( Balances::free_balance(creator), - TaoCurrency::from(200) - amount - initial_deposit + TaoBalance::from(200) - amount - initial_deposit ); // second contribution to the crowdloan @@ -399,7 +399,7 @@ fn test_contribute_succeeds() { ); assert_eq!( Balances::free_balance(contributor1), - TaoCurrency::from(500) - amount + TaoBalance::from(500) - amount ); // third contribution to the crowdloan @@ -429,7 +429,7 @@ fn test_contribute_succeeds() { ); assert_eq!( Balances::free_balance(contributor2), - TaoCurrency::from(200) - amount + TaoBalance::from(200) - amount ); // ensure the contributions are present in the funds account @@ -493,7 +493,7 @@ fn test_contribute_succeeds_if_contribution_will_make_the_raised_amount_exceed_t ); assert_eq!( Balances::free_balance(creator), - TaoCurrency::from(200) - amount - initial_deposit + TaoBalance::from(200) - amount - initial_deposit ); // second contribution to the crowdloan above the cap @@ -934,7 +934,7 @@ fn test_withdraw_from_creator_with_contribution_over_deposit_succeeds() { // ensure the creator has the correct amount assert_eq!( pallet_balances::Pallet::::free_balance(creator), - TaoCurrency::from(200) - initial_deposit + TaoBalance::from(200) - initial_deposit ); // ensure the creator contribution has been removed assert_eq!( @@ -1563,12 +1563,12 @@ fn test_refund_succeeds() { let funds_account = pallet_crowdloan::Pallet::::funds_account(crowdloan_id); assert_eq!( Balances::free_balance(funds_account), - TaoCurrency::from(350) - TaoCurrency::from(5) * amount + TaoBalance::from(350) - TaoBalance::from(5) * amount ); // ensure raised amount is updated correctly assert!( pallet_crowdloan::Crowdloans::::get(crowdloan_id).is_some_and( - |c| c.raised == TaoCurrency::from(350) - TaoCurrency::from(5) * amount + |c| c.raised == TaoBalance::from(350) - TaoBalance::from(5) * amount ) ); // ensure the event is emitted diff --git a/pallets/subtensor/rpc/src/lib.rs b/pallets/subtensor/rpc/src/lib.rs index b5749988ee..98e2df2f62 100644 --- a/pallets/subtensor/rpc/src/lib.rs +++ b/pallets/subtensor/rpc/src/lib.rs @@ -9,7 +9,7 @@ use jsonrpsee::{ use sp_blockchain::HeaderBackend; use sp_runtime::{AccountId32, traits::Block as BlockT}; use std::sync::Arc; -use subtensor_runtime_common::{MechId, NetUid, TaoCurrency}; +use subtensor_runtime_common::{MechId, NetUid, TaoBalance}; use sp_api::ProvideRuntimeApi; @@ -84,7 +84,7 @@ pub trait SubtensorCustomApi { #[method(name = "subnetInfo_getSubnetState")] fn get_subnet_state(&self, netuid: NetUid, at: Option) -> RpcResult>; #[method(name = "subnetInfo_getLockCost")] - fn get_network_lock_cost(&self, at: Option) -> RpcResult; + fn get_network_lock_cost(&self, at: Option) -> RpcResult; #[method(name = "subnetInfo_getSelectiveMetagraph")] fn get_selective_metagraph( &self, @@ -455,7 +455,7 @@ where } } - fn get_network_lock_cost(&self, at: Option<::Hash>) -> RpcResult { + fn get_network_lock_cost(&self, at: Option<::Hash>) -> RpcResult { let api = self.client.runtime_api(); let at = at.unwrap_or_else(|| self.client.info().best_hash); diff --git a/pallets/subtensor/runtime-api/src/lib.rs b/pallets/subtensor/runtime-api/src/lib.rs index f1107bad08..84da95cd36 100644 --- a/pallets/subtensor/runtime-api/src/lib.rs +++ b/pallets/subtensor/runtime-api/src/lib.rs @@ -12,7 +12,7 @@ use pallet_subtensor::rpc_info::{ subnet_info::{SubnetHyperparams, SubnetHyperparamsV2, SubnetInfo, SubnetInfov2}, }; use sp_runtime::AccountId32; -use subtensor_runtime_common::{AlphaCurrency, MechId, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, MechId, NetUid, TaoBalance}; // Here we declare the runtime API. It is implemented it the `impl` block in // src/neuron_info.rs, src/subnet_info.rs, and src/delegate_info.rs @@ -20,7 +20,7 @@ sp_api::decl_runtime_apis! { pub trait DelegateInfoRuntimeApi { fn get_delegates() -> Vec>; fn get_delegate( delegate_account: AccountId32 ) -> Option>; - fn get_delegated( delegatee_account: AccountId32 ) -> Vec<(DelegateInfo, (Compact, Compact))>; + fn get_delegated( delegatee_account: AccountId32 ) -> Vec<(DelegateInfo, (Compact, Compact))>; } pub trait NeuronInfoRuntimeApi { @@ -58,6 +58,6 @@ sp_api::decl_runtime_apis! { } pub trait SubnetRegistrationRuntimeApi { - fn get_network_registration_cost() -> TaoCurrency; + fn get_network_registration_cost() -> TaoBalance; } } diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 44df3d56c3..ddb10034e5 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -16,12 +16,12 @@ use sp_runtime::{ }; use sp_std::collections::btree_set::BTreeSet; use sp_std::vec; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; #[benchmarks( where T: pallet_balances::Config, - ::ExistentialDeposit: Get, + ::ExistentialDeposit: Get, )] mod pallet_benchmarks { use super::*; @@ -117,8 +117,8 @@ mod pallet_benchmarks { let seed: u32 = 1; let coldkey: T::AccountId = account("Test", 0, seed); let hotkey: T::AccountId = account("Alice", 0, seed); - let total_stake = TaoCurrency::from(1_000_000_000); - let amount = TaoCurrency::from(60_000_000); + let total_stake = TaoBalance::from(1_000_000_000); + let amount = TaoBalance::from(60_000_000); Subtensor::::add_balance_to_coldkey_account(&coldkey, total_stake.into()); assert_ok!(Subtensor::::do_burned_registration( @@ -614,7 +614,7 @@ mod pallet_benchmarks { hotkey.clone() )); - let alpha_amount = AlphaCurrency::from(1_000_000); + let alpha_amount = AlphaBalance::from(1_000_000); SubnetAlphaOut::::insert(netuid, alpha_amount * 2.into()); Subtensor::::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -658,7 +658,7 @@ mod pallet_benchmarks { )); let alpha_amount = 1_000_000; - SubnetAlphaOut::::insert(netuid, AlphaCurrency::from(alpha_amount * 2)); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(alpha_amount * 2)); Subtensor::::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, @@ -729,13 +729,13 @@ mod pallet_benchmarks { let coldkey: T::AccountId = account("Test", 0, seed); let hotkey: T::AccountId = account("Alice", 0, seed); - let amount = TaoCurrency::from(900_000_000_000_u64); - let limit = TaoCurrency::from(6_000_000_000_u64); - let amount_to_be_staked = TaoCurrency::from(44_000_000_000_u64); + let amount = TaoBalance::from(900_000_000_000_u64); + let limit = TaoBalance::from(6_000_000_000_u64); + let amount_to_be_staked = TaoBalance::from(44_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount.into()); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -778,7 +778,7 @@ mod pallet_benchmarks { )); SubnetTAO::::insert(netuid, deposit); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(deposit.to_u64())); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -786,7 +786,7 @@ mod pallet_benchmarks { origin.clone(), netuid, stake_tao, - TaoCurrency::MAX, + TaoBalance::MAX, false )); @@ -829,9 +829,9 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - let limit = TaoCurrency::from(1_000_000_000); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let limit = TaoBalance::from(1_000_000_000); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -844,7 +844,7 @@ mod pallet_benchmarks { hotkey.clone() )); - let staked_amt = TaoCurrency::from(100_000_000_000_u64); + let staked_amt = TaoBalance::from(100_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( @@ -854,7 +854,7 @@ mod pallet_benchmarks { staked_amt )); - let amount_unstaked = AlphaCurrency::from(30_000_000_000_u64); + let amount_unstaked = AlphaBalance::from(30_000_000_000_u64); // Remove stake limit for benchmark StakingOperationRateLimiter::::remove((hotkey.clone(), coldkey.clone(), netuid)); @@ -883,19 +883,19 @@ mod pallet_benchmarks { SubtokenEnabled::::insert(netuid2, true); Subtensor::::init_new_network(netuid2, 1); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid1, tao_reserve); SubnetAlphaIn::::insert(netuid1, alpha_in); SubnetTAO::::insert(netuid2, tao_reserve); Subtensor::::increase_total_stake(1_000_000_000_000_u64.into()); - let amount = TaoCurrency::from(900_000_000_000_u64); - let limit_stake = TaoCurrency::from(6_000_000_000_u64); - let limit_swap = TaoCurrency::from(1_000_000_000_u64); - let amount_to_be_staked = TaoCurrency::from(440_000_000_000_u64); - let amount_swapped = AlphaCurrency::from(30_000_000_000_u64); + let amount = TaoBalance::from(900_000_000_000_u64); + let limit_stake = TaoBalance::from(6_000_000_000_u64); + let limit_swap = TaoBalance::from(1_000_000_000_u64); + let amount_to_be_staked = TaoBalance::from(440_000_000_000_u64); + let amount_swapped = AlphaBalance::from(30_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount); assert_ok!(Subtensor::::burned_register( @@ -956,7 +956,7 @@ mod pallet_benchmarks { )); SubnetTAO::::insert(netuid, deposit); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(deposit.to_u64())); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -964,7 +964,7 @@ mod pallet_benchmarks { hot.clone(), netuid, stake_tao, - TaoCurrency::MAX, + TaoBalance::MAX, false )); @@ -1011,9 +1011,9 @@ mod pallet_benchmarks { )); SubnetTAO::::insert(netuid1, deposit); - SubnetAlphaIn::::insert(netuid1, AlphaCurrency::from(deposit.to_u64())); + SubnetAlphaIn::::insert(netuid1, AlphaBalance::from(deposit.to_u64())); SubnetTAO::::insert(netuid2, deposit); - SubnetAlphaIn::::insert(netuid2, AlphaCurrency::from(deposit.to_u64())); + SubnetAlphaIn::::insert(netuid2, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -1021,7 +1021,7 @@ mod pallet_benchmarks { hot.clone(), netuid1, stake_tao, - TaoCurrency::MAX, + TaoBalance::MAX, false )); @@ -1320,8 +1320,8 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - SubnetTAO::::insert(netuid, TaoCurrency::from(150_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(100_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(150_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(100_000_000_000_u64)); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 1000000u32.into()); @@ -1331,7 +1331,7 @@ mod pallet_benchmarks { hotkey.clone() )); - let staked_amt = TaoCurrency::from(100_000_000_000_u64); + let staked_amt = TaoBalance::from(100_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( @@ -1368,9 +1368,9 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - let limit = TaoCurrency::from(1_000_000_000_u64); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let limit = TaoBalance::from(1_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -1383,7 +1383,7 @@ mod pallet_benchmarks { hotkey.clone() )); - let staked_amt = TaoCurrency::from(100_000_000_000_u64); + let staked_amt = TaoBalance::from(100_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( @@ -1409,10 +1409,10 @@ mod pallet_benchmarks { // Setup a crowdloan let crowdloan_id = 0; let beneficiary: T::AccountId = whitelisted_caller(); - let deposit = TaoCurrency::from(20_000_000_000_u64); // 20 TAO + let deposit = TaoBalance::from(20_000_000_000_u64); // 20 TAO let now = frame_system::Pallet::::block_number(); // not really important here let end = now + T::MaximumBlockDuration::get(); - let cap = TaoCurrency::from(2_000_000_000_000_u64); // 2000 TAO + let cap = TaoBalance::from(2_000_000_000_000_u64); // 2000 TAO let funds_account: T::AccountId = account("funds", 0, 0); Subtensor::::add_balance_to_coldkey_account(&funds_account, cap.into()); @@ -1442,7 +1442,7 @@ mod pallet_benchmarks { // Simulate k - 1 contributions, the deposit is already taken into account let contributors = k - 1; - let amount = (cap - deposit) / TaoCurrency::from(contributors); + let amount = (cap - deposit) / TaoBalance::from(contributors); for i in 0..contributors { let contributor = account::("contributor", i.try_into().unwrap(), 0); pallet_crowdloan::Contributions::::insert(crowdloan_id, contributor, amount); @@ -1475,10 +1475,10 @@ mod pallet_benchmarks { // Setup a crowdloan let crowdloan_id = 0; let beneficiary: T::AccountId = whitelisted_caller(); - let deposit = TaoCurrency::from(20_000_000_000_u64); // 20 TAO + let deposit = TaoBalance::from(20_000_000_000_u64); // 20 TAO let now = frame_system::Pallet::::block_number(); // not really important here let crowdloan_end = now + T::MaximumBlockDuration::get(); - let cap = TaoCurrency::from(2_000_000_000_000_u64); // 2000 TAO + let cap = TaoBalance::from(2_000_000_000_000_u64); // 2000 TAO let funds_account: T::AccountId = account("funds", 0, 0); Subtensor::::add_balance_to_coldkey_account(&funds_account, cap); @@ -1508,7 +1508,7 @@ mod pallet_benchmarks { // Simulate k - 1 contributions, the deposit is already taken into account let contributors = k - 1; - let amount = (cap - deposit) / TaoCurrency::from(contributors); + let amount = (cap - deposit) / TaoBalance::from(contributors); for i in 0..contributors { let contributor = account::("contributor", i.try_into().unwrap(), 0); pallet_crowdloan::Contributions::::insert(crowdloan_id, contributor, amount); @@ -1609,7 +1609,7 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("A", 0, 1); SubtokenEnabled::::insert(netuid, true); Subtensor::::init_new_network(netuid, 1); - let amount = TaoCurrency::from(900_000_000_000_u64); + let amount = TaoBalance::from(900_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), amount); @@ -1673,10 +1673,10 @@ mod pallet_benchmarks { let pending_root_alpha = 10_000_000u64; Subtensor::::distribute_emission( netuid, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); let initial_stake = @@ -1739,13 +1739,13 @@ mod pallet_benchmarks { SubnetOwner::::set(netuid, coldkey.clone()); - let balance_update = TaoCurrency::from(900_000_000_000_u64); - let limit = TaoCurrency::from(6_000_000_000_u64); - let amount = TaoCurrency::from(44_000_000_000_u64); + let balance_update = TaoBalance::from(900_000_000_000_u64); + let limit = TaoBalance::from(6_000_000_000_u64); + let amount = TaoBalance::from(44_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), balance_update); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 4a33d91747..16ddff4f10 100644 --- a/pallets/subtensor/src/coinbase/block_emission.rs +++ b/pallets/subtensor/src/coinbase/block_emission.rs @@ -3,7 +3,7 @@ use super::*; use frame_support::traits::Get; use safe_math::*; use substrate_fixed::{transcendental::log2, types::I96F32}; -use subtensor_runtime_common::TaoCurrency; +use subtensor_runtime_common::TaoBalance; // type PositiveImbalanceOf = // <::Currency as BalancesCurrency<::AccountId>>::PositiveImbalance; @@ -20,7 +20,7 @@ impl Pallet { /// # Returns /// * 'Result': The calculated block emission rate or error. /// - pub fn get_block_emission() -> Result { + pub fn get_block_emission() -> Result { // Convert the total issuance to a fixed-point number for calculation. Self::get_block_emission_for_issuance(Self::get_total_issuance().into()).map(Into::into) } diff --git a/pallets/subtensor/src/coinbase/block_step.rs b/pallets/subtensor/src/coinbase/block_step.rs index 6081edad19..a030607995 100644 --- a/pallets/subtensor/src/coinbase/block_step.rs +++ b/pallets/subtensor/src/coinbase/block_step.rs @@ -1,7 +1,7 @@ use super::*; use safe_math::*; use substrate_fixed::types::{U96F32, U110F18}; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; impl Pallet { /// Executes the necessary operations for each block. @@ -14,7 +14,7 @@ impl Pallet { // --- 2. Get the current coinbase emission. let block_emission: U96F32 = U96F32::saturating_from_num( Self::get_block_emission() - .unwrap_or(TaoCurrency::ZERO) + .unwrap_or(TaoBalance::ZERO) .to_u64(), ); log::debug!("Block emission: {block_emission:?}"); @@ -240,10 +240,10 @@ impl Pallet { /// pub fn upgraded_burn( netuid: NetUid, - current_burn: TaoCurrency, + current_burn: TaoBalance, registrations_this_interval: u16, target_registrations_per_interval: u16, - ) -> TaoCurrency { + ) -> TaoBalance { let updated_burn: U110F18 = U110F18::saturating_from_num(current_burn) .saturating_mul(U110F18::saturating_from_num( registrations_this_interval.saturating_add(target_registrations_per_interval), diff --git a/pallets/subtensor/src/coinbase/root.rs b/pallets/subtensor/src/coinbase/root.rs index 83567b6f57..e2714fba1b 100644 --- a/pallets/subtensor/src/coinbase/root.rs +++ b/pallets/subtensor/src/coinbase/root.rs @@ -19,7 +19,7 @@ use super::*; use crate::CommitmentsInterface; use safe_math::*; use substrate_fixed::types::{I64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; impl Pallet { @@ -130,7 +130,7 @@ impl Pallet { } else { // --- 13.1.1 The network is full. Perform replacement. // Find the neuron with the lowest stake value to replace. - let mut lowest_stake = AlphaCurrency::MAX; + let mut lowest_stake = AlphaBalance::MAX; let mut lowest_uid: u16 = 0; // Iterate over all keys in the root network to find the neuron with the lowest stake. @@ -505,13 +505,13 @@ impl Pallet { /// * 'u64': /// - The lock cost for the network. /// - pub fn get_network_lock_cost() -> TaoCurrency { + pub fn get_network_lock_cost() -> TaoBalance { let last_lock = Self::get_network_last_lock(); let min_lock = Self::get_network_min_lock(); let last_lock_block = Self::get_network_last_lock_block(); let current_block = Self::get_current_block_as_u64(); let lock_reduction_interval = Self::get_lock_reduction_interval(); - let mult: TaoCurrency = if last_lock_block == 0 { 1 } else { 2 }.into(); + let mult: TaoBalance = if last_lock_block == 0 { 1 } else { 2 }.into(); let mut lock_cost = last_lock.saturating_mul(mult).saturating_sub( last_lock @@ -546,17 +546,17 @@ impl Pallet { StartCallDelay::::set(delay); Self::deposit_event(Event::StartCallDelaySet(delay)); } - pub fn set_network_min_lock(net_min_lock: TaoCurrency) { + pub fn set_network_min_lock(net_min_lock: TaoBalance) { NetworkMinLockCost::::set(net_min_lock); Self::deposit_event(Event::NetworkMinLockCostSet(net_min_lock)); } - pub fn get_network_min_lock() -> TaoCurrency { + pub fn get_network_min_lock() -> TaoBalance { NetworkMinLockCost::::get() } - pub fn set_network_last_lock(net_last_lock: TaoCurrency) { + pub fn set_network_last_lock(net_last_lock: TaoBalance) { NetworkLastLockCost::::set(net_last_lock); } - pub fn get_network_last_lock() -> TaoCurrency { + pub fn get_network_last_lock() -> TaoBalance { NetworkLastLockCost::::get() } pub fn get_network_last_lock_block() -> u64 { diff --git a/pallets/subtensor/src/coinbase/run_coinbase.rs b/pallets/subtensor/src/coinbase/run_coinbase.rs index 2091946598..d25f7ce170 100644 --- a/pallets/subtensor/src/coinbase/run_coinbase.rs +++ b/pallets/subtensor/src/coinbase/run_coinbase.rs @@ -2,7 +2,7 @@ use super::*; use alloc::collections::BTreeMap; use safe_math::*; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; // Distribute dividends to each hotkey @@ -60,16 +60,15 @@ impl Pallet { excess_tao: &BTreeMap, ) { for netuid_i in subnets_to_emit_to.iter() { - let tao_in_i: TaoCurrency = - tou64!(*tao_in.get(netuid_i).unwrap_or(&asfloat!(0))).into(); - let alpha_in_i: AlphaCurrency = + let tao_in_i: TaoBalance = tou64!(*tao_in.get(netuid_i).unwrap_or(&asfloat!(0))).into(); + let alpha_in_i: AlphaBalance = tou64!(*alpha_in.get(netuid_i).unwrap_or(&asfloat!(0))).into(); - let tao_to_swap_with: TaoCurrency = + let tao_to_swap_with: TaoBalance = tou64!(excess_tao.get(netuid_i).unwrap_or(&asfloat!(0))).into(); T::SwapInterface::adjust_protocol_liquidity(*netuid_i, tao_in_i, alpha_in_i); - if tao_to_swap_with > TaoCurrency::ZERO { + if tao_to_swap_with > TaoBalance::ZERO { let buy_swap_result = Self::swap_tao_for_alpha( *netuid_i, tao_to_swap_with, @@ -77,21 +76,21 @@ impl Pallet { true, ); if let Ok(buy_swap_result_ok) = buy_swap_result { - let bought_alpha: AlphaCurrency = buy_swap_result_ok.amount_paid_out.into(); + let bought_alpha: AlphaBalance = buy_swap_result_ok.amount_paid_out.into(); Self::recycle_subnet_alpha(*netuid_i, bought_alpha); } } // Inject Alpha in. let alpha_in_i = - AlphaCurrency::from(tou64!(*alpha_in.get(netuid_i).unwrap_or(&asfloat!(0)))); + AlphaBalance::from(tou64!(*alpha_in.get(netuid_i).unwrap_or(&asfloat!(0)))); SubnetAlphaInEmission::::insert(*netuid_i, alpha_in_i); SubnetAlphaIn::::mutate(*netuid_i, |total| { *total = total.saturating_add(alpha_in_i); }); // Inject TAO in. - let injected_tao: TaoCurrency = + let injected_tao: TaoBalance = tou64!(*tao_in.get(netuid_i).unwrap_or(&asfloat!(0))).into(); SubnetTaoInEmission::::insert(*netuid_i, injected_tao); SubnetTAO::::mutate(*netuid_i, |total| { @@ -126,7 +125,7 @@ impl Pallet { let mut excess_tao: BTreeMap = BTreeMap::new(); let tao_block_emission: U96F32 = U96F32::saturating_from_num( Self::get_block_emission() - .unwrap_or(TaoCurrency::ZERO) + .unwrap_or(TaoBalance::ZERO) .to_u64(), ); @@ -188,7 +187,7 @@ impl Pallet { // Get alpha_out for this block. let mut alpha_out_i: U96F32 = *alpha_out.get(netuid_i).unwrap_or(&asfloat!(0)); - let alpha_created: AlphaCurrency = AlphaCurrency::from(tou64!(alpha_out_i)); + let alpha_created: AlphaBalance = AlphaBalance::from(tou64!(alpha_out_i)); SubnetAlphaOutEmission::::insert(*netuid_i, alpha_created); SubnetAlphaOut::::mutate(*netuid_i, |total| { *total = total.saturating_add(alpha_created); @@ -241,7 +240,7 @@ impl Pallet { }); } else { // If we are not selling the root alpha, we should recycle it. - Self::recycle_subnet_alpha(*netuid_i, AlphaCurrency::from(tou64!(root_alpha))); + Self::recycle_subnet_alpha(*netuid_i, AlphaBalance::from(tou64!(root_alpha))); } } } @@ -249,11 +248,11 @@ impl Pallet { pub fn drain_pending( subnets: &[NetUid], current_block: u64, - ) -> BTreeMap { + ) -> BTreeMap { // Map of netuid to (pending_server_alpha, pending_validator_alpha, pending_root_alpha, pending_owner_cut). let mut emissions_to_distribute: BTreeMap< NetUid, - (AlphaCurrency, AlphaCurrency, AlphaCurrency, AlphaCurrency), + (AlphaBalance, AlphaBalance, AlphaBalance, AlphaBalance), > = BTreeMap::new(); // --- Drain pending emissions for all subnets hat are at their tempo. // Run the epoch for *all* subnets, even if we don't emit anything. @@ -271,18 +270,18 @@ impl Pallet { // Get and drain the subnet pending emission. let pending_server_alpha = PendingServerEmission::::get(netuid); - PendingServerEmission::::insert(netuid, AlphaCurrency::ZERO); + PendingServerEmission::::insert(netuid, AlphaBalance::ZERO); let pending_validator_alpha = PendingValidatorEmission::::get(netuid); - PendingValidatorEmission::::insert(netuid, AlphaCurrency::ZERO); + PendingValidatorEmission::::insert(netuid, AlphaBalance::ZERO); // Get and drain the pending Alpha for root divs. let pending_root_alpha = PendingRootAlphaDivs::::get(netuid); - PendingRootAlphaDivs::::insert(netuid, AlphaCurrency::ZERO); + PendingRootAlphaDivs::::insert(netuid, AlphaBalance::ZERO); // Get and drain the pending owner cut. let owner_cut = PendingOwnerCut::::get(netuid); - PendingOwnerCut::::insert(netuid, AlphaCurrency::ZERO); + PendingOwnerCut::::insert(netuid, AlphaBalance::ZERO); // Save the emissions to distribute. emissions_to_distribute.insert( @@ -302,7 +301,7 @@ impl Pallet { pub fn distribute_emissions_to_subnets( emissions_to_distribute: &BTreeMap< NetUid, - (AlphaCurrency, AlphaCurrency, AlphaCurrency, AlphaCurrency), + (AlphaBalance, AlphaBalance, AlphaBalance, AlphaBalance), >, ) { for ( @@ -334,13 +333,13 @@ impl Pallet { pub fn calculate_dividends_and_incentives( netuid: NetUid, - hotkey_emission: Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)>, + hotkey_emission: Vec<(T::AccountId, AlphaBalance, AlphaBalance)>, ) -> ( - BTreeMap, + BTreeMap, BTreeMap, ) { // Accumulate emission of dividends and incentive per hotkey. - let mut incentives: BTreeMap = BTreeMap::new(); + let mut incentives: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); for (hotkey, incentive, dividend) in hotkey_emission { // Accumulate incentives to miners. @@ -349,7 +348,7 @@ impl Pallet { .and_modify(|e| *e = e.saturating_add(incentive)) .or_insert(incentive); // Accumulate dividends to parents. - let div_tuples: Vec<(T::AccountId, AlphaCurrency)> = + let div_tuples: Vec<(T::AccountId, AlphaBalance)> = Self::get_parent_child_dividends_distribution(&hotkey, netuid, dividend); // Accumulate dividends per hotkey. for (parent, parent_div) in div_tuples { @@ -366,10 +365,10 @@ impl Pallet { } pub fn calculate_dividend_distribution( - pending_alpha: AlphaCurrency, - pending_root_alpha: AlphaCurrency, + pending_alpha: AlphaBalance, + pending_root_alpha: AlphaBalance, tao_weight: U96F32, - stake_map: BTreeMap, + stake_map: BTreeMap, dividends: BTreeMap, ) -> ( BTreeMap, @@ -503,8 +502,8 @@ impl Pallet { pub fn distribute_dividends_and_incentives( netuid: NetUid, - owner_cut: AlphaCurrency, - incentives: BTreeMap, + owner_cut: AlphaBalance, + incentives: BTreeMap, alpha_dividends: BTreeMap, root_alpha_dividends: BTreeMap, ) { @@ -641,8 +640,8 @@ impl Pallet { pub fn get_stake_map( netuid: NetUid, hotkeys: Vec<&T::AccountId>, - ) -> BTreeMap { - let mut stake_map: BTreeMap = BTreeMap::new(); + ) -> BTreeMap { + let mut stake_map: BTreeMap = BTreeMap::new(); for hotkey in hotkeys { // Get hotkey ALPHA on subnet. let alpha_stake = Self::get_stake_for_hotkey_on_subnet(hotkey, netuid); @@ -655,12 +654,12 @@ impl Pallet { pub fn calculate_dividend_and_incentive_distribution( netuid: NetUid, - pending_root_alpha: AlphaCurrency, - pending_validator_alpha: AlphaCurrency, - hotkey_emission: Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)>, + pending_root_alpha: AlphaBalance, + pending_validator_alpha: AlphaBalance, + hotkey_emission: Vec<(T::AccountId, AlphaBalance, AlphaBalance)>, tao_weight: U96F32, ) -> ( - BTreeMap, + BTreeMap, ( BTreeMap, BTreeMap, @@ -684,10 +683,10 @@ impl Pallet { pub fn distribute_emission( netuid: NetUid, - pending_server_alpha: AlphaCurrency, - pending_validator_alpha: AlphaCurrency, - pending_root_alpha: AlphaCurrency, - pending_owner_cut: AlphaCurrency, + pending_server_alpha: AlphaBalance, + pending_validator_alpha: AlphaBalance, + pending_root_alpha: AlphaBalance, + pending_owner_cut: AlphaBalance, ) { log::debug!( "Draining pending alpha emission for netuid {netuid:?}, pending_server_alpha: {pending_server_alpha:?}, pending_validator_alpha: {pending_validator_alpha:?}, pending_root_alpha: {pending_root_alpha:?}, pending_owner_cut: {pending_owner_cut:?}" @@ -699,7 +698,7 @@ impl Pallet { .saturating_add(pending_root_alpha); // Run the epoch, using the alpha going to both the servers and the validators. - let hotkey_emission: Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> = + let hotkey_emission: Vec<(T::AccountId, AlphaBalance, AlphaBalance)> = Self::epoch_with_mechanisms(netuid, total_alpha_minus_owner_cut); log::debug!("hotkey_emission: {hotkey_emission:?}"); @@ -710,7 +709,7 @@ impl Pallet { // Important! If the incentives are 0, then Validators get 100% of the alpha. let incentive_sum = hotkey_emission .iter() - .fold(AlphaCurrency::default(), |acc, (_, incentive, _)| { + .fold(AlphaBalance::default(), |acc, (_, incentive, _)| { acc.saturating_add(*incentive) }); log::debug!("incentive_sum: {incentive_sum:?}"); @@ -791,10 +790,10 @@ impl Pallet { pub fn get_parent_child_dividends_distribution( hotkey: &T::AccountId, netuid: NetUid, - dividends: AlphaCurrency, - ) -> Vec<(T::AccountId, AlphaCurrency)> { + dividends: AlphaBalance, + ) -> Vec<(T::AccountId, AlphaBalance)> { // hotkey dividends. - let mut dividend_tuples: Vec<(T::AccountId, AlphaCurrency)> = vec![]; + let mut dividend_tuples: Vec<(T::AccountId, AlphaBalance)> = vec![]; // Calculate the hotkey's share of the validator emission based on its childkey take let validating_emission: U96F32 = U96F32::saturating_from_num(dividends); @@ -887,7 +886,7 @@ impl Pallet { Self::recycle_subnet_alpha( netuid, - AlphaCurrency::from(burn_take.saturating_to_num::()), + AlphaBalance::from(burn_take.saturating_to_num::()), ); }; log::debug!("burn_takee: {burn_take:?} for hotkey {hotkey:?}"); diff --git a/pallets/subtensor/src/coinbase/subnet_emissions.rs b/pallets/subtensor/src/coinbase/subnet_emissions.rs index 477a678864..17a40e820b 100644 --- a/pallets/subtensor/src/coinbase/subnet_emissions.rs +++ b/pallets/subtensor/src/coinbase/subnet_emissions.rs @@ -39,13 +39,13 @@ impl Pallet { .collect::>() } - pub fn record_tao_inflow(netuid: NetUid, tao: TaoCurrency) { + pub fn record_tao_inflow(netuid: NetUid, tao: TaoBalance) { SubnetTaoFlow::::mutate(netuid, |flow| { *flow = flow.saturating_add(u64::from(tao) as i64); }); } - pub fn record_tao_outflow(netuid: NetUid, tao: TaoCurrency) { + pub fn record_tao_outflow(netuid: NetUid, tao: TaoBalance) { SubnetTaoFlow::::mutate(netuid, |flow| { *flow = flow.saturating_sub(u64::from(tao) as i64) }); diff --git a/pallets/subtensor/src/epoch/run_epoch.rs b/pallets/subtensor/src/epoch/run_epoch.rs index 2290b49b8d..9f8fbc905b 100644 --- a/pallets/subtensor/src/epoch/run_epoch.rs +++ b/pallets/subtensor/src/epoch/run_epoch.rs @@ -6,23 +6,23 @@ use safe_math::*; use sp_std::collections::btree_map::IntoIter; use sp_std::vec; use substrate_fixed::types::{I32F32, I64F64, I96F32}; -use subtensor_runtime_common::{AlphaCurrency, MechId, NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, MechId, NetUid, NetUidStorageIndex}; #[derive(Debug, Default)] pub struct EpochTerms { pub uid: usize, pub dividend: u16, pub incentive: u16, - pub validator_emission: AlphaCurrency, - pub server_emission: AlphaCurrency, + pub validator_emission: AlphaBalance, + pub server_emission: AlphaBalance, pub stake_weight: u16, pub active: bool, - pub emission: AlphaCurrency, + pub emission: AlphaBalance, pub consensus: u16, pub validator_trust: u16, pub new_validator_permit: bool, pub bond: Vec<(u16, u16)>, - pub stake: AlphaCurrency, + pub stake: AlphaBalance, } pub struct EpochOutput(pub BTreeMap); @@ -61,8 +61,8 @@ impl Pallet { /// Legacy epoch function interface (TODO: Is only used for tests, remove) pub fn epoch( netuid: NetUid, - rao_emission: AlphaCurrency, - ) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> { + rao_emission: AlphaBalance, + ) -> Vec<(T::AccountId, AlphaBalance, AlphaBalance)> { // Run mechanism-style epoch let output = Self::epoch_mechanism(netuid, MechId::MAIN, rao_emission); @@ -80,8 +80,8 @@ impl Pallet { /// Legacy epoch_dense function interface (TODO: Is only used for tests, remove) pub fn epoch_dense( netuid: NetUid, - rao_emission: AlphaCurrency, - ) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> { + rao_emission: AlphaBalance, + ) -> Vec<(T::AccountId, AlphaBalance, AlphaBalance)> { Self::epoch_dense_mechanism(netuid, MechId::MAIN, rao_emission) } @@ -147,8 +147,8 @@ impl Pallet { pub fn epoch_dense_mechanism( netuid: NetUid, mecid: MechId, - rao_emission: AlphaCurrency, - ) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> { + rao_emission: AlphaBalance, + ) -> Vec<(T::AccountId, AlphaBalance, AlphaBalance)> { // Calculate netuid storage index let netuid_index = Self::get_mechanism_storage_index(netuid, mecid); @@ -449,7 +449,7 @@ impl Pallet { .iter() .map(|se: &I32F32| I96F32::saturating_from_num(*se).saturating_mul(float_rao_emission)) .collect(); - let server_emission: Vec = server_emission + let server_emission: Vec = server_emission .iter() .map(|e: &I96F32| e.saturating_to_num::().into()) .collect(); @@ -458,7 +458,7 @@ impl Pallet { .iter() .map(|ve: &I32F32| I96F32::saturating_from_num(*ve).saturating_mul(float_rao_emission)) .collect(); - let validator_emission: Vec = validator_emission + let validator_emission: Vec = validator_emission .iter() .map(|e: &I96F32| e.saturating_to_num::().into()) .collect(); @@ -468,9 +468,9 @@ impl Pallet { .iter() .map(|ce: &I32F32| I96F32::saturating_from_num(*ce).saturating_mul(float_rao_emission)) .collect(); - let combined_emission: Vec = combined_emission + let combined_emission: Vec = combined_emission .iter() - .map(|e: &I96F32| AlphaCurrency::from(e.saturating_to_num::())) + .map(|e: &I96F32| AlphaBalance::from(e.saturating_to_num::())) .collect(); log::trace!("nSE: {:?}", &normalized_server_emission); @@ -560,7 +560,7 @@ impl Pallet { pub fn epoch_mechanism( netuid: NetUid, mecid: MechId, - rao_emission: AlphaCurrency, + rao_emission: AlphaBalance, ) -> EpochOutput { // Calculate netuid storage index let netuid_index = Self::get_mechanism_storage_index(netuid, mecid); @@ -925,7 +925,7 @@ impl Pallet { .iter() .map(|se: &I32F32| I96F32::saturating_from_num(*se).saturating_mul(float_rao_emission)) .collect(); - let server_emission: Vec = server_emission + let server_emission: Vec = server_emission .iter() .map(|e: &I96F32| e.saturating_to_num::().into()) .collect(); @@ -934,7 +934,7 @@ impl Pallet { .iter() .map(|ve: &I32F32| I96F32::saturating_from_num(*ve).saturating_mul(float_rao_emission)) .collect(); - let validator_emission: Vec = validator_emission + let validator_emission: Vec = validator_emission .iter() .map(|e: &I96F32| e.saturating_to_num::().into()) .collect(); @@ -944,9 +944,9 @@ impl Pallet { .iter() .map(|ce: &I32F32| I96F32::saturating_from_num(*ce).saturating_mul(float_rao_emission)) .collect(); - let combined_emission: Vec = combined_emission + let combined_emission: Vec = combined_emission .iter() - .map(|e: &I96F32| AlphaCurrency::from(e.saturating_to_num::())) + .map(|e: &I96F32| AlphaBalance::from(e.saturating_to_num::())) .collect(); log::trace!( diff --git a/pallets/subtensor/src/extensions/check_coldkey_swap.rs b/pallets/subtensor/src/extensions/check_coldkey_swap.rs index 665704e3d9..8c19d3e633 100644 --- a/pallets/subtensor/src/extensions/check_coldkey_swap.rs +++ b/pallets/subtensor/src/extensions/check_coldkey_swap.rs @@ -120,7 +120,7 @@ mod tests { BoundedVec, traits::{AsTransactionAuthorizedOrigin, Hash, TxBaseImplication}, }; - use subtensor_runtime_common::{Currency, NetUid}; + use subtensor_runtime_common::{NetUid, Token}; type HashingOf = ::Hashing; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index ff5c8c15bd..b7871e799f 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -24,7 +24,7 @@ use scale_info::TypeInfo; use sp_core::Get; use sp_runtime::{DispatchError, transaction_validity::TransactionValidityError}; use sp_std::marker::PhantomData; -use subtensor_runtime_common::{AlphaCurrency, Currency, CurrencyReserve, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token, TokenReserve}; // ============================ // ==== Benchmark Imports ===== @@ -101,7 +101,7 @@ pub mod pallet { use substrate_fixed::types::{I64F64, I96F32, U64F64, U96F32}; use subtensor_macros::freeze_struct; use subtensor_runtime_common::{ - AlphaCurrency, Currency, MechId, NetUid, NetUidStorageIndex, TaoCurrency, + AlphaBalance, MechId, NetUid, NetUidStorageIndex, TaoBalance, Token, }; /// Origin for the pallet @@ -116,7 +116,7 @@ pub mod pallet { const STORAGE_VERSION: StorageVersion = StorageVersion::new(7); /// Minimum balance required to perform a coldkey swap - pub const MIN_BALANCE_TO_PERFORM_COLDKEY_SWAP: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO in RAO + pub const MIN_BALANCE_TO_PERFORM_COLDKEY_SWAP: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO in RAO /// Minimum commit reveal periods pub const MIN_COMMIT_REVEAL_PEROIDS: u64 = 1; @@ -382,14 +382,14 @@ pub mod pallet { } /// Default value for Alpha currency. #[pallet::type_value] - pub fn DefaultZeroAlpha() -> AlphaCurrency { - AlphaCurrency::ZERO + pub fn DefaultZeroAlpha() -> AlphaBalance { + AlphaBalance::ZERO } /// Default value for Tao currency. #[pallet::type_value] - pub fn DefaultZeroTao() -> TaoCurrency { - TaoCurrency::ZERO + pub fn DefaultZeroTao() -> TaoBalance { + TaoBalance::ZERO } /// Default value for zero. @@ -478,7 +478,7 @@ pub mod pallet { /// Default total issuance. #[pallet::type_value] - pub fn DefaultTotalIssuance() -> TaoCurrency { + pub fn DefaultTotalIssuance() -> TaoBalance { T::InitialIssuance::get().into() } @@ -537,19 +537,19 @@ pub mod pallet { /// Default registrations this block. #[pallet::type_value] - pub fn DefaultBurn() -> TaoCurrency { + pub fn DefaultBurn() -> TaoBalance { T::InitialBurn::get().into() } /// Default burn token. #[pallet::type_value] - pub fn DefaultMinBurn() -> TaoCurrency { + pub fn DefaultMinBurn() -> TaoBalance { T::InitialMinBurn::get().into() } /// Default min burn token. #[pallet::type_value] - pub fn DefaultMaxBurn() -> TaoCurrency { + pub fn DefaultMaxBurn() -> TaoBalance { T::InitialMaxBurn::get().into() } @@ -579,7 +579,7 @@ pub mod pallet { /// Default max registrations per block. #[pallet::type_value] - pub fn DefaultRAORecycledForRegistration() -> TaoCurrency { + pub fn DefaultRAORecycledForRegistration() -> TaoBalance { T::InitialRAORecycledForRegistration::get().into() } @@ -627,7 +627,7 @@ pub mod pallet { /// Default value for network min lock cost. #[pallet::type_value] - pub fn DefaultNetworkMinLockCost() -> TaoCurrency { + pub fn DefaultNetworkMinLockCost() -> TaoBalance { T::InitialNetworkMinLockCost::get().into() } @@ -673,7 +673,7 @@ pub mod pallet { /// Default value for pending emission. #[pallet::type_value] - pub fn DefaultPendingEmission() -> AlphaCurrency { + pub fn DefaultPendingEmission() -> AlphaBalance { 0.into() } @@ -967,7 +967,7 @@ pub mod pallet { /// Default minimum stake. #[pallet::type_value] - pub fn DefaultMinStake() -> TaoCurrency { + pub fn DefaultMinStake() -> TaoBalance { 2_000_000.into() } @@ -1204,7 +1204,7 @@ pub mod pallet { NetUid, Blake2_128Concat, T::AccountId, - AlphaCurrency, + AlphaBalance, ValueQuery, DefaultZeroAlpha, >; @@ -1217,7 +1217,7 @@ pub mod pallet { NetUid, Blake2_128Concat, T::AccountId, - AlphaCurrency, + AlphaBalance, ValueQuery, DefaultZeroAlpha, >; @@ -1237,7 +1237,7 @@ pub mod pallet { T::AccountId, Identity, NetUid, - AlphaCurrency, + AlphaBalance, ValueQuery, DefaultZeroAlpha, >; @@ -1259,11 +1259,11 @@ pub mod pallet { /// --- ITEM ( total_issuance ) #[pallet::storage] - pub type TotalIssuance = StorageValue<_, TaoCurrency, ValueQuery, DefaultTotalIssuance>; + pub type TotalIssuance = StorageValue<_, TaoBalance, ValueQuery, DefaultTotalIssuance>; /// --- ITEM ( total_stake ) #[pallet::storage] - pub type TotalStake = StorageValue<_, TaoCurrency, ValueQuery, DefaultZeroTao>; + pub type TotalStake = StorageValue<_, TaoBalance, ValueQuery, DefaultZeroTao>; /// --- ITEM ( moving_alpha ) -- subnet moving alpha. #[pallet::storage] @@ -1287,42 +1287,42 @@ pub mod pallet { /// --- MAP ( netuid ) --> tao_in_subnet | Returns the amount of TAO in the subnet. #[pallet::storage] pub type SubnetTAO = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultZeroTao>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultZeroTao>; /// --- MAP ( netuid ) --> tao_in_user_subnet | Returns the amount of TAO in the subnet reserve provided by users as liquidity. #[pallet::storage] pub type SubnetTaoProvided = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultZeroTao>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultZeroTao>; /// --- MAP ( netuid ) --> alpha_in_emission | Returns the amount of alph in emission into the pool per block. #[pallet::storage] pub type SubnetAlphaInEmission = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> alpha_out_emission | Returns the amount of alpha out emission into the network per block. #[pallet::storage] pub type SubnetAlphaOutEmission = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> tao_in_emission | Returns the amount of tao emitted into this subent on the last block. #[pallet::storage] pub type SubnetTaoInEmission = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultZeroTao>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultZeroTao>; /// --- MAP ( netuid ) --> alpha_supply_in_pool | Returns the amount of alpha in the pool. #[pallet::storage] pub type SubnetAlphaIn = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> alpha_supply_user_in_pool | Returns the amount of alpha in the pool provided by users as liquidity. #[pallet::storage] pub type SubnetAlphaInProvided = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> alpha_supply_in_subnet | Returns the amount of alpha in the subnet. #[pallet::storage] pub type SubnetAlphaOut = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( cold ) --> Vec | Maps coldkey to hotkeys that stake to it #[pallet::storage] @@ -1388,7 +1388,7 @@ pub mod pallet { T::AccountId, Identity, NetUid, - AlphaCurrency, + AlphaBalance, ValueQuery, DefaultZeroAlpha, >; @@ -1401,7 +1401,7 @@ pub mod pallet { T::AccountId, Identity, NetUid, - AlphaCurrency, + AlphaBalance, ValueQuery, DefaultZeroAlpha, >; @@ -1516,12 +1516,12 @@ pub mod pallet { /// ITEM( min_network_lock_cost ) #[pallet::storage] pub type NetworkMinLockCost = - StorageValue<_, TaoCurrency, ValueQuery, DefaultNetworkMinLockCost>; + StorageValue<_, TaoBalance, ValueQuery, DefaultNetworkMinLockCost>; /// ITEM( last_network_lock_cost ) #[pallet::storage] pub type NetworkLastLockCost = - StorageValue<_, TaoCurrency, ValueQuery, DefaultNetworkMinLockCost>; + StorageValue<_, TaoBalance, ValueQuery, DefaultNetworkMinLockCost>; /// ITEM( network_lock_reduction_interval ) #[pallet::storage] @@ -1564,7 +1564,7 @@ pub mod pallet { /// --- MAP ( netuid ) --> total_subnet_locked #[pallet::storage] pub type SubnetLocked = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultZeroTao>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultZeroTao>; /// --- MAP ( netuid ) --> largest_locked #[pallet::storage] @@ -1631,22 +1631,22 @@ pub mod pallet { /// --- MAP ( netuid ) --> pending_server_emission #[pallet::storage] pub type PendingServerEmission = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> pending_validator_emission #[pallet::storage] pub type PendingValidatorEmission = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> pending_root_alpha_emission #[pallet::storage] pub type PendingRootAlphaDivs = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> pending_owner_cut #[pallet::storage] pub type PendingOwnerCut = - StorageMap<_, Identity, NetUid, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Identity, NetUid, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- MAP ( netuid ) --> blocks_since_last_step #[pallet::storage] @@ -1803,7 +1803,7 @@ pub mod pallet { /// --- MAP ( netuid ) --> Burn #[pallet::storage] - pub type Burn = StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultBurn>; + pub type Burn = StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultBurn>; /// --- MAP ( netuid ) --> Difficulty #[pallet::storage] @@ -1812,12 +1812,12 @@ pub mod pallet { /// --- MAP ( netuid ) --> MinBurn #[pallet::storage] pub type MinBurn = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultMinBurn>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultMinBurn>; /// --- MAP ( netuid ) --> MaxBurn #[pallet::storage] pub type MaxBurn = - StorageMap<_, Identity, NetUid, TaoCurrency, ValueQuery, DefaultMaxBurn>; + StorageMap<_, Identity, NetUid, TaoBalance, ValueQuery, DefaultMaxBurn>; /// --- MAP ( netuid ) --> MinDifficulty #[pallet::storage] @@ -1850,7 +1850,7 @@ pub mod pallet { _, Identity, NetUid, - TaoCurrency, + TaoBalance, ValueQuery, DefaultRAORecycledForRegistration, >; @@ -2019,7 +2019,7 @@ pub mod pallet { /// --- MAP ( netuid ) --> emission #[pallet::storage] - pub type Emission = StorageMap<_, Identity, NetUid, Vec, ValueQuery>; + pub type Emission = StorageMap<_, Identity, NetUid, Vec, ValueQuery>; /// --- MAP ( netuid ) --> last_update #[pallet::storage] @@ -2341,7 +2341,7 @@ pub mod pallet { /// --- MAP ( lease_id ) --> accumulated_dividends | The accumulated dividends for a given lease that needs to be distributed. #[pallet::storage] pub type AccumulatedLeaseDividends = - StorageMap<_, Twox64Concat, LeaseId, AlphaCurrency, ValueQuery, DefaultZeroAlpha>; + StorageMap<_, Twox64Concat, LeaseId, AlphaBalance, ValueQuery, DefaultZeroAlpha>; /// --- ITEM ( CommitRevealWeightsVersion ) #[pallet::storage] @@ -2424,7 +2424,7 @@ pub mod pallet { /// Stakes record in genesis. pub stakes: Vec<(T::AccountId, Vec<(T::AccountId, (u64, u16))>)>, /// The total issued balance in genesis - pub balances_issuance: TaoCurrency, + pub balances_issuance: TaoBalance, /// The delay before a subnet can call start pub start_call_delay: Option, } @@ -2433,7 +2433,7 @@ pub mod pallet { fn default() -> Self { Self { stakes: Default::default(), - balances_issuance: TaoCurrency::ZERO, + balances_issuance: TaoBalance::ZERO, start_call_delay: None, } } @@ -2559,17 +2559,17 @@ use subtensor_macros::freeze_struct; #[derive(Clone)] pub struct TaoCurrencyReserve(PhantomData); -impl CurrencyReserve for TaoCurrencyReserve { +impl TokenReserve for TaoCurrencyReserve { #![deny(clippy::expect_used)] - fn reserve(netuid: NetUid) -> TaoCurrency { + fn reserve(netuid: NetUid) -> TaoBalance { SubnetTAO::::get(netuid).saturating_add(SubnetTaoProvided::::get(netuid)) } - fn increase_provided(netuid: NetUid, tao: TaoCurrency) { + fn increase_provided(netuid: NetUid, tao: TaoBalance) { Pallet::::increase_provided_tao_reserve(netuid, tao); } - fn decrease_provided(netuid: NetUid, tao: TaoCurrency) { + fn decrease_provided(netuid: NetUid, tao: TaoBalance) { Pallet::::decrease_provided_tao_reserve(netuid, tao); } } @@ -2577,17 +2577,17 @@ impl CurrencyReserve for TaoCurrencyReserve { #[derive(Clone)] pub struct AlphaCurrencyReserve(PhantomData); -impl CurrencyReserve for AlphaCurrencyReserve { +impl TokenReserve for AlphaCurrencyReserve { #![deny(clippy::expect_used)] - fn reserve(netuid: NetUid) -> AlphaCurrency { + fn reserve(netuid: NetUid) -> AlphaBalance { SubnetAlphaIn::::get(netuid).saturating_add(SubnetAlphaInProvided::::get(netuid)) } - fn increase_provided(netuid: NetUid, alpha: AlphaCurrency) { + fn increase_provided(netuid: NetUid, alpha: AlphaBalance) { Pallet::::increase_provided_alpha_reserve(netuid, alpha); } - fn decrease_provided(netuid: NetUid, alpha: AlphaCurrency) { + fn decrease_provided(netuid: NetUid, alpha: AlphaBalance) { Pallet::::decrease_provided_alpha_reserve(netuid, alpha); } } @@ -2597,7 +2597,7 @@ pub type GetAlphaForTao = pub type GetTaoForAlpha = subtensor_swap_interface::GetTaoForAlpha, TaoCurrencyReserve>; -impl> +impl> subtensor_runtime_common::SubnetInfo for Pallet { #![deny(clippy::expect_used)] @@ -2630,11 +2630,11 @@ impl> } } -impl> +impl> subtensor_runtime_common::BalanceOps for Pallet { #![deny(clippy::expect_used)] - fn tao_balance(account_id: &T::AccountId) -> TaoCurrency { + fn tao_balance(account_id: &T::AccountId) -> TaoBalance { pallet_balances::Pallet::::free_balance(account_id).into() } @@ -2642,18 +2642,18 @@ impl> netuid: NetUid, coldkey: &T::AccountId, hotkey: &T::AccountId, - ) -> AlphaCurrency { + ) -> AlphaBalance { Self::get_stake_for_hotkey_and_coldkey_on_subnet(hotkey, coldkey, netuid) } - fn increase_balance(coldkey: &T::AccountId, tao: TaoCurrency) { + fn increase_balance(coldkey: &T::AccountId, tao: TaoBalance) { Self::add_balance_to_coldkey_account(coldkey, tao.into()) } fn decrease_balance( coldkey: &T::AccountId, - tao: TaoCurrency, - ) -> Result { + tao: TaoBalance, + ) -> Result { Self::remove_balance_from_coldkey_account(coldkey, tao.into()) } @@ -2661,7 +2661,7 @@ impl> coldkey: &T::AccountId, hotkey: &T::AccountId, netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, ) -> Result<(), DispatchError> { ensure!( Self::hotkey_account_exists(hotkey), @@ -2682,8 +2682,8 @@ impl> coldkey: &T::AccountId, hotkey: &T::AccountId, netuid: NetUid, - alpha: AlphaCurrency, - ) -> Result { + alpha: AlphaBalance, + ) -> Result { ensure!( Self::hotkey_account_exists(hotkey), Error::::HotKeyAccountNotExists diff --git a/pallets/subtensor/src/macros/config.rs b/pallets/subtensor/src/macros/config.rs index 442ae93891..d94802cc95 100644 --- a/pallets/subtensor/src/macros/config.rs +++ b/pallets/subtensor/src/macros/config.rs @@ -28,7 +28,7 @@ mod config { + GetDispatchInfo; /// Currency type that will be used to place deposits on neurons - type Currency: fungible::Balanced + type Currency: fungible::Balanced + fungible::Mutate; /// The scheduler type used for scheduling delayed calls. @@ -65,7 +65,7 @@ mod config { /// Initial currency issuance. #[pallet::constant] - type InitialIssuance: Get; + type InitialIssuance: Get; /// Initial min allowed weights setting. #[pallet::constant] type InitialMinAllowedWeights: Get; @@ -86,22 +86,22 @@ mod config { type InitialMinDifficulty: Get; /// Initial RAO Recycled. #[pallet::constant] - type InitialRAORecycledForRegistration: Get; + type InitialRAORecycledForRegistration: Get; /// Initial Burn. #[pallet::constant] - type InitialBurn: Get; + type InitialBurn: Get; /// Initial Max Burn. #[pallet::constant] - type InitialMaxBurn: Get; + type InitialMaxBurn: Get; /// Initial Min Burn. #[pallet::constant] - type InitialMinBurn: Get; + type InitialMinBurn: Get; /// Min burn upper bound. #[pallet::constant] - type MinBurnUpperBound: Get; + type MinBurnUpperBound: Get; /// Max burn lower bound. #[pallet::constant] - type MaxBurnLowerBound: Get; + type MaxBurnLowerBound: Get; /// Initial adjustment interval. #[pallet::constant] type InitialAdjustmentInterval: Get; @@ -191,7 +191,7 @@ mod config { type InitialNetworkImmunityPeriod: Get; /// Initial network minimum burn cost #[pallet::constant] - type InitialNetworkMinLockCost: Get; + type InitialNetworkMinLockCost: Get; /// Initial network subnet cut. #[pallet::constant] type InitialSubnetOwnerCut: Get; @@ -203,7 +203,7 @@ mod config { type InitialNetworkRateLimit: Get; /// Cost of swapping a hotkey. #[pallet::constant] - type KeySwapCost: Get; + type KeySwapCost: Get; /// The upper bound for the alpha parameter. Used for Liquid Alpha. #[pallet::constant] type AlphaHigh: Get; @@ -236,7 +236,7 @@ mod config { type InitialStartCallDelay: Get; /// Cost of swapping a hotkey in a subnet. #[pallet::constant] - type KeySwapOnSubnetCost: Get; + type KeySwapOnSubnetCost: Get; /// Block number for a coldkey swap the hotkey in specific subnet. #[pallet::constant] type HotkeySwapOnSubnetInterval: Get; diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 7cfb224722..2059a605fe 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -717,7 +717,7 @@ mod dispatches { origin: OriginFor, hotkey: T::AccountId, netuid: NetUid, - amount_staked: TaoCurrency, + amount_staked: TaoBalance, ) -> DispatchResult { Self::do_add_stake(origin, hotkey, netuid, amount_staked).map(|_| ()) } @@ -761,7 +761,7 @@ mod dispatches { origin: OriginFor, hotkey: T::AccountId, netuid: NetUid, - amount_unstaked: AlphaCurrency, + amount_unstaked: AlphaBalance, ) -> DispatchResult { Self::do_remove_stake(origin, hotkey, netuid, amount_unstaked) } @@ -1078,7 +1078,7 @@ mod dispatches { origin: OriginFor, old_coldkey: T::AccountId, new_coldkey: T::AccountId, - swap_cost: TaoCurrency, + swap_cost: TaoBalance, ) -> DispatchResult { ensure_root(origin)?; @@ -1542,7 +1542,7 @@ mod dispatches { destination_hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> DispatchResult { Self::do_move_stake( origin, @@ -1585,7 +1585,7 @@ mod dispatches { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> DispatchResult { Self::do_transfer_stake( origin, @@ -1629,7 +1629,7 @@ mod dispatches { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> DispatchResult { Self::do_swap_stake( origin, @@ -1690,8 +1690,8 @@ mod dispatches { origin: OriginFor, hotkey: T::AccountId, netuid: NetUid, - amount_staked: TaoCurrency, - limit_price: TaoCurrency, + amount_staked: TaoBalance, + limit_price: TaoBalance, allow_partial: bool, ) -> DispatchResult { Self::do_add_stake_limit( @@ -1755,8 +1755,8 @@ mod dispatches { origin: OriginFor, hotkey: T::AccountId, netuid: NetUid, - amount_unstaked: AlphaCurrency, - limit_price: TaoCurrency, + amount_unstaked: AlphaBalance, + limit_price: TaoBalance, allow_partial: bool, ) -> DispatchResult { Self::do_remove_stake_limit( @@ -1803,8 +1803,8 @@ mod dispatches { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, - limit_price: TaoCurrency, + alpha_amount: AlphaBalance, + limit_price: TaoBalance, allow_partial: bool, ) -> DispatchResult { Self::do_swap_stake_limit( @@ -1922,7 +1922,7 @@ mod dispatches { pub fn recycle_alpha( origin: T::RuntimeOrigin, hotkey: T::AccountId, - amount: AlphaCurrency, + amount: AlphaBalance, netuid: NetUid, ) -> DispatchResult { Self::do_recycle_alpha(origin, hotkey, amount, netuid) @@ -1947,7 +1947,7 @@ mod dispatches { pub fn burn_alpha( origin: T::RuntimeOrigin, hotkey: T::AccountId, - amount: AlphaCurrency, + amount: AlphaBalance, netuid: NetUid, ) -> DispatchResult { Self::do_burn_alpha(origin, hotkey, amount, netuid) @@ -1977,7 +1977,7 @@ mod dispatches { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - limit_price: Option, + limit_price: Option, ) -> DispatchResult { Self::do_remove_stake_full_limit(origin, hotkey, netuid, limit_price) } @@ -2594,8 +2594,8 @@ mod dispatches { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - amount: TaoCurrency, - limit: Option, + amount: TaoBalance, + limit: Option, ) -> DispatchResult { Self::do_add_stake_burn(origin, hotkey, netuid, amount, limit) } diff --git a/pallets/subtensor/src/macros/events.rs b/pallets/subtensor/src/macros/events.rs index 65c33aee87..4363eb3f35 100644 --- a/pallets/subtensor/src/macros/events.rs +++ b/pallets/subtensor/src/macros/events.rs @@ -17,8 +17,8 @@ mod events { StakeAdded( T::AccountId, T::AccountId, - TaoCurrency, - AlphaCurrency, + TaoBalance, + AlphaBalance, NetUid, u64, ), @@ -26,8 +26,8 @@ mod events { StakeRemoved( T::AccountId, T::AccountId, - TaoCurrency, - AlphaCurrency, + TaoBalance, + AlphaBalance, NetUid, u64, ), @@ -38,7 +38,7 @@ mod events { NetUid, T::AccountId, NetUid, - TaoCurrency, + TaoBalance, ), /// a caller successfully sets their weights on a subnetwork. WeightsSet(NetUidStorageIndex, u16), @@ -104,11 +104,11 @@ mod events { /// setting the prometheus serving rate limit. ServingRateLimitSet(NetUid, u64), /// setting burn on a network. - BurnSet(NetUid, TaoCurrency), + BurnSet(NetUid, TaoBalance), /// setting max burn on a network. - MaxBurnSet(NetUid, TaoCurrency), + MaxBurnSet(NetUid, TaoBalance), /// setting min burn on a network. - MinBurnSet(NetUid, TaoCurrency), + MinBurnSet(NetUid, TaoBalance), /// setting the transaction rate limit. TxRateLimitSet(u64), /// setting the delegate take transaction rate limit. @@ -134,7 +134,7 @@ mod events { /// setting tempo on a network TempoSet(NetUid, u16), /// setting the RAO recycled for registration. - RAORecycledForRegistrationSet(NetUid, TaoCurrency), + RAORecycledForRegistrationSet(NetUid, TaoBalance), /// min stake is set for validators to set weights. StakeThresholdSet(u64), /// setting the adjustment alpha on a subnet. @@ -150,7 +150,7 @@ mod events { /// the start call delay is set. StartCallDelaySet(u64), /// the network minimum locking cost is set. - NetworkMinLockCostSet(TaoCurrency), + NetworkMinLockCostSet(TaoBalance), /// the maximum number of subnets is set SubnetLimitSet(u16), /// the lock cost reduction is set @@ -291,14 +291,14 @@ mod events { T::AccountId, NetUid, NetUid, - TaoCurrency, + TaoBalance, ), /// Stake has been swapped from one subnet to another for the same coldkey-hotkey pair. /// /// Parameters: /// (coldkey, hotkey, origin_netuid, destination_netuid, amount) - StakeSwapped(T::AccountId, T::AccountId, NetUid, NetUid, TaoCurrency), + StakeSwapped(T::AccountId, T::AccountId, NetUid, NetUid, TaoBalance), /// Event called when transfer is toggled on a subnet. /// @@ -322,13 +322,13 @@ mod events { /// /// Parameters: /// (coldkey, hotkey, amount, subnet_id) - AlphaRecycled(T::AccountId, T::AccountId, AlphaCurrency, NetUid), + AlphaRecycled(T::AccountId, T::AccountId, AlphaBalance, NetUid), /// Alpha have been burned without reducing AlphaOut. /// /// Parameters: /// (coldkey, hotkey, amount, subnet_id) - AlphaBurned(T::AccountId, T::AccountId, AlphaCurrency, NetUid), + AlphaBurned(T::AccountId, T::AccountId, AlphaBalance, NetUid), /// An EVM key has been associated with a hotkey. EvmKeyAssociated { @@ -429,7 +429,7 @@ mod events { /// Owner (coldkey) account associated with the hotkey. owner: T::AccountId, /// Amount of alpha auto-staked. - incentive: AlphaCurrency, + incentive: AlphaBalance, }, /// End-of-epoch miner incentive alpha by UID @@ -437,7 +437,7 @@ mod events { /// Subnet identifier. netuid: NetUidStorageIndex, /// UID-indexed array of miner incentive alpha; index equals UID. - emissions: Vec, + emissions: Vec, }, /// The minimum allowed UIDs for a subnet have been set. @@ -514,7 +514,7 @@ mod events { /// The contributor contributor: T::AccountId, /// The amount of alpha distributed - alpha: AlphaCurrency, + alpha: AlphaBalance, }, /// "Add stake and burn" event: alpha token was purchased and burned. @@ -524,9 +524,9 @@ mod events { /// hotky account ID hotkey: T::AccountId, /// Tao provided - amount: TaoCurrency, + amount: TaoBalance, /// Alpha burned - alpha: AlphaCurrency, + alpha: AlphaBalance, }, } } diff --git a/pallets/subtensor/src/macros/genesis.rs b/pallets/subtensor/src/macros/genesis.rs index 6a96bb743d..d4e269391e 100644 --- a/pallets/subtensor/src/macros/genesis.rs +++ b/pallets/subtensor/src/macros/genesis.rs @@ -78,8 +78,8 @@ mod genesis { let hotkey = DefaultAccount::::get(); SubnetMechanism::::insert(netuid, 1); // Make dynamic. Owner::::insert(hotkey.clone(), hotkey.clone()); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(10_000_000_000_u64)); - SubnetTAO::::insert(netuid, TaoCurrency::from(10_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(10_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(10_000_000_000_u64)); NetworksAdded::::insert(netuid, true); TotalNetworks::::mutate(|n| *n = n.saturating_add(1)); SubnetworkN::::insert(netuid, 0); @@ -89,7 +89,7 @@ mod genesis { Tempo::::insert(netuid, 100); NetworkRegistrationAllowed::::insert(netuid, true); SubnetOwner::::insert(netuid, hotkey.clone()); - SubnetLocked::::insert(netuid, TaoCurrency::from(1)); + SubnetLocked::::insert(netuid, TaoBalance::from(1)); LargestLocked::::insert(netuid, 1); Alpha::::insert( // Lock the initial funds making this key the owner. @@ -99,14 +99,14 @@ mod genesis { TotalHotkeyAlpha::::insert( hotkey.clone(), netuid, - AlphaCurrency::from(1_000_000_000), + AlphaBalance::from(1_000_000_000), ); TotalHotkeyShares::::insert( hotkey.clone(), netuid, U64F64::saturating_from_num(1_000_000_000), ); - SubnetAlphaOut::::insert(netuid, AlphaCurrency::from(1_000_000_000)); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(1_000_000_000)); let mut staking_hotkeys = StakingHotkeys::::get(hotkey.clone()); if !staking_hotkeys.contains(&hotkey) { staking_hotkeys.push(hotkey.clone()); diff --git a/pallets/subtensor/src/migrations/migrate_fix_root_subnet_tao.rs b/pallets/subtensor/src/migrations/migrate_fix_root_subnet_tao.rs index 60d300f29d..982e071ea3 100644 --- a/pallets/subtensor/src/migrations/migrate_fix_root_subnet_tao.rs +++ b/pallets/subtensor/src/migrations/migrate_fix_root_subnet_tao.rs @@ -19,7 +19,7 @@ pub fn migrate_fix_root_subnet_tao() -> Weight { String::from_utf8_lossy(&migration_name) ); - let mut total_stake = TaoCurrency::ZERO; + let mut total_stake = TaoBalance::ZERO; let mut hotkey_count: u64 = 0; // We accumulate the total stake for all hotkeys on the root subnet. for hotkey in Owner::::iter_keys() { diff --git a/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs b/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs index f20d71c302..5315fec13f 100644 --- a/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs +++ b/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs @@ -25,19 +25,19 @@ pub fn migrate_fix_root_tao_and_alpha_in() -> Weight { let reserve_diff = total_unstaked.saturating_sub(total_staked); let volume_diff = (total_unstaked as u128).saturating_add(total_staked as u128); SubnetTAO::::mutate(NetUid::ROOT, |amount| { - *amount = amount.saturating_sub(TaoCurrency::from(reserve_diff)); + *amount = amount.saturating_sub(TaoBalance::from(reserve_diff)); }); SubnetAlphaIn::::mutate(NetUid::ROOT, |amount| { - *amount = amount.saturating_add(AlphaCurrency::from(reserve_diff)); + *amount = amount.saturating_add(AlphaBalance::from(reserve_diff)); }); SubnetAlphaOut::::mutate(NetUid::ROOT, |amount| { - *amount = amount.saturating_sub(AlphaCurrency::from(reserve_diff)); + *amount = amount.saturating_sub(AlphaBalance::from(reserve_diff)); }); SubnetVolume::::mutate(NetUid::ROOT, |amount| { *amount = amount.saturating_add(volume_diff); }); TotalStake::::mutate(|amount| { - *amount = amount.saturating_sub(TaoCurrency::from(reserve_diff)); + *amount = amount.saturating_sub(TaoBalance::from(reserve_diff)); }); weight = weight.saturating_add(T::DbWeight::get().writes(5)); diff --git a/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs b/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs index 3521748e37..3d625aee30 100644 --- a/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs +++ b/pallets/subtensor/src/migrations/migrate_init_total_issuance.rs @@ -27,7 +27,7 @@ pub(crate) fn migrate_init_total_issuance() -> Weight { // Calculate new total stake using the sum of all subnet TAO let total_subnet_tao = - crate::SubnetTAO::::iter().fold(TaoCurrency::ZERO, |acc, (_, v)| acc.saturating_add(v)); + crate::SubnetTAO::::iter().fold(TaoBalance::ZERO, |acc, (_, v)| acc.saturating_add(v)); let total_stake = total_subnet_tao; // Update the total stake in storage @@ -39,7 +39,7 @@ pub(crate) fn migrate_init_total_issuance() -> Weight { let prev_total_issuance = crate::TotalIssuance::::get(); // Calculate the new total issuance - let new_total_issuance: TaoCurrency = total_account_balances.saturating_add(total_stake).into(); + let new_total_issuance: TaoBalance = total_account_balances.saturating_add(total_stake).into(); // Update the total issuance in storage crate::TotalIssuance::::put(new_total_issuance); diff --git a/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs b/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs index e12356f6ba..95cd5d2946 100644 --- a/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs +++ b/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs @@ -26,7 +26,7 @@ pub fn migrate_network_lock_cost_2500() -> Weight { let block_to_set = if current_block == 0 { 1 } else { current_block }; // Set last_lock so that price = 2 * last_lock = 2,500 TAO at this block - Pallet::::set_network_last_lock(TaoCurrency::from(NEW_LAST_LOCK_RAO)); + Pallet::::set_network_last_lock(TaoBalance::from(NEW_LAST_LOCK_RAO)); weight = weight.saturating_add(T::DbWeight::get().writes(1)); // Start decay from "now" (no backdated decay) diff --git a/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs b/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs index f8242c18d9..9b67dfd583 100644 --- a/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs +++ b/pallets/subtensor/src/migrations/migrate_network_lock_reduction_interval.rs @@ -30,7 +30,7 @@ pub fn migrate_network_lock_reduction_interval() -> Weight { NetworkRateLimit::::put(FOUR_DAYS); weight = weight.saturating_add(T::DbWeight::get().writes(1)); - Pallet::::set_network_last_lock(TaoCurrency::from(1_000_000_000_000_u64)); + Pallet::::set_network_last_lock(TaoBalance::from(1_000_000_000_000_u64)); weight = weight.saturating_add(T::DbWeight::get().writes(1)); // Hold price at 2000 TAO until day 7, then begin linear decay diff --git a/pallets/subtensor/src/migrations/migrate_pending_emissions.rs b/pallets/subtensor/src/migrations/migrate_pending_emissions.rs index 416080f5b2..d93dcc6949 100644 --- a/pallets/subtensor/src/migrations/migrate_pending_emissions.rs +++ b/pallets/subtensor/src/migrations/migrate_pending_emissions.rs @@ -7,7 +7,7 @@ pub mod deprecated_pending_emission_format { #[storage_alias] pub(super) type PendingEmission = - StorageMap, Identity, NetUid, AlphaCurrency, ValueQuery>; + StorageMap, Identity, NetUid, AlphaBalance, ValueQuery>; } pub fn migrate_pending_emissions() -> Weight { @@ -39,8 +39,7 @@ pub fn migrate_pending_emissions() -> Weight { let server_emission_float: U96F32 = U96F32::saturating_from_num(pending_emission.to_u64()) .saturating_add(root_alpha) .saturating_div(U96F32::saturating_from_num(2)); - let server_emission: AlphaCurrency = - server_emission_float.saturating_to_num::().into(); + let server_emission: AlphaBalance = server_emission_float.saturating_to_num::().into(); let validator_emission = pending_emission.saturating_sub(server_emission); PendingValidatorEmission::::mutate(netuid, |total| { diff --git a/pallets/subtensor/src/migrations/migrate_rao.rs b/pallets/subtensor/src/migrations/migrate_rao.rs index 25e220b6d4..6092d41c6f 100644 --- a/pallets/subtensor/src/migrations/migrate_rao.rs +++ b/pallets/subtensor/src/migrations/migrate_rao.rs @@ -2,7 +2,7 @@ use alloc::{format, string::String}; use frame_support::IterableStorageMap; use frame_support::{traits::Get, weights::Weight}; -use subtensor_runtime_common::{AlphaCurrency, NetUid}; +use subtensor_runtime_common::{AlphaBalance, NetUid}; use super::*; @@ -59,13 +59,13 @@ pub fn migrate_rao() -> Weight { // Convert subnets and give them lock. // Set global weight to 18% from the start // Set min lock - NetworkMinLockCost::::set(TaoCurrency::from(1_000_000_000)); + NetworkMinLockCost::::set(TaoBalance::from(1_000_000_000)); // Set tao weight. TaoWeight::::set(3_320_413_933_267_719_290); for netuid in netuids.iter() { if netuid.is_root() { // Give root a single RAO in pool to avoid any catestrophic division by zero. - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000)); SubnetMechanism::::insert(netuid, 0); // Set to zero mechanism. TokenSymbol::::insert(netuid, Pallet::::get_symbol_for_subnet(NetUid::ROOT)); continue; @@ -92,13 +92,13 @@ pub fn migrate_rao() -> Weight { // .unwrap_or(I96F32::from_num(0.0)), // ); Pallet::::add_balance_to_coldkey_account(&owner, remaining_lock.into()); - SubnetLocked::::insert(netuid, TaoCurrency::ZERO); // Clear lock amount. + SubnetLocked::::insert(netuid, TaoBalance::ZERO); // Clear lock amount. SubnetTAO::::insert(netuid, pool_initial_tao); TotalStake::::mutate(|total| { *total = total.saturating_add(pool_initial_tao); }); // Increase total stake. - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(pool_initial_tao.to_u64())); // Set initial alpha to pool initial tao. - SubnetAlphaOut::::insert(netuid, AlphaCurrency::ZERO); // Set zero subnet alpha out. + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(pool_initial_tao.to_u64())); // Set initial alpha to pool initial tao. + SubnetAlphaOut::::insert(netuid, AlphaBalance::ZERO); // Set zero subnet alpha out. SubnetMechanism::::insert(netuid, 1); // Convert to dynamic immediately with initialization. // Set the token symbol for this subnet using Self instead of Pallet:: diff --git a/pallets/subtensor/src/migrations/migrate_reset_unactive_sn.rs b/pallets/subtensor/src/migrations/migrate_reset_unactive_sn.rs index e2e8ddc296..8c24cb0100 100644 --- a/pallets/subtensor/src/migrations/migrate_reset_unactive_sn.rs +++ b/pallets/subtensor/src/migrations/migrate_reset_unactive_sn.rs @@ -1,7 +1,7 @@ use super::*; pub fn get_unactive_sn_netuids( - pool_initial_alpha: AlphaCurrency, + pool_initial_alpha: AlphaBalance, ) -> (Vec, Weight) { // Loop over all subnets, if the AlphaIssuance is > pool_initial_alpha // but FirstEmissionBlockNumber is None @@ -42,8 +42,8 @@ pub fn migrate_reset_unactive_sn() -> Weight { ); // From init_new_network - let pool_initial_tao: TaoCurrency = Pallet::::get_network_min_lock(); - let pool_initial_alpha: AlphaCurrency = pool_initial_tao.to_u64().into(); + let pool_initial_tao: TaoBalance = Pallet::::get_network_min_lock(); + let pool_initial_alpha: AlphaBalance = pool_initial_tao.to_u64().into(); let (unactive_netuids, w) = get_unactive_sn_netuids::(pool_initial_alpha); weight = weight.saturating_add(w); diff --git a/pallets/subtensor/src/migrations/migrate_subnet_locked.rs b/pallets/subtensor/src/migrations/migrate_subnet_locked.rs index a430993f9d..0e125b8189 100644 --- a/pallets/subtensor/src/migrations/migrate_subnet_locked.rs +++ b/pallets/subtensor/src/migrations/migrate_subnet_locked.rs @@ -1,5 +1,5 @@ use super::*; -use crate::{Config, HasMigrationRun, SubnetLocked, TaoCurrency}; +use crate::{Config, HasMigrationRun, SubnetLocked, TaoBalance}; use frame_support::weights::Weight; use log; use scale_info::prelude::string::String; @@ -93,7 +93,7 @@ pub fn migrate_restore_subnet_locked() -> Weight { // ── 1) Re-insert the historical values ──────────────────────────────── for &(netuid_u16, amount_rao_u64) in SUBNET_LOCKED.iter() { let key: NetUid = NetUid::from(netuid_u16); - let amount: TaoCurrency = TaoCurrency::from(amount_rao_u64); + let amount: TaoBalance = TaoBalance::from(amount_rao_u64); SubnetLocked::::insert(key, amount); diff --git a/pallets/subtensor/src/migrations/migrate_total_issuance.rs b/pallets/subtensor/src/migrations/migrate_total_issuance.rs index e87337b74e..53dee0d622 100644 --- a/pallets/subtensor/src/migrations/migrate_total_issuance.rs +++ b/pallets/subtensor/src/migrations/migrate_total_issuance.rs @@ -45,7 +45,7 @@ pub fn migrate_total_issuance(test: bool) -> Weight { // Calculate the sum of all stake values let stake_sum = Owner::::iter() .map(|(hotkey, _coldkey)| Pallet::::get_total_stake_for_hotkey(&hotkey)) - .fold(TaoCurrency::ZERO, |acc, stake| acc.saturating_add(stake)); + .fold(TaoBalance::ZERO, |acc, stake| acc.saturating_add(stake)); // Add weight for reading all Owner and TotalHotkeyStake entries weight = weight.saturating_add( T::DbWeight::get().reads((Owner::::iter().count() as u64).saturating_mul(2)), diff --git a/pallets/subtensor/src/rpc_info/delegate_info.rs b/pallets/subtensor/src/rpc_info/delegate_info.rs index bf6dafd332..61c0286e7a 100644 --- a/pallets/subtensor/src/rpc_info/delegate_info.rs +++ b/pallets/subtensor/src/rpc_info/delegate_info.rs @@ -6,7 +6,7 @@ use substrate_fixed::types::U64F64; extern crate alloc; use alloc::collections::BTreeMap; use codec::Compact; -use subtensor_runtime_common::{AlphaCurrency, NetUid}; +use subtensor_runtime_common::{AlphaBalance, NetUid}; #[freeze_struct("1fafc4fcf28cba7a")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] @@ -158,11 +158,11 @@ impl Pallet { delegatee: T::AccountId, ) -> Vec<( DelegateInfo, - (Compact, Compact), + (Compact, Compact), )> { let mut delegates: Vec<( DelegateInfo, - (Compact, Compact), + (Compact, Compact), )> = Vec::new(); for delegate in as IterableStorageMap>::iter_keys() { // Staked to this delegate, so add to list diff --git a/pallets/subtensor/src/rpc_info/dynamic_info.rs b/pallets/subtensor/src/rpc_info/dynamic_info.rs index d4f99176ac..02843bdd9d 100644 --- a/pallets/subtensor/src/rpc_info/dynamic_info.rs +++ b/pallets/subtensor/src/rpc_info/dynamic_info.rs @@ -4,9 +4,9 @@ use codec::Compact; use frame_support::pallet_prelude::{Decode, Encode}; use substrate_fixed::types::I96F32; use subtensor_macros::freeze_struct; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; -#[freeze_struct("e526a1c6d2303d32")] +#[freeze_struct("cf677afa654c96a6")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct DynamicInfo { netuid: Compact, @@ -18,14 +18,14 @@ pub struct DynamicInfo { last_step: Compact, blocks_since_last_step: Compact, emission: Compact, - alpha_in: Compact, - alpha_out: Compact, - tao_in: Compact, - alpha_out_emission: Compact, - alpha_in_emission: Compact, - tao_in_emission: Compact, - pending_alpha_emission: Compact, - pending_root_emission: Compact, + alpha_in: Compact, + alpha_out: Compact, + tao_in: Compact, + alpha_out_emission: Compact, + alpha_in_emission: Compact, + tao_in_emission: Compact, + pending_alpha_emission: Compact, + pending_root_emission: Compact, subnet_volume: Compact, network_registered_at: Compact, subnet_identity: Option, @@ -65,7 +65,7 @@ impl Pallet { pending_alpha_emission: PendingValidatorEmission::::get(netuid) .saturating_add(PendingServerEmission::::get(netuid)) .into(), - pending_root_emission: TaoCurrency::from(0u64).into(), + pending_root_emission: TaoBalance::from(0u64).into(), subnet_volume: SubnetVolume::::get(netuid).into(), network_registered_at: NetworkRegisteredAt::::get(netuid).into(), subnet_identity: SubnetIdentitiesV3::::get(netuid), diff --git a/pallets/subtensor/src/rpc_info/metagraph.rs b/pallets/subtensor/src/rpc_info/metagraph.rs index ea24657aeb..ebfdf36db5 100644 --- a/pallets/subtensor/src/rpc_info/metagraph.rs +++ b/pallets/subtensor/src/rpc_info/metagraph.rs @@ -8,9 +8,9 @@ use pallet_commitments::GetCommitments; use substrate_fixed::types::I64F64; use substrate_fixed::types::I96F32; use subtensor_macros::freeze_struct; -use subtensor_runtime_common::{AlphaCurrency, MechId, NetUid, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, MechId, NetUid, NetUidStorageIndex, TaoBalance}; -#[freeze_struct("6fc49d5a7dc0e339")] +#[freeze_struct("fbab6d1e7f3c69ae")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct Metagraph { // Subnet index @@ -33,17 +33,17 @@ pub struct Metagraph { blocks_since_last_step: Compact, // blocks since last epoch. // Subnet emission terms - subnet_emission: Compact, // subnet emission via stao - alpha_in: Compact, // amount of alpha in reserve - alpha_out: Compact, // amount of alpha outstanding - tao_in: Compact, // amount of tao injected per block - alpha_out_emission: Compact, // amount injected in alpha reserves per block - alpha_in_emission: Compact, // amount injected outstanding per block - tao_in_emission: Compact, // amount of tao injected per block - pending_alpha_emission: Compact, // pending alpha to be distributed - pending_root_emission: Compact, // pending tao for root divs to be distributed - subnet_volume: Compact, // volume of the subnet in TAO - moving_price: I96F32, // subnet moving price. + subnet_emission: Compact, // subnet emission via stao + alpha_in: Compact, // amount of alpha in reserve + alpha_out: Compact, // amount of alpha outstanding + tao_in: Compact, // amount of tao injected per block + alpha_out_emission: Compact, // amount injected in alpha reserves per block + alpha_in_emission: Compact, // amount injected outstanding per block + tao_in_emission: Compact, // amount of tao injected per block + pending_alpha_emission: Compact, // pending alpha to be distributed + pending_root_emission: Compact, // pending tao for root divs to be distributed + subnet_volume: Compact, // volume of the subnet in TAO + moving_price: I96F32, // subnet moving price. // Hparams for epoch rho: Compact, // subnet rho param @@ -60,15 +60,15 @@ pub struct Metagraph { // Registration num_uids: Compact, max_uids: Compact, - burn: Compact, // current burn cost + burn: Compact, // current burn cost difficulty: Compact, // current difficulty registration_allowed: bool, // allows registrations pow_registration_allowed: bool, // pow registration enabled immunity_period: Compact, // subnet miner immunity period min_difficulty: Compact, // min pow difficulty max_difficulty: Compact, // max pow difficulty - min_burn: Compact, // min tao burn - max_burn: Compact, // max tao burn + min_burn: Compact, // min tao burn + max_burn: Compact, // max tao burn adjustment_alpha: Compact, // adjustment speed for registration params adjustment_interval: Compact, // pow and burn adjustment interval target_regs_per_interval: Compact, // target registrations per interval @@ -94,23 +94,23 @@ pub struct Metagraph { validator_permit: Vec, // Val permit per UID pruning_score: Vec>, // Pruning per UID last_update: Vec>, // Last update per UID - emission: Vec>, // Emission per UID + emission: Vec>, // Emission per UID dividends: Vec>, // Dividends per UID incentives: Vec>, // Mining incentives per UID consensus: Vec>, // Consensus per UID trust: Vec>, // Trust per UID rank: Vec>, // Rank per UID block_at_registration: Vec>, // Reg block per UID - alpha_stake: Vec>, // Alpha staked per UID - tao_stake: Vec>, // TAO staked per UID - total_stake: Vec>, // Total stake per UID + alpha_stake: Vec>, // Alpha staked per UID + tao_stake: Vec>, // TAO staked per UID + total_stake: Vec>, // Total stake per UID // Dividend break down. - tao_dividends_per_hotkey: Vec<(AccountId, Compact)>, // List of dividend payouts in tao via root. - alpha_dividends_per_hotkey: Vec<(AccountId, Compact)>, // List of dividend payout in alpha via subnet. + tao_dividends_per_hotkey: Vec<(AccountId, Compact)>, // List of dividend payouts in tao via root. + alpha_dividends_per_hotkey: Vec<(AccountId, Compact)>, // List of dividend payout in alpha via subnet. } -#[freeze_struct("56156d51c66190e8")] +#[freeze_struct("3ff2befdb7b393ea")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SelectiveMetagraph { // Subnet index @@ -134,16 +134,16 @@ pub struct SelectiveMetagraph { // Subnet emission terms subnet_emission: Option>, // subnet emission via stao - alpha_in: Option>, // amount of alpha in reserve - alpha_out: Option>, // amount of alpha outstanding - tao_in: Option>, // amount of tao injected per block - alpha_out_emission: Option>, // amount injected in alpha reserves per block - alpha_in_emission: Option>, // amount injected outstanding per block - tao_in_emission: Option>, // amount of tao injected per block - pending_alpha_emission: Option>, // pending alpha to be distributed - pending_root_emission: Option>, // panding tao for root divs to be distributed - subnet_volume: Option>, // volume of the subnet in TAO - moving_price: Option, // subnet moving price. + alpha_in: Option>, // amount of alpha in reserve + alpha_out: Option>, // amount of alpha outstanding + tao_in: Option>, // amount of tao injected per block + alpha_out_emission: Option>, // amount injected in alpha reserves per block + alpha_in_emission: Option>, // amount injected outstanding per block + tao_in_emission: Option>, // amount of tao injected per block + pending_alpha_emission: Option>, // pending alpha to be distributed + pending_root_emission: Option>, // panding tao for root divs to be distributed + subnet_volume: Option>, // volume of the subnet in TAO + moving_price: Option, // subnet moving price. // Hparams for epoch rho: Option>, // subnet rho param @@ -160,15 +160,15 @@ pub struct SelectiveMetagraph { // Registration num_uids: Option>, max_uids: Option>, - burn: Option>, // current burn cost + burn: Option>, // current burn cost difficulty: Option>, // current difficulty registration_allowed: Option, // allows registrations pow_registration_allowed: Option, // pow registration enabled immunity_period: Option>, // subnet miner immunity period min_difficulty: Option>, // min pow difficulty max_difficulty: Option>, // max pow difficulty - min_burn: Option>, // min tao burn - max_burn: Option>, // max tao burn + min_burn: Option>, // min tao burn + max_burn: Option>, // max tao burn adjustment_alpha: Option>, // adjustment speed for registration params adjustment_interval: Option>, // pow and burn adjustment interval target_regs_per_interval: Option>, // target registrations per interval @@ -194,20 +194,20 @@ pub struct SelectiveMetagraph { validator_permit: Option>, // Val permit per UID pruning_score: Option>>, // Pruning per UID last_update: Option>>, // Last update per UID - emission: Option>>, // Emission per UID + emission: Option>>, // Emission per UID dividends: Option>>, // Dividends per UID incentives: Option>>, // Mining incentives per UID consensus: Option>>, // Consensus per UID trust: Option>>, // Trust per UID rank: Option>>, // Rank per UID block_at_registration: Option>>, // Reg block per UID - alpha_stake: Option>>, // Alpha staked per UID - tao_stake: Option>>, // TAO staked per UID - total_stake: Option>>, // Total stake per UID + alpha_stake: Option>>, // Alpha staked per UID + tao_stake: Option>>, // TAO staked per UID + total_stake: Option>>, // Total stake per UID // Dividend break down. - tao_dividends_per_hotkey: Option)>>, // List of dividend payouts in tao via root - alpha_dividends_per_hotkey: Option)>>, // List of dividend payout in alpha via subnet + tao_dividends_per_hotkey: Option)>>, // List of dividend payouts in tao via root + alpha_dividends_per_hotkey: Option)>>, // List of dividend payout in alpha via subnet // validators validators: Option>>, // List of validators @@ -641,11 +641,11 @@ impl Pallet { identities.push(IdentitiesV2::::get(coldkey.clone())); axons.push(Self::get_axon_info(netuid, &hotkey)); } - let mut tao_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; - let mut alpha_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; + let mut tao_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; + let mut alpha_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; for hotkey in hotkeys.clone() { // Tao dividends were removed - let tao_divs = TaoCurrency::ZERO; + let tao_divs = TaoBalance::ZERO; let alpha_divs = AlphaDividendsPerSubnet::::get(netuid, hotkey.clone()); tao_dividends_per_hotkey.push((hotkey.clone(), tao_divs.into())); alpha_dividends_per_hotkey.push((hotkey.clone(), alpha_divs.into())); @@ -697,7 +697,7 @@ impl Pallet { pending_alpha_emission: PendingValidatorEmission::::get(netuid) .saturating_add(PendingServerEmission::::get(netuid)) .into(), // pending alpha to be distributed - pending_root_emission: TaoCurrency::from(0u64).into(), // panding tao for root divs to be distributed + pending_root_emission: TaoBalance::from(0u64).into(), // panding tao for root divs to be distributed subnet_volume: subnet_volume.into(), moving_price: SubnetMovingPrice::::get(netuid), @@ -783,16 +783,16 @@ impl Pallet { block_at_registration, // Reg block per UID alpha_stake: alpha_stake_fl .iter() - .map(|xi| Compact::from(AlphaCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), // Alpha staked per UID + .map(|xi| Compact::from(AlphaBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), // Alpha staked per UID tao_stake: tao_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), // TAO staked per UID + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), // TAO staked per UID total_stake: total_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), // Total stake per UID + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), // Total stake per UID // Dividend break down. tao_dividends_per_hotkey, @@ -1011,7 +1011,7 @@ impl Pallet { }, Some(SelectiveMetagraphIndex::PendingRootEmission) => SelectiveMetagraph { netuid: netuid.into(), - pending_root_emission: Some(TaoCurrency::from(0u64).into()), + pending_root_emission: Some(TaoBalance::from(0u64).into()), ..Default::default() }, Some(SelectiveMetagraphIndex::SubnetVolume) => SelectiveMetagraph { @@ -1366,8 +1366,8 @@ impl Pallet { alpha_stake: Some( alpha_stake_fl .iter() - .map(|xi| Compact::from(AlphaCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), + .map(|xi| Compact::from(AlphaBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), ), ..Default::default() } @@ -1380,8 +1380,8 @@ impl Pallet { tao_stake: Some( tao_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), ), ..Default::default() } @@ -1394,8 +1394,8 @@ impl Pallet { total_stake: Some( total_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) - .collect::>>(), + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) + .collect::>>(), ), ..Default::default() } @@ -1409,11 +1409,10 @@ impl Pallet { let hotkey = Keys::::get(netuid, uid); hotkeys.push(hotkey.clone()); } - let mut tao_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = - vec![]; + let mut tao_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; for hotkey in hotkeys.clone() { // Tao dividends were removed - let tao_divs = TaoCurrency::ZERO; + let tao_divs = TaoBalance::ZERO; tao_dividends_per_hotkey.push((hotkey.clone(), tao_divs.into())); } SelectiveMetagraph { @@ -1423,7 +1422,7 @@ impl Pallet { } } Some(SelectiveMetagraphIndex::AlphaDividendsPerHotkey) => { - let mut alpha_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = + let mut alpha_dividends_per_hotkey: Vec<(T::AccountId, Compact)> = vec![]; let n: u16 = Self::get_subnetwork_n(netuid); let mut hotkeys: Vec = vec![]; diff --git a/pallets/subtensor/src/rpc_info/neuron_info.rs b/pallets/subtensor/src/rpc_info/neuron_info.rs index 6e29a51ef5..fc5d7cccde 100644 --- a/pallets/subtensor/src/rpc_info/neuron_info.rs +++ b/pallets/subtensor/src/rpc_info/neuron_info.rs @@ -2,9 +2,9 @@ use super::*; use frame_support::pallet_prelude::{Decode, Encode}; extern crate alloc; use codec::Compact; -use subtensor_runtime_common::{AlphaCurrency, NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex}; -#[freeze_struct("9e5a291e7e71482d")] +#[freeze_struct("3879d37d31f5c442")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct NeuronInfo { hotkey: AccountId, @@ -14,9 +14,9 @@ pub struct NeuronInfo { active: bool, axon_info: AxonInfo, prometheus_info: PrometheusInfo, - stake: Vec<(AccountId, Compact)>, // map of coldkey to stake on this neuron/hotkey (includes delegations) + stake: Vec<(AccountId, Compact)>, // map of coldkey to stake on this neuron/hotkey (includes delegations) rank: Compact, - emission: Compact, + emission: Compact, incentive: Compact, consensus: Compact, trust: Compact, @@ -29,7 +29,7 @@ pub struct NeuronInfo { pruning_score: Compact, } -#[freeze_struct("b9fdff7fc6e023c7")] +#[freeze_struct("4c03ff614b2b938f")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct NeuronInfoLite { hotkey: AccountId, @@ -39,9 +39,9 @@ pub struct NeuronInfoLite { active: bool, axon_info: AxonInfo, prometheus_info: PrometheusInfo, - stake: Vec<(AccountId, Compact)>, // map of coldkey to stake on this neuron/hotkey (includes delegations) + stake: Vec<(AccountId, Compact)>, // map of coldkey to stake on this neuron/hotkey (includes delegations) rank: Compact, - emission: Compact, + emission: Compact, incentive: Compact, consensus: Compact, trust: Compact, @@ -117,7 +117,7 @@ impl Pallet { } }) .collect::, Compact)>>(); - let stake: Vec<(T::AccountId, Compact)> = vec![( + let stake: Vec<(T::AccountId, Compact)> = vec![( coldkey.clone(), Self::get_stake_for_hotkey_on_subnet(&hotkey, netuid).into(), )]; @@ -182,7 +182,7 @@ impl Pallet { let last_update = Self::get_last_update_for_uid(NetUidStorageIndex::from(netuid), uid); let validator_permit = Self::get_validator_permit_for_uid(netuid, uid); - let stake: Vec<(T::AccountId, Compact)> = vec![( + let stake: Vec<(T::AccountId, Compact)> = vec![( coldkey.clone(), Self::get_stake_for_hotkey_on_subnet(&hotkey, netuid).into(), )]; diff --git a/pallets/subtensor/src/rpc_info/show_subnet.rs b/pallets/subtensor/src/rpc_info/show_subnet.rs index abd9670bb8..bdc2a8cdd9 100644 --- a/pallets/subtensor/src/rpc_info/show_subnet.rs +++ b/pallets/subtensor/src/rpc_info/show_subnet.rs @@ -4,9 +4,9 @@ use crate::epoch::math::*; use codec::Compact; use frame_support::pallet_prelude::{Decode, Encode}; use substrate_fixed::types::I64F64; -use subtensor_runtime_common::{AlphaCurrency, NetUid, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex, TaoBalance}; -#[freeze_struct("9354762261420485")] +#[freeze_struct("5214275026dc3f36")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SubnetState { netuid: Compact, @@ -16,17 +16,17 @@ pub struct SubnetState { validator_permit: Vec, pruning_score: Vec>, last_update: Vec>, - emission: Vec>, + emission: Vec>, dividends: Vec>, incentives: Vec>, consensus: Vec>, trust: Vec>, rank: Vec>, block_at_registration: Vec>, - alpha_stake: Vec>, - tao_stake: Vec>, - total_stake: Vec>, - emission_history: Vec>>, + alpha_stake: Vec>, + tao_stake: Vec>, + total_stake: Vec>, + emission_history: Vec>>, // identities: Vec, // tao_stake: Compact, // incentive: Compact, @@ -51,12 +51,12 @@ impl Pallet { /// # Returns /// /// * `Vec>>` - A vector of vectors containing the emission history for each hotkey across all subnets. - pub fn get_emissions_history(hotkeys: Vec) -> Vec>> { - let mut result: Vec>> = vec![]; + pub fn get_emissions_history(hotkeys: Vec) -> Vec>> { + let mut result: Vec>> = vec![]; for netuid in Self::get_all_subnet_netuids() { - let mut hotkeys_emissions: Vec> = vec![]; + let mut hotkeys_emissions: Vec> = vec![]; for hotkey in hotkeys.clone() { - let last_emission: Compact = + let last_emission: Compact = LastHotkeyEmissionOnNetuid::::get(hotkey.clone(), netuid).into(); hotkeys_emissions.push(last_emission); } @@ -136,17 +136,17 @@ impl Pallet { Vec, Vec, ) = Self::get_stake_weights_for_network(netuid); - let alpha_stake: Vec> = alpha_stake_fl + let alpha_stake: Vec> = alpha_stake_fl .iter() - .map(|xi| Compact::from(AlphaCurrency::from(fixed64_to_u64(*xi)))) + .map(|xi| Compact::from(AlphaBalance::from(fixed64_to_u64(*xi)))) .collect(); - let tao_stake: Vec> = tao_stake_fl + let tao_stake: Vec> = tao_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) .collect(); - let total_stake: Vec> = total_stake_fl + let total_stake: Vec> = total_stake_fl .iter() - .map(|xi| Compact::from(TaoCurrency::from(fixed64_to_u64(*xi)))) + .map(|xi| Compact::from(TaoBalance::from(fixed64_to_u64(*xi)))) .collect(); let emission_history = Self::get_emissions_history(hotkeys.clone()); Some(SubnetState { diff --git a/pallets/subtensor/src/rpc_info/stake_info.rs b/pallets/subtensor/src/rpc_info/stake_info.rs index 83c0cfed8b..545edf6db6 100644 --- a/pallets/subtensor/src/rpc_info/stake_info.rs +++ b/pallets/subtensor/src/rpc_info/stake_info.rs @@ -2,21 +2,21 @@ extern crate alloc; use codec::Compact; use frame_support::pallet_prelude::{Decode, Encode}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; use super::*; -#[freeze_struct("28269be895d7b5ba")] +#[freeze_struct("8cef3fae262a623e")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct StakeInfo { hotkey: AccountId, coldkey: AccountId, netuid: Compact, - stake: Compact, + stake: Compact, locked: Compact, - emission: Compact, - tao_emission: Compact, + emission: Compact, + tao_emission: Compact, drain: Compact, is_registered: bool, } @@ -44,7 +44,7 @@ impl Pallet { } let emission = AlphaDividendsPerSubnet::::get(*netuid_i, &hotkey_i); // Tao dividends were removed - let tao_emission = TaoCurrency::ZERO; + let tao_emission = TaoBalance::ZERO; let is_registered: bool = Self::is_hotkey_registered_on_network(*netuid_i, hotkey_i); stake_info_for_coldkey.push(StakeInfo { @@ -103,7 +103,7 @@ impl Pallet { ); let emission = AlphaDividendsPerSubnet::::get(netuid, &hotkey_account); // Tao dividends were removed - let tao_emission = TaoCurrency::ZERO; + let tao_emission = TaoBalance::ZERO; let is_registered: bool = Self::is_hotkey_registered_on_network(netuid, &hotkey_account); Some(StakeInfo { @@ -130,7 +130,7 @@ impl Pallet { 0_u64 } else { let netuid = destination.or(origin).map(|v| v.1).unwrap_or_default(); - T::SwapInterface::approx_fee_amount(netuid.into(), TaoCurrency::from(amount)).to_u64() + T::SwapInterface::approx_fee_amount(netuid.into(), TaoBalance::from(amount)).to_u64() } } } diff --git a/pallets/subtensor/src/rpc_info/subnet_info.rs b/pallets/subtensor/src/rpc_info/subnet_info.rs index 6a7966b4fb..db595eb98e 100644 --- a/pallets/subtensor/src/rpc_info/subnet_info.rs +++ b/pallets/subtensor/src/rpc_info/subnet_info.rs @@ -4,9 +4,9 @@ use frame_support::storage::IterableStorageMap; extern crate alloc; use codec::Compact; use substrate_fixed::types::I32F32; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; -#[freeze_struct("edd6bd3273dfea76")] +#[freeze_struct("f691073111c39620")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SubnetInfo { netuid: Compact, @@ -25,11 +25,11 @@ pub struct SubnetInfo { network_modality: Compact, network_connect: Vec<[u16; 2]>, emission_values: Compact, - burn: Compact, + burn: Compact, owner: AccountId, } -#[freeze_struct("e5f66b14b33331c3")] +#[freeze_struct("e8e028bf4fbc6741")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SubnetInfov2 { netuid: Compact, @@ -48,12 +48,12 @@ pub struct SubnetInfov2 { network_modality: Compact, network_connect: Vec<[u16; 2]>, emission_value: Compact, - burn: Compact, + burn: Compact, owner: AccountId, identity: Option, } -#[freeze_struct("24f0815487879ed3")] +#[freeze_struct("fd2db338b156d251")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SubnetHyperparams { rho: Compact, @@ -70,8 +70,8 @@ pub struct SubnetHyperparams { activity_cutoff: Compact, pub registration_allowed: bool, target_regs_per_interval: Compact, - min_burn: Compact, - max_burn: Compact, + min_burn: Compact, + max_burn: Compact, bonds_moving_avg: Compact, max_regs_per_block: Compact, serving_rate_limit: Compact, @@ -85,7 +85,7 @@ pub struct SubnetHyperparams { liquid_alpha_enabled: bool, } -#[freeze_struct("2153c3f3bb01ef66")] +#[freeze_struct("bb4666554020e789")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SubnetHyperparamsV2 { rho: Compact, @@ -102,8 +102,8 @@ pub struct SubnetHyperparamsV2 { activity_cutoff: Compact, pub registration_allowed: bool, target_regs_per_interval: Compact, - min_burn: Compact, - max_burn: Compact, + min_burn: Compact, + max_burn: Compact, bonds_moving_avg: Compact, max_regs_per_block: Compact, serving_rate_limit: Compact, diff --git a/pallets/subtensor/src/staking/add_stake.rs b/pallets/subtensor/src/staking/add_stake.rs index b0c71a3a48..17dd9e2eb9 100644 --- a/pallets/subtensor/src/staking/add_stake.rs +++ b/pallets/subtensor/src/staking/add_stake.rs @@ -1,5 +1,5 @@ use substrate_fixed::types::I96F32; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; use super::*; @@ -41,8 +41,8 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - stake_to_be_added: TaoCurrency, - ) -> Result { + stake_to_be_added: TaoBalance, + ) -> Result { // 1. We check that the transaction is signed by the caller and retrieve the T::AccountId coldkey information. let coldkey = ensure_signed(origin)?; log::debug!( @@ -124,10 +124,10 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - stake_to_be_added: TaoCurrency, - limit_price: TaoCurrency, + stake_to_be_added: TaoBalance, + limit_price: TaoBalance, allow_partial: bool, - ) -> Result { + ) -> Result { // 1. We check that the transaction is signed by the caller and retrieve the T::AccountId coldkey information. let coldkey = ensure_signed(origin)?; log::debug!( @@ -135,7 +135,7 @@ impl Pallet { ); // 2. Calculate the maximum amount that can be executed with price limit - let max_amount: TaoCurrency = Self::get_max_amount_add(netuid, limit_price)?.into(); + let max_amount: TaoBalance = Self::get_max_amount_add(netuid, limit_price)?.into(); let mut possible_stake = stake_to_be_added; if possible_stake > max_amount { possible_stake = max_amount; @@ -176,7 +176,7 @@ impl Pallet { // Returns the maximum amount of RAO that can be executed with price limit pub fn get_max_amount_add( netuid: NetUid, - limit_price: TaoCurrency, + limit_price: TaoBalance, ) -> Result { // Corner case: root and stao // There's no slippage for root or stable subnets, so if limit price is 1e9 rao or diff --git a/pallets/subtensor/src/staking/claim_root.rs b/pallets/subtensor/src/staking/claim_root.rs index 24a26d154c..58babb79a6 100644 --- a/pallets/subtensor/src/staking/claim_root.rs +++ b/pallets/subtensor/src/staking/claim_root.rs @@ -40,7 +40,7 @@ impl Pallet { pub fn increase_root_claimable_for_hotkey_and_subnet( hotkey: &T::AccountId, netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ) { // Get total stake on this hotkey on root. let total: I96F32 = @@ -168,7 +168,7 @@ impl Pallet { let owed_tao = match Self::swap_alpha_for_tao( netuid, owed_u64.into(), - T::SwapInterface::min_price::(), + T::SwapInterface::min_price::(), true, ) { Ok(owed_tao) => owed_tao, @@ -271,7 +271,7 @@ impl Pallet { pub fn remove_stake_adjust_root_claimed_for_hotkey_and_coldkey( hotkey: &T::AccountId, coldkey: &T::AccountId, - amount: AlphaCurrency, + amount: AlphaBalance, ) { // Iterate over all the subnets this hotkey is staked on for root. let root_claimable = RootClaimable::::get(hotkey); diff --git a/pallets/subtensor/src/staking/helpers.rs b/pallets/subtensor/src/staking/helpers.rs index f31852800a..900f9f1981 100644 --- a/pallets/subtensor/src/staking/helpers.rs +++ b/pallets/subtensor/src/staking/helpers.rs @@ -7,7 +7,7 @@ use frame_support::traits::{ }; use safe_math::*; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; use super::*; @@ -27,24 +27,24 @@ impl Pallet { // Returns the total amount of stake in the staking table. // - pub fn get_total_stake() -> TaoCurrency { + pub fn get_total_stake() -> TaoBalance { TotalStake::::get() } // Increases the total amount of stake by the passed amount. // - pub fn increase_total_stake(increment: TaoCurrency) { + pub fn increase_total_stake(increment: TaoBalance) { TotalStake::::put(Self::get_total_stake().saturating_add(increment)); } // Decreases the total amount of stake by the passed amount. // - pub fn decrease_total_stake(decrement: TaoCurrency) { + pub fn decrease_total_stake(decrement: TaoBalance) { TotalStake::::put(Self::get_total_stake().saturating_sub(decrement)); } /// Returns the total amount of stake (in TAO) under a hotkey (delegative or otherwise) - pub fn get_total_stake_for_hotkey(hotkey: &T::AccountId) -> TaoCurrency { + pub fn get_total_stake_for_hotkey(hotkey: &T::AccountId) -> TaoBalance { Self::get_all_subnet_netuids() .into_iter() .map(|netuid| { @@ -63,7 +63,7 @@ impl Pallet { // Returns the total amount of stake under a coldkey // - pub fn get_total_stake_for_coldkey(coldkey: &T::AccountId) -> TaoCurrency { + pub fn get_total_stake_for_coldkey(coldkey: &T::AccountId) -> TaoBalance { let hotkeys = StakingHotkeys::::get(coldkey); hotkeys .iter() @@ -96,7 +96,7 @@ impl Pallet { pub fn get_total_stake_for_coldkey_on_subnet( coldkey: &T::AccountId, netuid: NetUid, - ) -> TaoCurrency { + ) -> TaoBalance { let hotkeys = StakingHotkeys::::get(coldkey); hotkeys .iter() @@ -305,9 +305,9 @@ impl Pallet { pub fn remove_balance_from_coldkey_account( coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, - ) -> Result { + ) -> Result { if amount == 0.into() { - return Ok(TaoCurrency::ZERO); + return Ok(TaoBalance::ZERO); } let credit = ::Currency::withdraw( @@ -330,7 +330,7 @@ impl Pallet { pub fn kill_coldkey_account( coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, - ) -> Result { + ) -> Result { if amount == 0.into() { return Ok(0.into()); } @@ -356,7 +356,7 @@ impl Pallet { T::SwapInterface::is_user_liquidity_enabled(netuid) } - pub fn recycle_subnet_alpha(netuid: NetUid, amount: AlphaCurrency) { + pub fn recycle_subnet_alpha(netuid: NetUid, amount: AlphaBalance) { // TODO: record recycled alpha in a tracker SubnetAlphaOut::::mutate(netuid, |total| { *total = total.saturating_sub(amount); @@ -413,7 +413,7 @@ impl Pallet { } } - pub fn burn_subnet_alpha(_netuid: NetUid, _amount: AlphaCurrency) { + pub fn burn_subnet_alpha(_netuid: NetUid, _amount: AlphaBalance) { // Do nothing; TODO: record burned alpha in a tracker } } diff --git a/pallets/subtensor/src/staking/move_stake.rs b/pallets/subtensor/src/staking/move_stake.rs index a1d9b46d5b..2cc08b4f02 100644 --- a/pallets/subtensor/src/staking/move_stake.rs +++ b/pallets/subtensor/src/staking/move_stake.rs @@ -2,7 +2,7 @@ use super::*; use safe_math::*; use sp_core::Get; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; impl Pallet { @@ -33,7 +33,7 @@ impl Pallet { destination_hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> dispatch::DispatchResult { // Check that the origin is signed by the origin_hotkey. let coldkey = ensure_signed(origin)?; @@ -124,7 +124,7 @@ impl Pallet { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> dispatch::DispatchResult { // Ensure the extrinsic is signed by the origin_coldkey. let coldkey = ensure_signed(origin)?; @@ -189,7 +189,7 @@ impl Pallet { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, + alpha_amount: AlphaBalance, ) -> dispatch::DispatchResult { // Ensure the extrinsic is signed by the coldkey. let coldkey = ensure_signed(origin)?; @@ -255,8 +255,8 @@ impl Pallet { hotkey: T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, - limit_price: TaoCurrency, + alpha_amount: AlphaBalance, + limit_price: TaoBalance, allow_partial: bool, ) -> dispatch::DispatchResult { // Ensure the extrinsic is signed by the coldkey. @@ -302,12 +302,12 @@ impl Pallet { destination_hotkey: &T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, - maybe_limit_price: Option, + alpha_amount: AlphaBalance, + maybe_limit_price: Option, maybe_allow_partial: Option, check_transfer_toggle: bool, set_limit: bool, - ) -> Result { + ) -> Result { // Cap the alpha_amount at available Alpha because user might be paying transaxtion fees // in Alpha and their total is already reduced by now. let alpha_available = Self::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -423,8 +423,8 @@ impl Pallet { pub fn get_max_amount_move( origin_netuid: NetUid, destination_netuid: NetUid, - limit_price: TaoCurrency, - ) -> Result { + limit_price: TaoBalance, + ) -> Result { let tao = U64F64::saturating_from_num(1_000_000_000); // Corner case: both subnet IDs are root or stao @@ -436,7 +436,7 @@ impl Pallet { if limit_price > tao.saturating_to_num::().into() { return Err(Error::::ZeroMaxStakeAmount.into()); } else { - return Ok(AlphaCurrency::MAX); + return Ok(AlphaBalance::MAX); } } @@ -446,7 +446,7 @@ impl Pallet { && (SubnetMechanism::::get(destination_netuid) == 1) { if limit_price.is_zero() { - return Ok(AlphaCurrency::MAX); + return Ok(AlphaBalance::MAX); } else { // The destination price is reverted because the limit_price is origin_price / destination_price let destination_subnet_price = tao @@ -508,7 +508,7 @@ impl Pallet { // Corner case: limit_price is zero if limit_price.is_zero() { - return Ok(AlphaCurrency::MAX); + return Ok(AlphaBalance::MAX); } // Main case diff --git a/pallets/subtensor/src/staking/recycle_alpha.rs b/pallets/subtensor/src/staking/recycle_alpha.rs index b77982fa31..08627274aa 100644 --- a/pallets/subtensor/src/staking/recycle_alpha.rs +++ b/pallets/subtensor/src/staking/recycle_alpha.rs @@ -1,6 +1,6 @@ use super::*; use crate::{Error, system::ensure_signed}; -use subtensor_runtime_common::{AlphaCurrency, NetUid}; +use subtensor_runtime_common::{AlphaBalance, NetUid}; impl Pallet { /// Recycles alpha from a cold/hot key pair, reducing AlphaOut on a subnet @@ -18,7 +18,7 @@ impl Pallet { pub(crate) fn do_recycle_alpha( origin: T::RuntimeOrigin, hotkey: T::AccountId, - amount: AlphaCurrency, + amount: AlphaBalance, netuid: NetUid, ) -> DispatchResult { let coldkey: T::AccountId = ensure_signed(origin)?; @@ -85,7 +85,7 @@ impl Pallet { pub(crate) fn do_burn_alpha( origin: T::RuntimeOrigin, hotkey: T::AccountId, - amount: AlphaCurrency, + amount: AlphaBalance, netuid: NetUid, ) -> DispatchResult { let coldkey = ensure_signed(origin)?; @@ -140,8 +140,8 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - amount: TaoCurrency, - limit: Option, + amount: TaoBalance, + limit: Option, ) -> DispatchResult { Self::ensure_subnet_owner(origin.clone(), netuid)?; diff --git a/pallets/subtensor/src/staking/remove_stake.rs b/pallets/subtensor/src/staking/remove_stake.rs index f3298d771a..b2b5ba17b7 100644 --- a/pallets/subtensor/src/staking/remove_stake.rs +++ b/pallets/subtensor/src/staking/remove_stake.rs @@ -1,6 +1,6 @@ use super::*; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::{Order, SwapHandler}; impl Pallet { @@ -40,7 +40,7 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - alpha_unstaked: AlphaCurrency, + alpha_unstaked: AlphaBalance, ) -> dispatch::DispatchResult { // 1. We check the transaction is signed by the caller and retrieve the T::AccountId coldkey information. let coldkey = ensure_signed(origin)?; @@ -228,7 +228,7 @@ impl Pallet { log::debug!("All subnet netuids: {netuids:?}"); // 4. Iterate through all subnets and remove stake. - let mut total_tao_unstaked = TaoCurrency::ZERO; + let mut total_tao_unstaked = TaoBalance::ZERO; for netuid in netuids.into_iter() { if !SubtokenEnabled::::get(netuid) { continue; @@ -333,8 +333,8 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - alpha_unstaked: AlphaCurrency, - limit_price: TaoCurrency, + alpha_unstaked: AlphaBalance, + limit_price: TaoBalance, allow_partial: bool, ) -> dispatch::DispatchResult { // 1. We check the transaction is signed by the caller and retrieve the T::AccountId coldkey information. @@ -390,14 +390,14 @@ impl Pallet { // Returns the maximum amount of RAO that can be executed with price limit pub fn get_max_amount_remove( netuid: NetUid, - limit_price: TaoCurrency, - ) -> Result { + limit_price: TaoBalance, + ) -> Result { // Corner case: root and stao // There's no slippage for root or stable subnets, so if limit price is 1e9 rao or // lower, then max_amount equals u64::MAX, otherwise it is 0. if netuid.is_root() || SubnetMechanism::::get(netuid) == 0 { if limit_price <= 1_000_000_000.into() { - return Ok(AlphaCurrency::MAX); + return Ok(AlphaBalance::MAX); } else { return Err(Error::::ZeroMaxStakeAmount.into()); } @@ -419,7 +419,7 @@ impl Pallet { origin: T::RuntimeOrigin, hotkey: T::AccountId, netuid: NetUid, - limit_price: Option, + limit_price: Option, ) -> DispatchResult { let coldkey = ensure_signed(origin.clone())?; @@ -439,7 +439,7 @@ impl Pallet { // 2) Owner / lock cost. let owner_coldkey: T::AccountId = SubnetOwner::::get(netuid); - let lock_cost: TaoCurrency = Self::get_subnet_locked_balance(netuid); + let lock_cost: TaoBalance = Self::get_subnet_locked_balance(netuid); // Determine if this subnet is eligible for a lock refund (legacy). let reg_at: u64 = NetworkRegisteredAt::::get(netuid); @@ -451,7 +451,7 @@ impl Pallet { // - get the current alpha issuance, // - apply owner fraction to get owner α, // - price that α using a *simulated* AMM swap. - let mut owner_emission_tao = TaoCurrency::ZERO; + let mut owner_emission_tao = TaoBalance::ZERO; if should_refund_owner && !lock_cost.is_zero() { let total_emitted_alpha_u128: u128 = Self::get_alpha_issuance(netuid).to_u64() as u128; @@ -468,9 +468,9 @@ impl Pallet { .saturating_mul(cur_price) .floor() .saturating_to_num::(); - TaoCurrency::from(val_u64) + TaoBalance::from(val_u64) } else { - TaoCurrency::ZERO + TaoBalance::ZERO }; } } @@ -515,7 +515,7 @@ impl Pallet { } // 5) Determine the TAO pot and pre-adjust accounting to avoid double counting. - let pot_tao: TaoCurrency = SubnetTAO::::get(netuid); + let pot_tao: TaoBalance = SubnetTAO::::get(netuid); let pot_u64: u64 = pot_tao.into(); if pot_u64 > 0 { @@ -564,7 +564,7 @@ impl Pallet { // Credit each share directly to coldkey free balance. for p in portions { if p.share > 0 { - Self::add_balance_to_coldkey_account(&p.cold, TaoCurrency::from(p.share)); + Self::add_balance_to_coldkey_account(&p.cold, TaoBalance::from(p.share)); } } } @@ -585,16 +585,16 @@ impl Pallet { SubnetAlphaOut::::remove(netuid); // Clear the locked balance on the subnet. - Self::set_subnet_locked_balance(netuid, TaoCurrency::ZERO); + Self::set_subnet_locked_balance(netuid, TaoBalance::ZERO); // 8) Finalize lock handling: // - Legacy subnets (registered before NetworkRegistrationStartBlock) receive: // refund = max(0, lock_cost(τ) − owner_received_emission_in_τ). // - New subnets: no refund. - let refund: TaoCurrency = if should_refund_owner { + let refund: TaoBalance = if should_refund_owner { lock_cost.saturating_sub(owner_emission_tao) } else { - TaoCurrency::ZERO + TaoBalance::ZERO }; if !refund.is_zero() { diff --git a/pallets/subtensor/src/staking/stake_utils.rs b/pallets/subtensor/src/staking/stake_utils.rs index 1aeeacc33c..1ff9f89577 100644 --- a/pallets/subtensor/src/staking/stake_utils.rs +++ b/pallets/subtensor/src/staking/stake_utils.rs @@ -3,7 +3,7 @@ use safe_math::*; use share_pool::{SharePool, SharePoolDataOperations}; use sp_std::ops::Neg; use substrate_fixed::types::{I64F64, I96F32, U64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::{Order, SwapHandler, SwapResult}; impl Pallet { @@ -17,13 +17,13 @@ impl Pallet { /// /// # Returns /// * `u64` - The total alpha issuance for the specified subnet. - pub fn get_alpha_issuance(netuid: NetUid) -> AlphaCurrency { + pub fn get_alpha_issuance(netuid: NetUid) -> AlphaBalance { SubnetAlphaIn::::get(netuid) .saturating_add(SubnetAlphaInProvided::::get(netuid)) .saturating_add(SubnetAlphaOut::::get(netuid)) } - pub fn get_protocol_tao(netuid: NetUid) -> TaoCurrency { + pub fn get_protocol_tao(netuid: NetUid) -> TaoBalance { T::SwapInterface::get_protocol_tao(netuid) } @@ -247,7 +247,7 @@ impl Pallet { pub fn get_tao_inherited_for_hotkey_on_subnet( hotkey: &T::AccountId, netuid: NetUid, - ) -> TaoCurrency { + ) -> TaoBalance { let initial_tao: U96F32 = U96F32::saturating_from_num(Self::get_stake_for_hotkey_on_subnet(hotkey, NetUid::ROOT)); @@ -315,7 +315,7 @@ impl Pallet { pub fn get_inherited_for_hotkey_on_subnet( hotkey: &T::AccountId, netuid: NetUid, - ) -> AlphaCurrency { + ) -> AlphaBalance { // Step 1: Retrieve the initial total stake (alpha) for the hotkey on the specified subnet. let initial_alpha: U96F32 = U96F32::saturating_from_num(Self::get_stake_for_hotkey_on_subnet(hotkey, netuid)); @@ -406,8 +406,8 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - decrement: AlphaCurrency, - ) -> Result> { + decrement: AlphaBalance, + ) -> Result> { // Retrieve the current stake for this hotkey-coldkey pair on the subnet let current_stake = Self::get_stake_for_hotkey_and_coldkey_on_subnet(hotkey, coldkey, netuid); @@ -442,7 +442,7 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - ) -> AlphaCurrency { + ) -> AlphaBalance { let alpha_share_pool = Self::get_alpha_share_pool(hotkey.clone(), netuid); alpha_share_pool.try_get_value(coldkey).unwrap_or(0).into() } @@ -461,7 +461,7 @@ impl Pallet { /// /// # Note /// This function returns the cumulative stake across all coldkeys associated with this hotkey on the subnet. - pub fn get_stake_for_hotkey_on_subnet(hotkey: &T::AccountId, netuid: NetUid) -> AlphaCurrency { + pub fn get_stake_for_hotkey_on_subnet(hotkey: &T::AccountId, netuid: NetUid) -> AlphaBalance { // Retrieve and return the total alpha this hotkey owns on this subnet. // This value represents the sum of stakes from all coldkeys associated with this hotkey. TotalHotkeyAlpha::::get(hotkey, netuid) @@ -479,7 +479,7 @@ impl Pallet { pub fn increase_stake_for_hotkey_on_subnet( hotkey: &T::AccountId, netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ) { let mut alpha_share_pool = Self::get_alpha_share_pool(hotkey.clone(), netuid); alpha_share_pool.update_value_for_all(amount.to_u64() as i64); @@ -513,8 +513,8 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - amount: AlphaCurrency, - ) -> AlphaCurrency { + amount: AlphaBalance, + ) -> AlphaBalance { if !amount.is_zero() { let mut staking_hotkeys = StakingHotkeys::::get(coldkey); if !staking_hotkeys.contains(hotkey) { @@ -536,7 +536,7 @@ impl Pallet { pub fn try_increase_stake_for_hotkey_and_coldkey_on_subnet( hotkey: &T::AccountId, netuid: NetUid, - amount: AlphaCurrency, + amount: AlphaBalance, ) -> bool { let mut alpha_share_pool = Self::get_alpha_share_pool(hotkey.clone(), netuid); let amount = amount.to_u64() as i64; @@ -557,8 +557,8 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - amount: AlphaCurrency, - ) -> AlphaCurrency { + amount: AlphaBalance, + ) -> AlphaBalance { let mut alpha_share_pool = Self::get_alpha_share_pool(hotkey.clone(), netuid); let amount = amount.to_u64(); @@ -581,10 +581,10 @@ impl Pallet { /// Updates TaoIn, AlphaIn, and AlphaOut pub fn swap_tao_for_alpha( netuid: NetUid, - tao: TaoCurrency, - price_limit: TaoCurrency, + tao: TaoBalance, + price_limit: TaoBalance, drop_fees: bool, - ) -> Result, DispatchError> { + ) -> Result, DispatchError> { // Step 1: Get the mechanism type for the subnet (0 for Stable, 1 for Dynamic) let mechanism_id: u16 = SubnetMechanism::::get(netuid); let swap_result = if mechanism_id == 1 { @@ -595,7 +595,7 @@ impl Pallet { SwapResult { amount_paid_in: tao, amount_paid_out: tao.to_u64().into(), - fee_paid: TaoCurrency::ZERO, + fee_paid: TaoBalance::ZERO, } }; @@ -633,10 +633,10 @@ impl Pallet { /// Updates TaoIn, AlphaIn, and AlphaOut pub fn swap_alpha_for_tao( netuid: NetUid, - alpha: AlphaCurrency, - price_limit: TaoCurrency, + alpha: AlphaBalance, + price_limit: TaoBalance, drop_fees: bool, - ) -> Result, DispatchError> { + ) -> Result, DispatchError> { // Step 1: Get the mechanism type for the subnet (0 for Stable, 1 for Dynamic) let mechanism_id: u16 = SubnetMechanism::::get(netuid); // Step 2: Swap alpha and attain tao @@ -648,7 +648,7 @@ impl Pallet { SwapResult { amount_paid_in: alpha, amount_paid_out: alpha.to_u64().into(), - fee_paid: AlphaCurrency::ZERO, + fee_paid: AlphaBalance::ZERO, } }; @@ -689,10 +689,10 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - alpha: AlphaCurrency, - price_limit: TaoCurrency, + alpha: AlphaBalance, + price_limit: TaoBalance, drop_fees: bool, - ) -> Result { + ) -> Result { // Decrease alpha on subnet let actual_alpha_decrease = Self::decrease_stake_for_hotkey_and_coldkey_on_subnet(hotkey, coldkey, netuid, alpha); @@ -761,11 +761,11 @@ impl Pallet { hotkey: &T::AccountId, coldkey: &T::AccountId, netuid: NetUid, - tao: TaoCurrency, - price_limit: TaoCurrency, + tao: TaoBalance, + price_limit: TaoBalance, set_limit: bool, drop_fees: bool, - ) -> Result { + ) -> Result { // Swap the tao to alpha. let swap_result = Self::swap_tao_for_alpha(netuid, tao, price_limit, drop_fees)?; @@ -793,7 +793,7 @@ impl Pallet { .is_zero() || swap_result.amount_paid_out.is_zero() { - return Ok(AlphaCurrency::ZERO); + return Ok(AlphaBalance::ZERO); } // Step 4: Update the list of hotkeys staking for this coldkey @@ -853,8 +853,8 @@ impl Pallet { destination_coldkey: &T::AccountId, destination_hotkey: &T::AccountId, netuid: NetUid, - alpha: AlphaCurrency, - ) -> Result { + alpha: AlphaBalance, + ) -> Result { // Decrease alpha on origin keys let actual_alpha_decrease = Self::decrease_stake_for_hotkey_and_coldkey_on_subnet( origin_hotkey, @@ -889,7 +889,7 @@ impl Pallet { // there's no slippage in this move) let current_price = ::SwapInterface::current_alpha_price(netuid.into()); - let tao_equivalent: TaoCurrency = current_price + let tao_equivalent: TaoBalance = current_price .saturating_mul(U96F32::saturating_from_num(actual_alpha_moved)) .saturating_to_num::() .into(); @@ -948,8 +948,8 @@ impl Pallet { coldkey: &T::AccountId, hotkey: &T::AccountId, netuid: NetUid, - mut stake_to_be_added: TaoCurrency, - max_amount: TaoCurrency, + mut stake_to_be_added: TaoBalance, + max_amount: TaoBalance, allow_partial: bool, ) -> Result<(), Error> { // Ensure that the subnet exists. @@ -1026,8 +1026,8 @@ impl Pallet { coldkey: &T::AccountId, hotkey: &T::AccountId, netuid: NetUid, - alpha_unstaked: AlphaCurrency, - max_amount: AlphaCurrency, + alpha_unstaked: AlphaBalance, + max_amount: AlphaBalance, allow_partial: bool, ) -> Result<(), Error> { // Ensure that the subnet exists. @@ -1119,8 +1119,8 @@ impl Pallet { destination_hotkey: &T::AccountId, origin_netuid: NetUid, destination_netuid: NetUid, - alpha_amount: AlphaCurrency, - max_amount: AlphaCurrency, + alpha_amount: AlphaBalance, + max_amount: AlphaBalance, maybe_allow_partial: Option, check_transfer_toggle: bool, ) -> Result<(), Error> { @@ -1218,13 +1218,13 @@ impl Pallet { Ok(()) } - pub fn increase_provided_tao_reserve(netuid: NetUid, tao: TaoCurrency) { + pub fn increase_provided_tao_reserve(netuid: NetUid, tao: TaoBalance) { SubnetTaoProvided::::mutate(netuid, |total| { *total = total.saturating_add(tao); }); } - pub fn decrease_provided_tao_reserve(netuid: NetUid, tao: TaoCurrency) { + pub fn decrease_provided_tao_reserve(netuid: NetUid, tao: TaoBalance) { // First, decrease SubnetTaoProvided, then deduct the rest from SubnetTAO let subnet_tao = SubnetTAO::::get(netuid); let subnet_tao_provided = SubnetTaoProvided::::get(netuid); @@ -1233,18 +1233,18 @@ impl Pallet { if carry_over.is_zero() { SubnetTaoProvided::::set(netuid, remainder); } else { - SubnetTaoProvided::::set(netuid, TaoCurrency::ZERO); + SubnetTaoProvided::::set(netuid, TaoBalance::ZERO); SubnetTAO::::set(netuid, subnet_tao.saturating_sub(carry_over)); } } - pub fn increase_provided_alpha_reserve(netuid: NetUid, alpha: AlphaCurrency) { + pub fn increase_provided_alpha_reserve(netuid: NetUid, alpha: AlphaBalance) { SubnetAlphaInProvided::::mutate(netuid, |total| { *total = total.saturating_add(alpha); }); } - pub fn decrease_provided_alpha_reserve(netuid: NetUid, alpha: AlphaCurrency) { + pub fn decrease_provided_alpha_reserve(netuid: NetUid, alpha: AlphaBalance) { // First, decrease SubnetAlphaInProvided, then deduct the rest from SubnetAlphaIn let subnet_alpha = SubnetAlphaIn::::get(netuid); let subnet_alpha_provided = SubnetAlphaInProvided::::get(netuid); @@ -1253,7 +1253,7 @@ impl Pallet { if carry_over.is_zero() { SubnetAlphaInProvided::::set(netuid, remainder); } else { - SubnetAlphaInProvided::::set(netuid, AlphaCurrency::ZERO); + SubnetAlphaInProvided::::set(netuid, AlphaBalance::ZERO); SubnetAlphaIn::::set(netuid, subnet_alpha.saturating_sub(carry_over)); } } @@ -1327,7 +1327,7 @@ impl SharePoolDataOperations> crate::TotalHotkeyAlpha::::insert( &(self.hotkey), self.netuid, - AlphaCurrency::from(value.saturating_to_num::()), + AlphaBalance::from(value.saturating_to_num::()), ); } else { crate::TotalHotkeyAlpha::::remove(&(self.hotkey), self.netuid); diff --git a/pallets/subtensor/src/subnets/leasing.rs b/pallets/subtensor/src/subnets/leasing.rs index 7fdc7983b7..e7c10bf8ff 100644 --- a/pallets/subtensor/src/subnets/leasing.rs +++ b/pallets/subtensor/src/subnets/leasing.rs @@ -24,7 +24,7 @@ use frame_system::pallet_prelude::*; use sp_core::blake2_256; use sp_runtime::{Percent, traits::TrailingZeroInput}; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, NetUid}; +use subtensor_runtime_common::{AlphaBalance, NetUid}; pub type LeaseId = u32; @@ -254,7 +254,7 @@ impl Pallet { /// for the contributors and the beneficiary in shares relative to their initial contributions. /// It accumulates dividends to be distributed later when the interval for distribution is reached. /// Distribution is made in alpha and stake to the contributor coldkey and lease hotkey. - pub fn distribute_leased_network_dividends(lease_id: LeaseId, owner_cut_alpha: AlphaCurrency) { + pub fn distribute_leased_network_dividends(lease_id: LeaseId, owner_cut_alpha: AlphaBalance) { // Ensure the lease exists let Some(lease) = SubnetLeases::::get(lease_id) else { log::debug!("Lease {lease_id} doesn't exists so we can't distribute dividends"); @@ -294,7 +294,7 @@ impl Pallet { // We use a storage layer to ensure the distribution is atomic. if let Err(err) = frame_support::storage::with_storage_layer(|| { - let mut alpha_distributed = AlphaCurrency::ZERO; + let mut alpha_distributed = AlphaBalance::ZERO; // Distribute the contributors cut to the contributors and accumulate the alpha // distributed so far to obtain how much alpha is left to distribute to the beneficiary @@ -339,7 +339,7 @@ impl Pallet { }); // Reset the accumulated dividends - AccumulatedLeaseDividends::::insert(lease_id, AlphaCurrency::ZERO); + AccumulatedLeaseDividends::::insert(lease_id, AlphaBalance::ZERO); Ok::<(), DispatchError>(()) }) { diff --git a/pallets/subtensor/src/subnets/mechanism.rs b/pallets/subtensor/src/subnets/mechanism.rs index 55e459c9ba..2e425130d9 100644 --- a/pallets/subtensor/src/subnets/mechanism.rs +++ b/pallets/subtensor/src/subnets/mechanism.rs @@ -6,7 +6,7 @@ use crate::epoch::run_epoch::EpochTerms; use alloc::collections::BTreeMap; use safe_math::*; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, MechId, NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, MechId, NetUid, NetUidStorageIndex}; pub type LeaseId = u32; @@ -227,16 +227,16 @@ impl Pallet { /// Split alpha emission in sub-subnet proportions /// stored in MechanismEmissionSplit /// - pub fn split_emissions(netuid: NetUid, alpha: AlphaCurrency) -> Vec { + pub fn split_emissions(netuid: NetUid, alpha: AlphaBalance) -> Vec { let mechanism_count = u64::from(MechanismCountCurrent::::get(netuid)); let maybe_split = MechanismEmissionSplit::::get(netuid); // Unset split means even distribution - let mut result: Vec = if let Some(split) = maybe_split { + let mut result: Vec = if let Some(split) = maybe_split { split .iter() .map(|s| { - AlphaCurrency::from( + AlphaBalance::from( (u64::from(alpha) as u128) .saturating_mul(*s as u128) .safe_div(u16::MAX as u128) as u64, @@ -245,19 +245,19 @@ impl Pallet { .collect() } else { let per_mechanism = u64::from(alpha).safe_div(mechanism_count); - vec![AlphaCurrency::from(per_mechanism); mechanism_count as usize] + vec![AlphaBalance::from(per_mechanism); mechanism_count as usize] }; // Trim / extend and pad with zeroes if result is shorter than mechanism_count if result.len() != mechanism_count as usize { - result.resize(mechanism_count as usize, 0u64.into()); // pad with AlphaCurrency::from(0) + result.resize(mechanism_count as usize, 0u64.into()); // pad with AlphaBalance::from(0) } // If there's any rounding error or lost due to truncation emission, credit it to mechanism 0 let rounding_err = u64::from(alpha).saturating_sub(result.iter().map(|s| u64::from(*s)).sum()); if let Some(cell) = result.first_mut() { - *cell = cell.saturating_add(AlphaCurrency::from(rounding_err)); + *cell = cell.saturating_add(AlphaBalance::from(rounding_err)); } result } @@ -269,10 +269,10 @@ impl Pallet { } fn weighted_acc_alpha( - existing: AlphaCurrency, - added: AlphaCurrency, + existing: AlphaBalance, + added: AlphaBalance, weight: U64F64, - ) -> AlphaCurrency { + ) -> AlphaBalance { U64F64::saturating_from_num(existing) .saturating_add(U64F64::saturating_from_num(added).saturating_mul(weight)) .saturating_to_num::() @@ -286,8 +286,8 @@ impl Pallet { /// pub fn epoch_with_mechanisms( netuid: NetUid, - rao_emission: AlphaCurrency, - ) -> Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> { + rao_emission: AlphaBalance, + ) -> Vec<(T::AccountId, AlphaBalance, AlphaBalance)> { let aggregated: BTreeMap = Self::split_emissions(netuid, rao_emission) .into_iter() @@ -396,7 +396,7 @@ impl Pallet { // Update voting power EMA for all validators on this subnet Self::update_voting_power_for_subnet(netuid, &aggregated); - // Remap BTreeMap back to Vec<(T::AccountId, AlphaCurrency, AlphaCurrency)> format + // Remap BTreeMap back to Vec<(T::AccountId, AlphaBalance, AlphaBalance)> format // for processing emissions in run_coinbase // Emission tuples ( hotkeys, server_emission, validator_emission ) aggregated diff --git a/pallets/subtensor/src/subnets/registration.rs b/pallets/subtensor/src/subnets/registration.rs index 9451d3c413..ccf32f6ac7 100644 --- a/pallets/subtensor/src/subnets/registration.rs +++ b/pallets/subtensor/src/subnets/registration.rs @@ -2,7 +2,7 @@ use super::*; use sp_core::{H256, U256}; use sp_io::hashing::{keccak_256, sha2_256}; use sp_runtime::Saturating; -use subtensor_runtime_common::{Currency, NetUid}; +use subtensor_runtime_common::{NetUid, Token}; use subtensor_swap_interface::SwapHandler; use system::pallet_prelude::BlockNumberFor; @@ -458,7 +458,7 @@ impl Pallet { let owner_ck = SubnetOwner::::get(netuid); let immortal_hotkeys = Self::get_immune_owner_hotkeys(netuid, &owner_ck); - let emissions: Vec = Emission::::get(netuid); + let emissions: Vec = Emission::::get(netuid); // Single pass: // - count current non‑immortal & non‑immune UIDs, @@ -466,8 +466,8 @@ impl Pallet { let mut free_count: u16 = 0; // (emission, reg_block, uid) - let mut best_non_immune: Option<(AlphaCurrency, u64, u16)> = None; - let mut best_immune: Option<(AlphaCurrency, u64, u16)> = None; + let mut best_non_immune: Option<(AlphaBalance, u64, u16)> = None; + let mut best_immune: Option<(AlphaBalance, u64, u16)> = None; for uid in 0..n { let hk = match Self::get_hotkey_for_net_and_uid(netuid, uid) { @@ -484,11 +484,11 @@ impl Pallet { let emission = emissions .get(uid as usize) .cloned() - .unwrap_or(AlphaCurrency::ZERO); + .unwrap_or(AlphaBalance::ZERO); let reg_block = Self::get_neuron_block_at_registration(netuid, uid); // Helper to decide if (e, b, u) beats the current best. - let consider = |best: &mut Option<(AlphaCurrency, u64, u16)>| match best { + let consider = |best: &mut Option<(AlphaBalance, u64, u16)>| match best { None => *best = Some((emission, reg_block, uid)), Some((be, bb, bu)) => { let better = if emission != *be { diff --git a/pallets/subtensor/src/subnets/subnet.rs b/pallets/subtensor/src/subnets/subnet.rs index ecb5ce0452..769db17ebe 100644 --- a/pallets/subtensor/src/subnets/subnet.rs +++ b/pallets/subtensor/src/subnets/subnet.rs @@ -1,6 +1,6 @@ use super::*; use sp_core::Get; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; impl Pallet { /// Returns true if the subnetwork exists. /// @@ -206,8 +206,8 @@ impl Pallet { // The initial TAO is the locked amount // Put initial TAO from lock into subnet TAO and produce numerically equal amount of Alpha. - let pool_initial_tao: TaoCurrency = Self::get_network_min_lock(); - let pool_initial_alpha: AlphaCurrency = pool_initial_tao.to_u64().into(); + let pool_initial_tao: TaoBalance = Self::get_network_min_lock(); + let pool_initial_alpha: AlphaBalance = pool_initial_tao.to_u64().into(); let actual_tao_lock_amount_less_pool_tao = actual_tao_lock_amount.saturating_sub(pool_initial_tao); @@ -217,20 +217,20 @@ impl Pallet { SubnetOwner::::insert(netuid_to_register, coldkey.clone()); SubnetOwnerHotkey::::insert(netuid_to_register, hotkey.clone()); SubnetLocked::::insert(netuid_to_register, actual_tao_lock_amount); - SubnetTaoProvided::::insert(netuid_to_register, TaoCurrency::ZERO); - SubnetAlphaInProvided::::insert(netuid_to_register, AlphaCurrency::ZERO); - SubnetAlphaOut::::insert(netuid_to_register, AlphaCurrency::ZERO); + SubnetTaoProvided::::insert(netuid_to_register, TaoBalance::ZERO); + SubnetAlphaInProvided::::insert(netuid_to_register, AlphaBalance::ZERO); + SubnetAlphaOut::::insert(netuid_to_register, AlphaBalance::ZERO); SubnetVolume::::insert(netuid_to_register, 0u128); RAORecycledForRegistration::::insert( netuid_to_register, actual_tao_lock_amount_less_pool_tao, ); - if actual_tao_lock_amount_less_pool_tao > TaoCurrency::ZERO { + if actual_tao_lock_amount_less_pool_tao > TaoBalance::ZERO { Self::recycle_tao(actual_tao_lock_amount_less_pool_tao); } - if actual_tao_lock_amount > TaoCurrency::ZERO && pool_initial_tao > TaoCurrency::ZERO { + if actual_tao_lock_amount > TaoBalance::ZERO && pool_initial_tao > TaoBalance::ZERO { // Record in TotalStake the initial TAO in the pool. Self::increase_total_stake(pool_initial_tao); } diff --git a/pallets/subtensor/src/subnets/uids.rs b/pallets/subtensor/src/subnets/uids.rs index 0a09017e64..5abf5586f9 100644 --- a/pallets/subtensor/src/subnets/uids.rs +++ b/pallets/subtensor/src/subnets/uids.rs @@ -223,7 +223,7 @@ impl Pallet { emissions.sort_by_key(|(uid, _)| *uid); // Extract the final uids and emissions after trimming and sorting - let (trimmed_uids, trimmed_emissions): (Vec, Vec) = + let (trimmed_uids, trimmed_emissions): (Vec, Vec) = emissions.into_iter().unzip(); // Get all current arrays from storage @@ -393,11 +393,11 @@ impl Pallet { /// Returns the stake of the uid on network or 0 if it doesnt exist. /// - pub fn get_stake_for_uid_and_subnetwork(netuid: NetUid, neuron_uid: u16) -> AlphaCurrency { + pub fn get_stake_for_uid_and_subnetwork(netuid: NetUid, neuron_uid: u16) -> AlphaBalance { if let Ok(hotkey) = Self::get_hotkey_for_net_and_uid(netuid, neuron_uid) { Self::get_stake_for_hotkey_on_subnet(&hotkey, netuid) } else { - AlphaCurrency::ZERO + AlphaBalance::ZERO } } diff --git a/pallets/subtensor/src/swap/swap_coldkey.rs b/pallets/subtensor/src/swap/swap_coldkey.rs index 275446f8de..401b5989ec 100644 --- a/pallets/subtensor/src/swap/swap_coldkey.rs +++ b/pallets/subtensor/src/swap/swap_coldkey.rs @@ -49,7 +49,7 @@ impl Pallet { } /// Charges the swap cost from the coldkey's account and recycles the tokens. - pub fn charge_swap_cost(coldkey: &T::AccountId, swap_cost: TaoCurrency) -> DispatchResult { + pub fn charge_swap_cost(coldkey: &T::AccountId, swap_cost: TaoBalance) -> DispatchResult { let burn_amount = Self::remove_balance_from_coldkey_account(coldkey, swap_cost.into()) .map_err(|_| Error::::NotEnoughBalanceToPaySwapColdKey)?; diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index a54a02a750..1652610afb 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -2,7 +2,7 @@ use super::*; use frame_support::weights::Weight; use sp_core::Get; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{Currency, MechId, NetUid}; +use subtensor_runtime_common::{MechId, NetUid, Token}; impl Pallet { /// Swaps the hotkey of a coldkey account. diff --git a/pallets/subtensor/src/tests/children.rs b/pallets/subtensor/src/tests/children.rs index d65e5b2d9e..1558c4cb6c 100644 --- a/pallets/subtensor/src/tests/children.rs +++ b/pallets/subtensor/src/tests/children.rs @@ -6,7 +6,7 @@ use super::mock::*; use approx::assert_abs_diff_eq; use frame_support::{assert_err, assert_noop, assert_ok}; use substrate_fixed::types::{I64F64, I96F32, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex, TaoBalance}; use subtensor_swap_interface::SwapHandler; use crate::{utils::rate_limiting::TransactionType, *}; @@ -2639,8 +2639,8 @@ fn test_childkey_set_weights_single_parent() { let coldkey_child: U256 = U256::from(101); let coldkey_weight_setter: U256 = U256::from(102); - let balance_to_give_child = TaoCurrency::from(109_999); - let stake_to_give_child = AlphaCurrency::from(109_999); + let balance_to_give_child = TaoBalance::from(109_999); + let stake_to_give_child = AlphaBalance::from(109_999); // Register parent with minimal stake and child with high stake SubtensorModule::add_balance_to_coldkey_account(&coldkey_parent, 1.into()); @@ -2748,8 +2748,8 @@ fn test_set_weights_no_parent() { let coldkey: U256 = U256::from(101); let spare_ck = U256::from(102); - let balance_to_give_child = TaoCurrency::from(109_999); - let stake_to_give_child = AlphaCurrency::from(109_999); + let balance_to_give_child = TaoBalance::from(109_999); + let stake_to_give_child = AlphaBalance::from(109_999); SubtensorModule::add_balance_to_coldkey_account( &coldkey, @@ -2865,11 +2865,11 @@ fn test_childkey_take_drain() { register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 1); SubtensorModule::add_balance_to_coldkey_account( &parent_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &nominator, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); SubtensorModule::set_max_allowed_validators(netuid, 2); @@ -2948,7 +2948,7 @@ fn test_childkey_take_drain() { SubtensorModule::get_total_stake_for_coldkey(&nominator) - nominator_stake_before; let total_emission = child_emission + parent_emission + nominator_emission; - assert_abs_diff_eq!(child_emission, TaoCurrency::ZERO, epsilon = 10.into()); + assert_abs_diff_eq!(child_emission, TaoBalance::ZERO, epsilon = 10.into()); assert_abs_diff_eq!( parent_emission, total_emission * 9.into() / 20.into(), @@ -2982,8 +2982,8 @@ fn test_parent_child_chain_emission() { Tempo::::insert(netuid, 1); // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000_u64)); // Set owner cut to 0 SubtensorModule::set_subnet_owner_cut(0_u16); @@ -3098,13 +3098,13 @@ fn test_parent_child_chain_emission() { let emission = U96F32::from_num( SubtensorModule::get_block_emission() - .unwrap_or(TaoCurrency::ZERO) + .unwrap_or(TaoBalance::ZERO) .to_u64(), ); // Set pending emission to 0 - PendingValidatorEmission::::insert(netuid, AlphaCurrency::ZERO); - PendingServerEmission::::insert(netuid, AlphaCurrency::ZERO); + PendingValidatorEmission::::insert(netuid, AlphaBalance::ZERO); + PendingServerEmission::::insert(netuid, AlphaBalance::ZERO); // Run epoch with emission value SubtensorModule::run_coinbase(emission); @@ -3161,7 +3161,7 @@ fn test_parent_child_chain_emission() { ); let hotkeys = [hotkey_a, hotkey_b, hotkey_c]; - let mut total_stake_now = AlphaCurrency::ZERO; + let mut total_stake_now = AlphaBalance::ZERO; for (hotkey, netuid, stake) in TotalHotkeyAlpha::::iter() { if hotkeys.contains(&hotkey) { total_stake_now += stake; diff --git a/pallets/subtensor/src/tests/claim_root.rs b/pallets/subtensor/src/tests/claim_root.rs index 04f4a01d4b..70999ebf01 100644 --- a/pallets/subtensor/src/tests/claim_root.rs +++ b/pallets/subtensor/src/tests/claim_root.rs @@ -20,7 +20,7 @@ use sp_core::{H256, U256}; use sp_runtime::DispatchError; use std::collections::BTreeSet; use substrate_fixed::types::{I96F32, U64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; #[test] @@ -75,10 +75,10 @@ fn test_claim_root_with_drain_emissions() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Check new validator stake @@ -144,10 +144,10 @@ fn test_claim_root_with_drain_emissions() { SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Check claimable (round 2) @@ -246,10 +246,10 @@ fn test_claim_root_adding_stake_proportionally_for_two_stakers() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -348,10 +348,10 @@ fn test_claim_root_adding_stake_disproportionally_for_two_stakers() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -440,10 +440,10 @@ fn test_claim_root_with_changed_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -493,10 +493,10 @@ fn test_claim_root_with_changed_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -547,10 +547,10 @@ fn test_claim_root_with_changed_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -600,8 +600,8 @@ fn test_claim_root_with_drain_emissions_and_swap_claim_type() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -637,10 +637,10 @@ fn test_claim_root_with_drain_emissions_and_swap_claim_type() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Claim root alpha @@ -682,10 +682,10 @@ fn test_claim_root_with_drain_emissions_and_swap_claim_type() { SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -719,10 +719,10 @@ fn test_claim_root_with_drain_emissions_and_swap_claim_type() { SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -770,7 +770,7 @@ fn test_claim_root_with_run_coinbase() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 let root_stake = 200_000_000u64; - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(root_stake)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(root_stake)); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, @@ -888,7 +888,7 @@ fn test_claim_root_with_block_emissions() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 let root_stake = 200_000_000u64; - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(root_stake)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(root_stake)); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, @@ -1003,7 +1003,7 @@ fn test_claim_root_coinbase_distribution() { let root_stake = 200_000_000u64; let initial_tao = 200_000_000u64; - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(initial_tao)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(initial_tao)); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, @@ -1021,7 +1021,7 @@ fn test_claim_root_coinbase_distribution() { ); let initial_alpha_issuance = SubtensorModule::get_alpha_issuance(netuid); - let alpha_emissions: AlphaCurrency = 1_000_000_000u64.into(); + let alpha_emissions: AlphaBalance = 1_000_000_000u64.into(); // Set moving price > 1.0 and price > 1.0 // So we turn ON root sell @@ -1148,10 +1148,10 @@ fn test_claim_root_with_swap_coldkey() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Claim root alpha @@ -1233,10 +1233,10 @@ fn test_claim_root_with_swap_hotkey() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Claim root alpha @@ -1314,8 +1314,8 @@ fn test_claim_root_on_network_deregistration() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -1350,10 +1350,10 @@ fn test_claim_root_on_network_deregistration() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -1491,10 +1491,10 @@ fn test_claim_root_with_unrelated_subnets() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Claim root alpha @@ -1562,8 +1562,8 @@ fn test_claim_root_fill_root_alpha_dividends_per_subnet() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -1597,10 +1597,10 @@ fn test_claim_root_fill_root_alpha_dividends_per_subnet() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Check RootAlphaDividendsPerSubnet value @@ -1618,10 +1618,10 @@ fn test_claim_root_fill_root_alpha_dividends_per_subnet() { SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); let root_claim_dividends2 = RootAlphaDividendsPerSubnet::::get(netuid, hotkey); @@ -1669,10 +1669,10 @@ fn test_claim_root_with_keep_subnets() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); let claimable = *RootClaimable::::get(hotkey) @@ -1728,8 +1728,8 @@ fn test_claim_root_keep_subnets_swap_claim_type() { SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 SubnetMechanism::::insert(netuid, 1); - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -1765,10 +1765,10 @@ fn test_claim_root_keep_subnets_swap_claim_type() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Claim root alpha @@ -1877,10 +1877,10 @@ fn test_claim_root_with_moved_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( @@ -1920,10 +1920,10 @@ fn test_claim_root_with_moved_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); // Transfer stake to other coldkey @@ -2011,10 +2011,10 @@ fn test_claim_root_with_moved_stake() { let pending_root_alpha = 10_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::claim_root( diff --git a/pallets/subtensor/src/tests/coinbase.rs b/pallets/subtensor/src/tests/coinbase.rs index ed8368e0e5..a11cf317ff 100644 --- a/pallets/subtensor/src/tests/coinbase.rs +++ b/pallets/subtensor/src/tests/coinbase.rs @@ -18,7 +18,7 @@ use substrate_fixed::{ transcendental::sqrt, types::{I64F64, I96F32, U64F64, U96F32}, }; -use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex}; use subtensor_swap_interface::{SwapEngine, SwapHandler}; #[allow(clippy::arithmetic_side_effects)] @@ -64,7 +64,7 @@ fn test_coinbase_basecase() { #[test] fn test_coinbase_tao_issuance_base() { new_test_ext(1).execute_with(|| { - let emission = TaoCurrency::from(1_234_567); + let emission = TaoBalance::from(1_234_567); let subnet_owner_ck = U256::from(1001); let subnet_owner_hk = U256::from(1002); let netuid = add_dynamic_network(&subnet_owner_hk, &subnet_owner_ck); @@ -88,9 +88,9 @@ fn test_coinbase_tao_issuance_base() { fn test_coinbase_tao_issuance_base_low() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(1); - let emission = TaoCurrency::from(1); + let emission = TaoBalance::from(1); add_network(netuid, 1, 0); - assert_eq!(SubnetTAO::::get(netuid), TaoCurrency::ZERO); + assert_eq!(SubnetTAO::::get(netuid), TaoBalance::ZERO); // Set subnet flow to non-zero SubnetTaoFlow::::insert(netuid, 33433_i64); SubtensorModule::run_coinbase(U96F32::from_num(emission)); @@ -104,11 +104,11 @@ fn test_coinbase_tao_issuance_base_low() { // #[test] // fn test_coinbase_tao_issuance_base_low_flow() { // new_test_ext(1).execute_with(|| { -// let emission = TaoCurrency::from(1_234_567); +// let emission = TaoBalance::from(1_234_567); // let subnet_owner_ck = U256::from(1001); // let subnet_owner_hk = U256::from(1002); // let netuid = add_dynamic_network(&subnet_owner_hk, &subnet_owner_ck); -// let emission = TaoCurrency::from(1); +// let emission = TaoBalance::from(1); // // 100% tao flow method // let block_num = FlowHalfLife::::get(); @@ -137,13 +137,13 @@ fn test_coinbase_tao_issuance_multiple() { let netuid1 = NetUid::from(1); let netuid2 = NetUid::from(2); let netuid3 = NetUid::from(3); - let emission = TaoCurrency::from(3_333_333); + let emission = TaoBalance::from(3_333_333); add_network(netuid1, 1, 0); add_network(netuid2, 1, 0); add_network(netuid3, 1, 0); - assert_eq!(SubnetTAO::::get(netuid1), TaoCurrency::ZERO); - assert_eq!(SubnetTAO::::get(netuid2), TaoCurrency::ZERO); - assert_eq!(SubnetTAO::::get(netuid3), TaoCurrency::ZERO); + assert_eq!(SubnetTAO::::get(netuid1), TaoBalance::ZERO); + assert_eq!(SubnetTAO::::get(netuid2), TaoBalance::ZERO); + assert_eq!(SubnetTAO::::get(netuid3), TaoBalance::ZERO); // Set Tao flows to equal and non-zero SubnetTaoFlow::::insert(netuid1, 100_000_000_i64); SubnetTaoFlow::::insert(netuid2, 100_000_000_i64); @@ -194,14 +194,14 @@ fn test_coinbase_tao_issuance_different_prices() { // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid1, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) .unwrap(); SubtensorModule::swap_tao_for_alpha( netuid2, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -226,17 +226,17 @@ fn test_coinbase_tao_issuance_different_prices() { // Assert tao emission is split evenly. assert_abs_diff_eq!( SubnetTAO::::get(netuid1), - TaoCurrency::from(initial_tao + emission / 3), + TaoBalance::from(initial_tao + emission / 3), epsilon = 10.into(), ); assert_abs_diff_eq!( SubnetTAO::::get(netuid2), - TaoCurrency::from(initial_tao + 2 * emission / 3), + TaoBalance::from(initial_tao + 2 * emission / 3), epsilon = 10.into(), ); // Prices are low => we limit tao issued (buy alpha with it) - let tao_issued = TaoCurrency::from(((1.0) * emission as f64) as u64); + let tao_issued = TaoBalance::from(((1.0) * emission as f64) as u64); assert_abs_diff_eq!( TotalIssuance::::get(), tao_issued, @@ -270,14 +270,14 @@ fn test_coinbase_tao_issuance_different_prices() { // // Force the swap to initialize // SubtensorModule::swap_tao_for_alpha( // netuid1, -// TaoCurrency::ZERO, +// TaoBalance::ZERO, // 1_000_000_000_000.into(), // false, // ) // .unwrap(); // SubtensorModule::swap_tao_for_alpha( // netuid2, -// TaoCurrency::ZERO, +// TaoBalance::ZERO, // 1_000_000_000_000.into(), // false, // ) @@ -307,17 +307,17 @@ fn test_coinbase_tao_issuance_different_prices() { // // Assert tao emission is split evenly. // assert_abs_diff_eq!( // SubnetTAO::::get(netuid1), -// TaoCurrency::from(initial_tao + emission / 3), +// TaoBalance::from(initial_tao + emission / 3), // epsilon = 10.into(), // ); // assert_abs_diff_eq!( // SubnetTAO::::get(netuid2), -// TaoCurrency::from(initial_tao + 2 * emission / 3), +// TaoBalance::from(initial_tao + 2 * emission / 3), // epsilon = 10.into(), // ); // // Prices are low => we limit tao issued (buy alpha with it) -// let tao_issued = TaoCurrency::from(((0.1 + 0.2) * emission as f64) as u64); +// let tao_issued = TaoBalance::from(((0.1 + 0.2) * emission as f64) as u64); // assert_abs_diff_eq!( // TotalIssuance::::get(), // tao_issued, @@ -343,8 +343,8 @@ fn test_coinbase_moving_prices() { let netuid = NetUid::from(1); add_network(netuid, 1, 0); // Set price to 1.0 - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000)); SubnetMechanism::::insert(netuid, 1); SubnetMovingPrice::::insert(netuid, I96F32::from_num(1)); FirstEmissionBlockNumber::::insert(netuid, 1); @@ -399,8 +399,8 @@ fn test_update_moving_price_initial() { let netuid = NetUid::from(1); add_network(netuid, 1, 0); // Set current price to 1.0 - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000)); SubnetMechanism::::insert(netuid, 1); SubnetMovingAlpha::::set(I96F32::from_num(0.5)); SubnetMovingPrice::::insert(netuid, I96F32::from_num(0)); @@ -424,8 +424,8 @@ fn test_update_moving_price_after_time() { let netuid = NetUid::from(1); add_network(netuid, 1, 0); // Set current price to 1.0 - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000)); SubnetMechanism::::insert(netuid, 1); SubnetMovingAlpha::::set(I96F32::from_num(0.5)); SubnetMovingPrice::::insert(netuid, I96F32::from_num(0)); @@ -457,10 +457,10 @@ fn test_coinbase_alpha_issuance_base() { add_network(netuid2, 1, 0); // Set up prices 1 and 1 let initial: u64 = 1_000_000; - SubnetTAO::::insert(netuid1, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid1, AlphaCurrency::from(initial)); - SubnetTAO::::insert(netuid2, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid2, AlphaCurrency::from(initial)); + SubnetTAO::::insert(netuid1, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid1, AlphaBalance::from(initial)); + SubnetTAO::::insert(netuid2, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid2, AlphaBalance::from(initial)); // Equal flow SubnetTaoFlow::::insert(netuid1, 100_000_000_i64); SubnetTaoFlow::::insert(netuid2, 100_000_000_i64); @@ -498,10 +498,10 @@ fn test_coinbase_alpha_issuance_different() { SubnetMechanism::::insert(netuid2, 1); // Setup prices 1 and 2 let initial: u64 = 1_000_000; - SubnetTAO::::insert(netuid1, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid1, AlphaCurrency::from(initial)); - SubnetTAO::::insert(netuid2, TaoCurrency::from(2 * initial)); - SubnetAlphaIn::::insert(netuid2, AlphaCurrency::from(initial)); + SubnetTAO::::insert(netuid1, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid1, AlphaBalance::from(initial)); + SubnetTAO::::insert(netuid2, TaoBalance::from(2 * initial)); + SubnetAlphaIn::::insert(netuid2, AlphaBalance::from(initial)); // Set subnet TAO flows to non-zero and 1:2 ratio SubnetTaoFlow::::insert(netuid1, 100_000_000_i64); SubnetTaoFlow::::insert(netuid2, 200_000_000_i64); @@ -538,10 +538,10 @@ fn test_coinbase_alpha_issuance_with_cap_trigger() { // Setup prices 1000000 let initial: u64 = 1_000; let initial_alpha: u64 = initial * 1000000; - SubnetTAO::::insert(netuid1, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid1, AlphaCurrency::from(initial_alpha)); // Make price extremely low. - SubnetTAO::::insert(netuid2, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid2, AlphaCurrency::from(initial_alpha)); // Make price extremely low. + SubnetTAO::::insert(netuid1, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid1, AlphaBalance::from(initial_alpha)); // Make price extremely low. + SubnetTAO::::insert(netuid2, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid2, AlphaBalance::from(initial_alpha)); // Make price extremely low. // Set subnet prices. SubnetMovingPrice::::insert(netuid1, I96F32::from_num(1)); SubnetMovingPrice::::insert(netuid2, I96F32::from_num(2)); @@ -588,14 +588,14 @@ fn test_coinbase_alpha_issuance_with_cap_trigger_and_block_emission() { // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid1, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) .unwrap(); SubtensorModule::swap_tao_for_alpha( netuid2, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -606,8 +606,8 @@ fn test_coinbase_alpha_issuance_with_cap_trigger_and_block_emission() { let price_2_before = ::SwapInterface::current_alpha_price(netuid2); // Set issuance at 21M - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(21_000_000_000_000_000_u64)); // Set issuance above 21M - SubnetAlphaOut::::insert(netuid2, AlphaCurrency::from(21_000_000_000_000_000_u64)); // Set issuance above 21M + SubnetAlphaOut::::insert(netuid1, AlphaBalance::from(21_000_000_000_000_000_u64)); // Set issuance above 21M + SubnetAlphaOut::::insert(netuid2, AlphaBalance::from(21_000_000_000_000_000_u64)); // Set issuance above 21M // Run coinbase SubtensorModule::run_coinbase(U96F32::from_num(emission)); @@ -667,7 +667,7 @@ fn test_pending_emission() { mock::setup_reserves(netuid, 1_000_000.into(), 1.into()); SubtensorModule::run_coinbase(U96F32::from_num(0)); - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(1_000_000_000)); // Add root weight. + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(1_000_000_000)); // Add root weight. SubtensorModule::run_coinbase(U96F32::from_num(0)); SubtensorModule::set_tempo(netuid, 10000); // Large number (dont drain) SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 @@ -708,10 +708,10 @@ fn test_drain_base() { new_test_ext(1).execute_with(|| { SubtensorModule::distribute_emission( 0.into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ) }); } @@ -724,10 +724,10 @@ fn test_drain_base_with_subnet() { add_network(netuid, 1, 0); SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ) }); } @@ -740,20 +740,20 @@ fn test_drain_base_with_subnet_with_single_staker_not_registered() { add_network(netuid, 1, 0); let hotkey = U256::from(1); let coldkey = U256::from(2); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, netuid, stake_before, ); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); @@ -769,7 +769,7 @@ fn test_drain_base_with_subnet_with_single_staker_registered() { add_network(netuid, 1, 0); let hotkey = U256::from(1); let coldkey = U256::from(2); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); register_ok_neuron(netuid, hotkey, coldkey, 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, @@ -777,13 +777,13 @@ fn test_drain_base_with_subnet_with_single_staker_registered() { netuid, stake_before, ); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); @@ -803,7 +803,7 @@ fn test_drain_base_with_subnet_with_single_staker_registered_root_weight() { add_network(netuid, 1, 0); let hotkey = U256::from(1); let coldkey = U256::from(2); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); // register_ok_neuron(root, hotkey, coldkey, 0); register_ok_neuron(netuid, hotkey, coldkey, 0); Delegates::::insert(hotkey, 0); @@ -820,15 +820,15 @@ fn test_drain_base_with_subnet_with_single_staker_registered_root_weight() { netuid, stake_before, ); - let pending_alpha = AlphaCurrency::from(1_000_000_000); - let pending_root_alpha = AlphaCurrency::from(1_000_000_000); - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + let pending_alpha = AlphaBalance::from(1_000_000_000); + let pending_root_alpha = AlphaBalance::from(1_000_000_000); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), pending_root_alpha, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); let stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); @@ -855,7 +855,7 @@ fn test_drain_base_with_subnet_with_two_stakers_registered() { let hotkey1 = U256::from(1); let hotkey2 = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); register_ok_neuron(netuid, hotkey1, coldkey, 0); register_ok_neuron(netuid, hotkey2, coldkey, 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -870,13 +870,13 @@ fn test_drain_base_with_subnet_with_two_stakers_registered() { netuid, stake_before, ); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &coldkey, netuid); @@ -904,7 +904,7 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root() { let hotkey1 = U256::from(1); let hotkey2 = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); register_ok_neuron(netuid, hotkey1, coldkey, 0); register_ok_neuron(netuid, hotkey2, coldkey, 0); Delegates::::insert(hotkey1, 0); @@ -934,15 +934,15 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root() { NetUid::ROOT, stake_before, ); - let pending_tao = TaoCurrency::from(1_000_000_000); - let pending_alpha = AlphaCurrency::from(1_000_000_000); - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + let pending_tao = TaoBalance::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &coldkey, netuid); @@ -980,7 +980,7 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root_different_am let hotkey1 = U256::from(1); let hotkey2 = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); Delegates::::insert(hotkey1, 0); Delegates::::insert(hotkey2, 0); register_ok_neuron(netuid, hotkey1, coldkey, 0); @@ -1010,15 +1010,15 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root_different_am NetUid::ROOT, stake_before, ); - let pending_tao = TaoCurrency::from(1_000_000_000); - let pending_alpha = AlphaCurrency::from(1_000_000_000); - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + let pending_tao = TaoBalance::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &coldkey, netuid); @@ -1061,7 +1061,7 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root_different_am let hotkey1 = U256::from(1); let hotkey2 = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); Delegates::::insert(hotkey1, 0); Delegates::::insert(hotkey2, 0); register_ok_neuron(netuid, hotkey1, coldkey, 0); @@ -1091,15 +1091,15 @@ fn test_drain_base_with_subnet_with_two_stakers_registered_and_root_different_am NetUid::ROOT, stake_before, ); - let pending_tao = TaoCurrency::from(1_000_000_000); - let pending_alpha = AlphaCurrency::from(1_000_000_000); - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + let pending_tao = TaoBalance::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let stake_after1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey1, &coldkey, netuid); @@ -1142,7 +1142,7 @@ fn test_drain_alpha_childkey_parentkey() { let parent = U256::from(1); let child = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); register_ok_neuron(netuid, child, coldkey, 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &parent, @@ -1155,13 +1155,13 @@ fn test_drain_alpha_childkey_parentkey() { // Childkey take is 10% ChildkeyTake::::insert(child, netuid, u16::MAX / 10); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let parent_stake_after = SubtensorModule::get_stake_for_hotkey_on_subnet(&parent, netuid); let child_stake_after = SubtensorModule::get_stake_for_hotkey_on_subnet(&child, netuid); @@ -1210,14 +1210,14 @@ fn test_get_root_children() { )); // Add stake for Alice and Bob on root. - let alice_root_stake = AlphaCurrency::from(1_000_000_000); + let alice_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold, NetUid::ROOT, alice_root_stake, ); - let bob_root_stake = AlphaCurrency::from(1_000_000_000); + let bob_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold, @@ -1226,14 +1226,14 @@ fn test_get_root_children() { ); // Add stake for Alice and Bob on netuid. - let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); + let alice_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold, alpha, alice_alpha_stake, ); - let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); + let bob_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold, @@ -1284,7 +1284,7 @@ fn test_get_root_children() { // Assert Alice and Bob TAO inherited stakes assert_eq!( SubtensorModule::get_tao_inherited_for_hotkey_on_subnet(&alice, alpha), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_tao_inherited_for_hotkey_on_subnet(&bob, alpha), @@ -1349,14 +1349,14 @@ fn test_get_root_children_drain() { bob_root_stake.into(), ); // Add stake for Alice and Bob on netuid. - let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); + let alice_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, alpha, alice_alpha_stake, ); - let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); + let bob_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1381,13 +1381,13 @@ fn test_get_root_children_drain() { assert_eq!(bob_total, I64F64::from_num(4_u64 * bob_root_stake)); // Lets drain - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Alice and Bob both made half of the dividends. @@ -1401,47 +1401,47 @@ fn test_get_root_children_drain() { ); // There should be no TAO on the root subnet. - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); // Lets drain - let pending_alpha = AlphaCurrency::from(1_000_000_000); - let pending_root1 = TaoCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); + let pending_root1 = TaoBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Alice and Bob both made half of the dividends. assert_eq!( SubtensorModule::get_stake_for_hotkey_on_subnet(&alice, NetUid::ROOT), - AlphaCurrency::from(alice_root_stake) + AlphaBalance::from(alice_root_stake) ); assert_eq!( SubtensorModule::get_stake_for_hotkey_on_subnet(&bob, NetUid::ROOT), - AlphaCurrency::from(bob_root_stake) + AlphaBalance::from(bob_root_stake) ); // Lets change the take value. (Bob is greedy.) ChildkeyTake::::insert(bob, alpha, u16::MAX); // Lets drain - let pending_alpha = AlphaCurrency::from(1_000_000_000); - let pending_root2 = TaoCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); + let pending_root2 = TaoBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Alice makes nothing assert_eq!( AlphaDividendsPerSubnet::::get(alpha, alice), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Bob makes it all. assert_abs_diff_eq!( @@ -1480,14 +1480,14 @@ fn test_get_root_children_drain_half_proportion() { bob, )); // Add stake for Alice and Bob on root. - let alice_root_stake = AlphaCurrency::from(1_000_000_000); + let alice_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, NetUid::ROOT, alice_root_stake, ); - let bob_root_stake = AlphaCurrency::from(1_000_000_000); + let bob_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1495,14 +1495,14 @@ fn test_get_root_children_drain_half_proportion() { alice_root_stake, ); // Add stake for Alice and Bob on netuid. - let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); + let alice_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, alpha, alice_alpha_stake, ); - let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); + let bob_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1518,13 +1518,13 @@ fn test_get_root_children_drain_half_proportion() { Delegates::::insert(bob, 0); // Lets drain! - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Alice and Bob make the same amount. @@ -1568,14 +1568,14 @@ fn test_get_root_children_drain_with_take() { bob, )); // Add stake for Alice and Bob on root. - let alice_root_stake = AlphaCurrency::from(1_000_000_000); + let alice_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, NetUid::ROOT, alice_root_stake, ); - let bob_root_stake = AlphaCurrency::from(1_000_000_000); + let bob_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1583,14 +1583,14 @@ fn test_get_root_children_drain_with_take() { alice_root_stake, ); // Add stake for Alice and Bob on netuid. - let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); + let alice_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, alpha, alice_alpha_stake, ); - let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); + let bob_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1605,13 +1605,13 @@ fn test_get_root_children_drain_with_take() { Delegates::::insert(bob, 0); // Lets drain! - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Bob makes it all. @@ -1656,14 +1656,14 @@ fn test_get_root_children_drain_with_half_take() { bob, )); // Add stake for Alice and Bob on root. - let alice_root_stake = AlphaCurrency::from(1_000_000_000); + let alice_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, NetUid::ROOT, alice_root_stake, ); - let bob_root_stake = AlphaCurrency::from(1_000_000_000); + let bob_root_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1671,14 +1671,14 @@ fn test_get_root_children_drain_with_half_take() { alice_root_stake, ); // Add stake for Alice and Bob on netuid. - let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); + let alice_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &alice, &cold_alice, alpha, alice_alpha_stake, ); - let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); + let bob_alpha_stake = AlphaBalance::from(1_000_000_000); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &bob, &cold_bob, @@ -1693,13 +1693,13 @@ fn test_get_root_children_drain_with_half_take() { Delegates::::insert(bob, 0); // Lets drain! - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( alpha, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Alice and Bob make the same amount. @@ -1742,14 +1742,14 @@ fn test_get_root_children_drain_with_half_take() { // bob, // )); // // Add stake for Alice and Bob on root. -// let alice_root_stake = AlphaCurrency::from(1_000_000_000); +// let alice_root_stake = AlphaBalance::from(1_000_000_000); // SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( // &alice, // &cold, // NetUid::ROOT, // alice_root_stake, // ); -// let bob_root_stake = AlphaCurrency::from(1_000_000_000); +// let bob_root_stake = AlphaBalance::from(1_000_000_000); // SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( // &bob, // &cold, @@ -1757,14 +1757,14 @@ fn test_get_root_children_drain_with_half_take() { // alice_root_stake, // ); // // Add stake for Alice and Bob on netuid. -// let alice_alpha_stake = AlphaCurrency::from(1_000_000_000); +// let alice_alpha_stake = AlphaBalance::from(1_000_000_000); // SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( // &alice, // &cold, // alpha, // alice_alpha_stake, // ); -// let bob_alpha_stake = AlphaCurrency::from(1_000_000_000); +// let bob_alpha_stake = AlphaBalance::from(1_000_000_000); // SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( // &bob, // &cold, @@ -1796,7 +1796,7 @@ fn test_get_root_children_drain_with_half_take() { // )); // // Lets drain! -// let pending_alpha = AlphaCurrency::from(1_000_000_000); +// let pending_alpha = AlphaBalance::from(1_000_000_000); // SubtensorModule::distribute_emission(alpha, pending_alpha, 0, 0.into(), 0.into()); // // Alice and Bob make the same amount. @@ -1827,9 +1827,9 @@ fn test_incentive_to_subnet_owner_is_burned() { let netuid = add_dynamic_network(&subnet_owner_hk, &subnet_owner_ck); let pending_tao: u64 = 1_000_000_000; - let pending_alpha = AlphaCurrency::ZERO; // None to valis - let owner_cut = AlphaCurrency::ZERO; - let mut incentives: BTreeMap = BTreeMap::new(); + let pending_alpha = AlphaBalance::ZERO; // None to valis + let owner_cut = AlphaBalance::ZERO; + let mut incentives: BTreeMap = BTreeMap::new(); // Give incentive to other_hk incentives.insert(other_hk, 10_000_000.into()); @@ -1881,9 +1881,9 @@ fn test_incentive_to_subnet_owners_hotkey_is_burned() { ImmuneOwnerUidsLimit::::insert(netuid, 2); let pending_tao: u64 = 1_000_000_000; - let pending_alpha = AlphaCurrency::ZERO; // None to valis - let owner_cut = AlphaCurrency::ZERO; - let mut incentives: BTreeMap = BTreeMap::new(); + let pending_alpha = AlphaBalance::ZERO; // None to valis + let owner_cut = AlphaBalance::ZERO; + let mut incentives: BTreeMap = BTreeMap::new(); // Give incentive to other_hk incentives.insert(other_hk, 10_000_000.into()); @@ -1953,9 +1953,9 @@ fn test_burn_key_sorting() { Uids::::insert(netuid, other_hk_3, 2); let pending_tao: u64 = 1_000_000_000; - let pending_alpha = AlphaCurrency::ZERO; // None to valis - let owner_cut = AlphaCurrency::ZERO; - let mut incentives: BTreeMap = BTreeMap::new(); + let pending_alpha = AlphaBalance::ZERO; // None to valis + let owner_cut = AlphaBalance::ZERO; + let mut incentives: BTreeMap = BTreeMap::new(); // Give incentive to hotkeys incentives.insert(other_hk_1, 10_000_000.into()); @@ -1995,11 +1995,11 @@ fn test_burn_key_sorting() { #[test] fn test_calculate_dividend_distribution_totals() { new_test_ext(1).execute_with(|| { - let mut stake_map: BTreeMap = BTreeMap::new(); + let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); - let pending_root_alpha = AlphaCurrency::from(837_120_949_872_u64); + let pending_validator_alpha = AlphaBalance::from(183_123_567_452_u64); + let pending_root_alpha = AlphaBalance::from(837_120_949_872_u64); let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2039,11 +2039,11 @@ fn test_calculate_dividend_distribution_totals() { #[test] fn test_calculate_dividend_distribution_total_only_tao() { new_test_ext(1).execute_with(|| { - let mut stake_map: BTreeMap = BTreeMap::new(); + let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::ZERO; - let pending_root_alpha = AlphaCurrency::from(837_120_949_872_u64); + let pending_validator_alpha = AlphaBalance::ZERO; + let pending_root_alpha = AlphaBalance::from(837_120_949_872_u64); let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2083,11 +2083,11 @@ fn test_calculate_dividend_distribution_total_only_tao() { #[test] fn test_calculate_dividend_distribution_total_no_tao_weight() { new_test_ext(1).execute_with(|| { - let mut stake_map: BTreeMap = BTreeMap::new(); + let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); - let pending_tao = TaoCurrency::ZERO; // If tao weight is 0, then only alpha dividends should be input. + let pending_validator_alpha = AlphaBalance::from(183_123_567_452_u64); + let pending_tao = TaoBalance::ZERO; // If tao weight is 0, then only alpha dividends should be input. let tao_weight: U96F32 = U96F32::from_num(0.0); // 0% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2101,7 +2101,7 @@ fn test_calculate_dividend_distribution_total_no_tao_weight() { let (alpha_dividends, tao_dividends) = SubtensorModule::calculate_dividend_distribution( pending_validator_alpha, // pending_tao, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, tao_weight, stake_map, dividends, @@ -2127,11 +2127,11 @@ fn test_calculate_dividend_distribution_total_no_tao_weight() { #[test] fn test_calculate_dividend_distribution_total_only_alpha() { new_test_ext(1).execute_with(|| { - let mut stake_map: BTreeMap = BTreeMap::new(); + let mut stake_map: BTreeMap = BTreeMap::new(); let mut dividends: BTreeMap = BTreeMap::new(); - let pending_validator_alpha = AlphaCurrency::from(183_123_567_452_u64); - let pending_tao = TaoCurrency::ZERO; + let pending_validator_alpha = AlphaBalance::from(183_123_567_452_u64); + let pending_tao = TaoBalance::ZERO; let tao_weight: U96F32 = U96F32::from_num(0.18); // 18% let hotkeys = [U256::from(0), U256::from(1)]; @@ -2145,7 +2145,7 @@ fn test_calculate_dividend_distribution_total_only_alpha() { let (alpha_dividends, tao_dividends) = SubtensorModule::calculate_dividend_distribution( pending_validator_alpha, // pending_tao, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, tao_weight, stake_map, dividends, @@ -2187,9 +2187,9 @@ fn test_calculate_dividend_and_incentive_distribution() { 1.into(), ); - let pending_alpha = AlphaCurrency::from(123_456_789); + let pending_alpha = AlphaBalance::from(123_456_789); let pending_validator_alpha = pending_alpha / 2.into(); // Pay half to validators. - let pending_tao = TaoCurrency::ZERO; + let pending_tao = TaoBalance::ZERO; let pending_swapped = 0; // Only alpha output. let tao_weight: U96F32 = U96F32::from_num(0.0); // 0% @@ -2200,7 +2200,7 @@ fn test_calculate_dividend_and_incentive_distribution() { SubtensorModule::calculate_dividend_and_incentive_distribution( netuid, // pending_tao, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, pending_validator_alpha, hotkey_emission, tao_weight, @@ -2236,9 +2236,9 @@ fn test_calculate_dividend_and_incentive_distribution_all_to_validators() { 1.into(), ); - let pending_alpha = AlphaCurrency::from(123_456_789); + let pending_alpha = AlphaBalance::from(123_456_789); let pending_validator_alpha = pending_alpha; // Pay all to validators. - let pending_tao = TaoCurrency::ZERO; + let pending_tao = TaoBalance::ZERO; let tao_weight: U96F32 = U96F32::from_num(0.0); // 0% // Hotkey, Incentive, Dividend @@ -2248,7 +2248,7 @@ fn test_calculate_dividend_and_incentive_distribution_all_to_validators() { SubtensorModule::calculate_dividend_and_incentive_distribution( netuid, // pending_tao, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, pending_validator_alpha, hotkey_emission, tao_weight, @@ -2258,7 +2258,7 @@ fn test_calculate_dividend_and_incentive_distribution_all_to_validators() { let dividends_total = alpha_dividends.values().sum::().to_num::(); assert_eq!( - AlphaCurrency::from(dividends_total + incentives_total), + AlphaBalance::from(dividends_total + incentives_total), pending_alpha ); }); @@ -2283,8 +2283,8 @@ fn test_calculate_dividends_and_incentives() { 1.into(), ); - let divdends = AlphaCurrency::from(123_456_789); - let incentive = AlphaCurrency::from(683_051_923); + let divdends = AlphaBalance::from(123_456_789); + let incentive = AlphaBalance::from(683_051_923); let total_emission = divdends + incentive; // Hotkey, Incentive, Dividend @@ -2296,9 +2296,9 @@ fn test_calculate_dividends_and_incentives() { let incentives_total = incentives .values() .copied() - .fold(AlphaCurrency::ZERO, |acc, x| acc + x); + .fold(AlphaBalance::ZERO, |acc, x| acc + x); let dividends_total = - AlphaCurrency::from(dividends.values().sum::().to_num::()); + AlphaBalance::from(dividends.values().sum::().to_num::()); assert_eq!(dividends_total + incentives_total, total_emission); }); @@ -2323,8 +2323,8 @@ fn test_calculate_dividends_and_incentives_only_validators() { 1.into(), ); - let divdends = AlphaCurrency::from(123_456_789); - let incentive = AlphaCurrency::ZERO; + let divdends = AlphaBalance::from(123_456_789); + let incentive = AlphaBalance::ZERO; // Hotkey, Incentive, Dividend let hotkey_emission = vec![(hotkey, incentive, divdends)]; @@ -2335,12 +2335,12 @@ fn test_calculate_dividends_and_incentives_only_validators() { let incentives_total = incentives .values() .copied() - .fold(AlphaCurrency::ZERO, |acc, x| acc + x); + .fold(AlphaBalance::ZERO, |acc, x| acc + x); let dividends_total = - AlphaCurrency::from(dividends.values().sum::().to_num::()); + AlphaBalance::from(dividends.values().sum::().to_num::()); assert_eq!(dividends_total, divdends); - assert_eq!(incentives_total, AlphaCurrency::ZERO); + assert_eq!(incentives_total, AlphaBalance::ZERO); }); } @@ -2363,8 +2363,8 @@ fn test_calculate_dividends_and_incentives_only_miners() { 1.into(), ); - let divdends = AlphaCurrency::ZERO; - let incentive = AlphaCurrency::from(123_456_789); + let divdends = AlphaBalance::ZERO; + let incentive = AlphaBalance::from(123_456_789); // Hotkey, Incentive, Dividend let hotkey_emission = vec![(hotkey, incentive, divdends)]; @@ -2375,9 +2375,9 @@ fn test_calculate_dividends_and_incentives_only_miners() { let incentives_total = incentives .values() .copied() - .fold(AlphaCurrency::ZERO, |acc, x| acc + x); + .fold(AlphaBalance::ZERO, |acc, x| acc + x); let dividends_total = - AlphaCurrency::from(dividends.values().sum::().to_num::()); + AlphaBalance::from(dividends.values().sum::().to_num::()); assert_eq!(incentives_total, incentive); assert_eq!(dividends_total, divdends); @@ -2408,14 +2408,14 @@ fn test_distribute_emission_no_miners_all_drained() { SubtensorModule::set_tao_weight(0); // Set the emission to be 1 million. - let emission = AlphaCurrency::from(1_000_000); + let emission = AlphaBalance::from(1_000_000); // Run drain pending without any miners. SubtensorModule::distribute_emission( netuid, emission.saturating_div(2.into()).into(), emission.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Get the new stake of the hotkey. @@ -2465,7 +2465,7 @@ fn test_distribute_emission_zero_emission() { run_to_block_no_epoch(netuid, 50); // Run epoch for initial setup. - SubtensorModule::epoch(netuid, AlphaCurrency::ZERO); + SubtensorModule::epoch(netuid, AlphaBalance::ZERO); // Set weights on miner assert_ok!(SubtensorModule::set_weights( @@ -2485,10 +2485,10 @@ fn test_distribute_emission_zero_emission() { // Set the emission to be ZERO. SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); // Get the new stake of the hotkey. @@ -2557,7 +2557,7 @@ fn test_run_coinbase_not_started() { run_to_block_no_epoch(netuid, 30); // Run epoch for initial setup. - SubtensorModule::epoch(netuid, AlphaCurrency::ZERO); + SubtensorModule::epoch(netuid, AlphaBalance::ZERO); // Set weights on miner assert_ok!(SubtensorModule::set_weights( @@ -2648,7 +2648,7 @@ fn test_run_coinbase_not_started_start_after() { run_to_block_no_epoch(netuid, 30); // Run epoch for initial setup. - SubtensorModule::epoch(netuid, AlphaCurrency::ZERO); + SubtensorModule::epoch(netuid, AlphaBalance::ZERO); // Set weights on miner assert_ok!(SubtensorModule::set_weights( @@ -2717,7 +2717,7 @@ fn test_coinbase_v3_liquidity_update() { // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -2760,7 +2760,7 @@ fn test_drain_alpha_childkey_parentkey_with_burn() { let parent = U256::from(1); let child = U256::from(2); let coldkey = U256::from(3); - let stake_before = AlphaCurrency::from(1_000_000_000); + let stake_before = AlphaBalance::from(1_000_000_000); register_ok_neuron(netuid, child, coldkey, 0); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &parent, @@ -2777,13 +2777,13 @@ fn test_drain_alpha_childkey_parentkey_with_burn() { let parent_stake_before = SubtensorModule::get_stake_for_hotkey_on_subnet(&parent, netuid); let child_stake_before = SubtensorModule::get_stake_for_hotkey_on_subnet(&child, netuid); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); SubtensorModule::distribute_emission( netuid, pending_alpha.saturating_div(2.into()).into(), pending_alpha.saturating_div(2.into()).into(), - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, ); let parent_stake_after = SubtensorModule::get_stake_for_hotkey_on_subnet(&parent, netuid); let child_stake_after = SubtensorModule::get_stake_for_hotkey_on_subnet(&child, netuid); @@ -2856,13 +2856,13 @@ fn test_incentive_is_autostaked_to_owner_destination() { ); // Distribute an incentive to the miner hotkey - let mut incentives: BTreeMap = BTreeMap::new(); - let incentive: AlphaCurrency = 10_000_000u64.into(); + let mut incentives: BTreeMap = BTreeMap::new(); + let incentive: AlphaBalance = 10_000_000u64.into(); incentives.insert(miner_hk, incentive); SubtensorModule::distribute_dividends_and_incentives( netuid, - AlphaCurrency::ZERO, // owner_cut + AlphaBalance::ZERO, // owner_cut incentives, BTreeMap::new(), // alpha_dividends BTreeMap::new(), // tao_dividends @@ -2902,13 +2902,13 @@ fn test_incentive_goes_to_hotkey_when_no_autostake_destination() { ); // Distribute an incentive to the miner hotkey - let mut incentives: BTreeMap = BTreeMap::new(); - let incentive: AlphaCurrency = 5_000_000u64.into(); + let mut incentives: BTreeMap = BTreeMap::new(); + let incentive: AlphaBalance = 5_000_000u64.into(); incentives.insert(miner_hk, incentive); SubtensorModule::distribute_dividends_and_incentives( netuid, - AlphaCurrency::ZERO, // owner_cut + AlphaBalance::ZERO, // owner_cut incentives, BTreeMap::new(), // alpha_dividends BTreeMap::new(), // tao_dividends @@ -2933,10 +2933,10 @@ fn test_zero_shares_zero_emission() { let emission: u64 = 1_000_000; // Setup prices 1 and 1 let initial: u64 = 1_000_000; - SubnetTAO::::insert(netuid1, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid1, AlphaCurrency::from(initial)); - SubnetTAO::::insert(netuid2, TaoCurrency::from(initial)); - SubnetAlphaIn::::insert(netuid2, AlphaCurrency::from(initial)); + SubnetTAO::::insert(netuid1, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid1, AlphaBalance::from(initial)); + SubnetTAO::::insert(netuid2, TaoBalance::from(initial)); + SubnetAlphaIn::::insert(netuid2, AlphaBalance::from(initial)); // Set subnet prices so that both are // - cut off by lower limit for tao flow method // - zeroed out for price ema method @@ -2974,23 +2974,23 @@ fn test_mining_emission_distribution_with_no_root_sell() { SubnetMechanism::::insert(netuid, 1); // Set mechanism to 1 // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000_u64)); register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); register_ok_neuron(netuid, validator_miner_hotkey, validator_miner_coldkey, 1); register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 2); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &validator_miner_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &miner_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3043,7 +3043,7 @@ fn test_mining_emission_distribution_with_no_root_sell() { // Make root sell NOT happen // set price very low, e.g. a lot of alpha in - //SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000)); + //SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000)); pallet_subtensor_swap::AlphaSqrtPrice::::insert( netuid, U64F64::saturating_from_num(0.01), @@ -3074,7 +3074,7 @@ fn test_mining_emission_distribution_with_no_root_sell() { // Check root divs are zero assert_eq!( new_root_alpha_divs, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, "Root alpha divs should be zero" ); let miner_stake_before_epoch = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -3101,7 +3101,7 @@ fn test_mining_emission_distribution_with_no_root_sell() { let miner_uid = Uids::::get(netuid, miner_hotkey).unwrap_or(0); log::info!("Miner uid: {miner_uid:?}"); - let miner_incentive: AlphaCurrency = { + let miner_incentive: AlphaBalance = { let miner_incentive = Incentive::::get(NetUidStorageIndex::from(netuid)) .get(miner_uid as usize) .copied(); @@ -3169,23 +3169,23 @@ fn test_mining_emission_distribution_with_root_sell() { FirstEmissionBlockNumber::::insert(netuid, 0); // Setup large LPs to prevent slippage - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000_u64)); register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); register_ok_neuron(netuid, validator_miner_hotkey, validator_miner_coldkey, 1); register_ok_neuron(netuid, miner_hotkey, miner_coldkey, 2); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &validator_miner_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::add_balance_to_coldkey_account( &miner_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3270,7 +3270,7 @@ fn test_mining_emission_distribution_with_root_sell() { "Root alpha divs should be changing" ); assert!( - new_root_alpha_divs > AlphaCurrency::ZERO, + new_root_alpha_divs > AlphaBalance::ZERO, "Root alpha divs should be greater than 0" ); @@ -3278,7 +3278,7 @@ fn test_mining_emission_distribution_with_root_sell() { step_block(subnet_tempo - 1); let miner_uid = Uids::::get(netuid, miner_hotkey).unwrap_or(0); - let miner_incentive: AlphaCurrency = { + let miner_incentive: AlphaBalance = { let miner_incentive = Incentive::::get(NetUidStorageIndex::from(netuid)) .get(miner_uid as usize) .copied(); @@ -3364,8 +3364,8 @@ fn test_coinbase_subnet_terms_with_alpha_in_gt_alpha_emission() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000_u64), - AlphaCurrency::from(1_000_000_000_000_000_u64), + TaoBalance::from(1_000_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3440,8 +3440,8 @@ fn test_coinbase_subnet_terms_with_alpha_in_lte_alpha_emission() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000_u64), - AlphaCurrency::from(1_000_000_000_000_000_u64), + TaoBalance::from(1_000_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3503,8 +3503,8 @@ fn test_coinbase_inject_and_maybe_swap_does_not_skew_reserves() { let netuid0 = add_dynamic_network(&U256::from(1), &U256::from(2)); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000_u64), - AlphaCurrency::from(1_000_000_000_000_000_u64), + TaoBalance::from(1_000_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3589,10 +3589,10 @@ fn test_coinbase_drain_pending_gets_counters_and_resets_them() { let block_number = 98; assert!(SubtensorModule::should_run_epoch(netuid0, block_number)); - let pending_server_em = AlphaCurrency::from(123434534); - let pending_validator_em = AlphaCurrency::from(111111); - let pending_root = AlphaCurrency::from(12222222); - let pending_owner_cut = AlphaCurrency::from(12345678); + let pending_server_em = AlphaBalance::from(123434534); + let pending_validator_em = AlphaBalance::from(111111); + let pending_root = AlphaBalance::from(12222222); + let pending_owner_cut = AlphaBalance::from(12345678); PendingServerEmission::::insert(netuid0, pending_server_em); PendingValidatorEmission::::insert(netuid0, pending_validator_em); @@ -3614,17 +3614,17 @@ fn test_coinbase_drain_pending_gets_counters_and_resets_them() { // Check that the pending emissions are reset assert_eq!( PendingServerEmission::::get(netuid0), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingValidatorEmission::::get(netuid0), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingRootAlphaDivs::::get(netuid0), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); - assert_eq!(PendingOwnerCut::::get(netuid0), AlphaCurrency::ZERO); + assert_eq!(PendingOwnerCut::::get(netuid0), AlphaBalance::ZERO); }); } @@ -3637,8 +3637,8 @@ fn test_coinbase_emit_to_subnets_with_no_root_sell() { SubnetOwnerCut::::set(u16::MAX / 10); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000_u64), - AlphaCurrency::from(1_000_000_000_000_000_u64), + TaoBalance::from(1_000_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3679,7 +3679,7 @@ fn test_coinbase_emit_to_subnets_with_no_root_sell() { .checked_div(tao_weight.saturating_add(alpha_issuance)) .unwrap_or(U96F32::min_value()); // Expect root alpha divs to be root prop * alpha emission - let expected_root_alpha_divs: AlphaCurrency = AlphaCurrency::from( + let expected_root_alpha_divs: AlphaBalance = AlphaBalance::from( root_prop .saturating_mul(alpha_emission) .saturating_to_num::(), @@ -3695,7 +3695,7 @@ fn test_coinbase_emit_to_subnets_with_no_root_sell() { // NO root sell, so no root alpha divs assert_eq!( PendingRootAlphaDivs::::get(netuid0), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Should be alpha_emission minus the owner cut, assert_abs_diff_eq!( @@ -3728,8 +3728,8 @@ fn test_coinbase_emit_to_subnets_with_root_sell() { SubnetOwnerCut::::set(u16::MAX / 10); mock::setup_reserves( netuid0, - TaoCurrency::from(1_000_000_000_000_000_u64), - AlphaCurrency::from(1_000_000_000_000_000_u64), + TaoBalance::from(1_000_000_000_000_000_u64), + AlphaBalance::from(1_000_000_000_000_000_u64), ); // Initialize swap v3 Swap::maybe_initialize_v3(netuid0); @@ -3770,7 +3770,7 @@ fn test_coinbase_emit_to_subnets_with_root_sell() { .checked_div(tao_weight.saturating_add(alpha_issuance)) .unwrap_or(U96F32::min_value()); // Expect root alpha divs to be root prop * alpha emission - let expected_root_alpha_divs: AlphaCurrency = AlphaCurrency::from( + let expected_root_alpha_divs: AlphaBalance = AlphaBalance::from( root_prop .saturating_mul(alpha_emission) .saturating_to_num::(), @@ -3837,7 +3837,7 @@ fn test_pending_emission_start_call_not_done() { register_ok_neuron(netuid, validator_hotkey, validator_coldkey, 0); SubtensorModule::add_balance_to_coldkey_account( &validator_coldkey, - TaoCurrency::from(stake) + ExistentialDeposit::get(), + TaoBalance::from(stake) + ExistentialDeposit::get(), ); SubtensorModule::set_weights_set_rate_limit(netuid, 0); step_block(subnet_tempo); @@ -3881,15 +3881,15 @@ fn test_pending_emission_start_call_not_done() { // Verify that all pending emissions are zero assert_eq!( PendingServerEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingValidatorEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingRootAlphaDivs::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -3902,11 +3902,11 @@ fn test_root_prop_filled_on_block_step() { let netuid1 = add_dynamic_network(&hotkey, &coldkey); let netuid2 = add_dynamic_network(&hotkey, &coldkey); - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(1_000_000_000_000u64)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(1_000_000_000_000u64)); SubtensorModule::set_tao_weight(u64::MAX); // Set TAO weight to 1.0 - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid1, tao_reserve); SubnetAlphaIn::::insert(netuid1, alpha_in); SubnetTAO::::insert(netuid2, tao_reserve); @@ -3930,13 +3930,13 @@ fn test_root_proportion() { let netuid = add_dynamic_network(&hotkey, &coldkey); let root_tao_reserve = 1_000_000_000_000u64; - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(root_tao_reserve)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(root_tao_reserve)); let tao_weight = 3_320_413_933_267_719_290u64; SubtensorModule::set_tao_weight(tao_weight); let alpha_in = 100_000_000_000u64; - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(alpha_in)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(alpha_in)); let actual_root_proportion = SubtensorModule::root_proportion(netuid); let expected_root_prop = { @@ -3963,7 +3963,7 @@ fn test_get_subnet_terms_alpha_emissions_cap() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); let tao_block_emission: U96F32 = U96F32::saturating_from_num( SubtensorModule::get_block_emission() - .unwrap_or(TaoCurrency::ZERO) + .unwrap_or(TaoBalance::ZERO) .to_u64(), ); diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index 11831521c3..8dc1ae04f9 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -12,7 +12,7 @@ use frame_support::{assert_err, assert_ok}; use rand::{Rng, SeedableRng, distributions::Uniform, rngs::StdRng, seq::SliceRandom, thread_rng}; use sp_core::{Get, U256}; use substrate_fixed::types::I32F32; -use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex, TaoBalance}; use subtensor_swap_interface::SwapHandler; use super::mock::*; @@ -565,7 +565,7 @@ fn test_1_graph() { SubtensorModule::set_max_allowed_uids(netuid, 1); SubtensorModule::add_balance_to_coldkey_account( &coldkey, - TaoCurrency::from(stake_amount) + ExistentialDeposit::get(), + TaoBalance::from(stake_amount) + ExistentialDeposit::get(), ); register_ok_neuron(netuid, hotkey, coldkey, 1); SubtensorModule::set_weights_set_rate_limit(netuid, 0); @@ -656,7 +656,7 @@ fn test_10_graph() { for i in 0..n { assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&(U256::from(i))), - TaoCurrency::from(1) + TaoBalance::from(1) ); assert_eq!(SubtensorModule::get_rank_for_uid(netuid, i as u16), 0); assert_eq!(SubtensorModule::get_trust_for_uid(netuid, i as u16), 0); @@ -734,7 +734,7 @@ fn test_512_graph() { for uid in servers { assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&(U256::from(uid))), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!(SubtensorModule::get_consensus_for_uid(netuid, uid), 146); assert_eq!( @@ -778,7 +778,7 @@ fn test_512_graph_random_weights() { Vec, Vec, Vec, - Vec, + Vec, Vec, Vec, ) = (vec![], vec![], vec![], vec![], vec![], vec![]); @@ -1325,7 +1325,7 @@ fn test_set_alpha_disabled() { signer.clone(), hotkey, netuid, - TaoCurrency::from(5) * DefaultMinStake::::get() + fee + TaoBalance::from(5) * DefaultMinStake::::get() + fee )); // Only owner can set alpha values assert_ok!(SubtensorModule::register_network(signer.clone(), hotkey)); @@ -2538,19 +2538,19 @@ fn test_epoch_outputs_single_staker_registered_no_weights() { 1.into(), ); - let pending_alpha = AlphaCurrency::from(1_000_000_000); + let pending_alpha = AlphaBalance::from(1_000_000_000); let hotkey_emission = SubtensorModule::epoch(netuid, pending_alpha); let sum_incentives = hotkey_emission .iter() .map(|(_, incentive, _)| incentive) .copied() - .fold(AlphaCurrency::ZERO, |acc, x| acc + x); - let sum_dividends: AlphaCurrency = hotkey_emission + .fold(AlphaBalance::ZERO, |acc, x| acc + x); + let sum_dividends: AlphaBalance = hotkey_emission .iter() .map(|(_, _, dividend)| dividend) .copied() - .fold(AlphaCurrency::ZERO, |acc, x| acc + x); + .fold(AlphaBalance::ZERO, |acc, x| acc + x); assert_abs_diff_eq!( sum_incentives.saturating_add(sum_dividends), @@ -3833,7 +3833,7 @@ fn test_last_update_size_mismatch() { SubtensorModule::set_max_allowed_uids(netuid, 1); SubtensorModule::add_balance_to_coldkey_account( &coldkey, - TaoCurrency::from(stake_amount) + ExistentialDeposit::get(), + TaoBalance::from(stake_amount) + ExistentialDeposit::get(), ); register_ok_neuron(netuid, hotkey, coldkey, 1); SubtensorModule::set_weights_set_rate_limit(netuid, 0); diff --git a/pallets/subtensor/src/tests/epoch_logs.rs b/pallets/subtensor/src/tests/epoch_logs.rs index 38e3a1b734..265add2802 100644 --- a/pallets/subtensor/src/tests/epoch_logs.rs +++ b/pallets/subtensor/src/tests/epoch_logs.rs @@ -13,7 +13,7 @@ use frame_support::assert_ok; use sp_core::U256; use std::io::{Result as IoResult, Write}; use std::sync::{Arc, Mutex}; -use subtensor_runtime_common::{AlphaCurrency, MechId}; +use subtensor_runtime_common::{AlphaBalance, MechId}; use tracing_subscriber::{EnvFilter, layer::SubscriberExt}; const NETUID: u16 = 1; @@ -82,7 +82,7 @@ fn setup_epoch(neurons: Vec, mechanism_count: u8) { &hotkey, &U256::from(COLDKEY), netuid, - AlphaCurrency::from(neuron.alpha_stake), + AlphaBalance::from(neuron.alpha_stake), ); }); @@ -176,7 +176,7 @@ fn test_simple() { setup_epoch(neurons.to_vec(), 1); // Run epoch, watch logs - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(NetUid::from(NETUID), MechId::from(0), emission); }); @@ -195,7 +195,7 @@ fn test_simple() { assert!(has("Normalized Validator Emission: [0.5, 0.5]")); assert!(has("Normalized Combined Emission: [0.5, 0.5]")); assert!(has( - "Combined Emission: [AlphaCurrency(500000000), AlphaCurrency(500000000)]" + "Combined Emission: [AlphaBalance(500000000), AlphaBalance(500000000)]" )); assert!(!has("math error:")); }); @@ -215,7 +215,7 @@ fn test_bad_permit_vector() { ValidatorPermit::::insert(NetUid::from(NETUID), vec![true]); // Run epoch, watch logs - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(NetUid::from(NETUID), MechId::from(0), emission); }); @@ -225,7 +225,7 @@ fn test_bad_permit_vector() { "math error: inplace_mask_vector input lengths are not equal" )); assert!(has( - "Validator Emission: [AlphaCurrency(1000000000), AlphaCurrency(0)]" + "Validator Emission: [AlphaBalance(1000000000), AlphaBalance(0)]" )); }); } @@ -243,7 +243,7 @@ fn test_inactive_mask_zeroes_active_stake() { ]; setup_epoch(neurons.to_vec(), 1); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(NetUid::from(NETUID), MechId::from(0), emission); }); @@ -271,7 +271,7 @@ fn test_validator_permit_masks_active_stake() { let netuid = NetUid::from(NETUID); ValidatorPermit::::insert(netuid, vec![true, false]); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -296,7 +296,7 @@ fn yuma_emergency_mode() { setup_epoch(neurons.to_vec(), 1); // No weights needed; keep defaults empty to make ranks/dividends zero. - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(NetUid::from(NETUID), MechId::from(0), emission); }); @@ -319,7 +319,7 @@ fn epoch_uses_active_stake_when_nonzero_active() { ]; setup_epoch(neurons.to_vec(), 1); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(NetUid::from(NETUID), MechId::from(0), emission); }); @@ -347,7 +347,7 @@ fn epoch_topk_validator_permits() { let netuid = NetUid::from(NETUID); MaxAllowedValidators::::insert(netuid, 1u16); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -375,7 +375,7 @@ fn epoch_yuma3_bonds_pipeline() { let netuid = NetUid::from(NETUID); Yuma3On::::insert(netuid, true); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -402,7 +402,7 @@ fn epoch_original_yuma_bonds_pipeline() { let netuid = NetUid::from(NETUID); Yuma3On::::insert(netuid, false); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -442,7 +442,7 @@ fn test_validators_weight_two_distinct_servers() { vec![3, 4], ); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -491,7 +491,7 @@ fn test_validator_splits_weight_across_two_servers() { vec![3, 4], ); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); SubtensorModule::epoch_mechanism(netuid, MechId::from(0), emission); }); @@ -533,7 +533,7 @@ fn epoch_mechanism_reads_weights_per_mechanism() { ], ); let logs_m0 = with_log_capture("trace", || { - SubtensorModule::epoch_mechanism(netuid, MechId::from(0), AlphaCurrency::from(1_000)); + SubtensorModule::epoch_mechanism(netuid, MechId::from(0), AlphaBalance::from(1_000)); }); // Mech 1: flipped routing: V0,V2 -> server 4 ; V1 -> server 3 @@ -547,7 +547,7 @@ fn epoch_mechanism_reads_weights_per_mechanism() { ], ); let logs_m1 = with_log_capture("trace", || { - SubtensorModule::epoch_mechanism(netuid, MechId::from(1), AlphaCurrency::from(1_000)); + SubtensorModule::epoch_mechanism(netuid, MechId::from(1), AlphaBalance::from(1_000)); }); // Both should run the full pipeline… @@ -609,13 +609,13 @@ fn epoch_mechanism_three_mechanisms_separate_state() { ); let l0 = with_log_capture("trace", || { - SubtensorModule::epoch_mechanism(netuid, MechId::from(0), AlphaCurrency::from(1_000)); + SubtensorModule::epoch_mechanism(netuid, MechId::from(0), AlphaBalance::from(1_000)); }); let l1 = with_log_capture("trace", || { - SubtensorModule::epoch_mechanism(netuid, MechId::from(1), AlphaCurrency::from(1_000)); + SubtensorModule::epoch_mechanism(netuid, MechId::from(1), AlphaBalance::from(1_000)); }); let l2 = with_log_capture("trace", || { - SubtensorModule::epoch_mechanism(netuid, MechId::from(2), AlphaCurrency::from(1_000)); + SubtensorModule::epoch_mechanism(netuid, MechId::from(2), AlphaBalance::from(1_000)); }); // Check major epoch indicators diff --git a/pallets/subtensor/src/tests/leasing.rs b/pallets/subtensor/src/tests/leasing.rs index e9f93c03ba..0c6ae629c3 100644 --- a/pallets/subtensor/src/tests/leasing.rs +++ b/pallets/subtensor/src/tests/leasing.rs @@ -9,7 +9,7 @@ use frame_support::{StorageDoubleMap, assert_err, assert_ok}; use sp_core::U256; use sp_runtime::Percent; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::AlphaCurrency; +use subtensor_runtime_common::AlphaBalance; #[test] fn test_register_leased_network_works() { @@ -511,32 +511,32 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { &contributions[0].0, lease.netuid, ); - assert_eq!(contributor1_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor1_alpha_before, AlphaBalance::ZERO); let contributor2_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &contributions[1].0, lease.netuid, ); - assert_eq!(contributor2_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor2_alpha_before, AlphaBalance::ZERO); let beneficiary_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); + let accumulated_dividends = AlphaBalance::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); + let owner_cut_alpha = AlphaBalance::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were distributed correctly relative to their shares let distributed_alpha = accumulated_dividends + emissions_share.mul_ceil(owner_cut_alpha.to_u64()).into(); - assert_ne!(distributed_alpha, AlphaCurrency::ZERO); + assert_ne!(distributed_alpha, AlphaBalance::ZERO); let contributor1_alpha_delta = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, @@ -544,7 +544,7 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { lease.netuid, ) .saturating_sub(contributor1_alpha_before); - assert_ne!(contributor1_alpha_delta, AlphaCurrency::ZERO); + assert_ne!(contributor1_alpha_delta, AlphaBalance::ZERO); let contributor2_alpha_delta = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, @@ -552,7 +552,7 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { lease.netuid, ) .saturating_sub(contributor2_alpha_before); - assert_ne!(contributor2_alpha_delta, AlphaCurrency::ZERO); + assert_ne!(contributor2_alpha_delta, AlphaBalance::ZERO); let beneficiary_alpha_delta = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, @@ -560,7 +560,7 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { lease.netuid, ) .saturating_sub(beneficiary_alpha_before); - assert_ne!(beneficiary_alpha_delta, AlphaCurrency::ZERO); + assert_ne!(beneficiary_alpha_delta, AlphaBalance::ZERO); // What has been distributed should be equal to the sum of all contributors received alpha assert_eq!( @@ -614,7 +614,7 @@ fn test_distribute_lease_network_dividends_multiple_contributors_works() { // Ensure nothing was accumulated for later distribution assert_eq!( AccumulatedLeaseDividends::::get(lease_id), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -650,20 +650,20 @@ fn test_distribute_lease_network_dividends_only_beneficiary_works() { &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); + let accumulated_dividends = AlphaBalance::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); + let owner_cut_alpha = AlphaBalance::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were distributed correctly relative to their shares let distributed_alpha = accumulated_dividends + emissions_share.mul_ceil(owner_cut_alpha.to_u64()).into(); - assert_ne!(distributed_alpha, AlphaCurrency::ZERO); + assert_ne!(distributed_alpha, AlphaBalance::ZERO); let beneficiary_alpha_delta = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, @@ -682,7 +682,7 @@ fn test_distribute_lease_network_dividends_only_beneficiary_works() { // Ensure nothing was accumulated for later distribution assert_eq!( AccumulatedLeaseDividends::::get(lease_id), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -721,26 +721,26 @@ fn test_distribute_lease_network_dividends_accumulates_if_not_the_correct_block( &contributions[0].0, lease.netuid, ); - assert_eq!(contributor1_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor1_alpha_before, AlphaBalance::ZERO); let contributor2_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &contributions[1].0, lease.netuid, ); - assert_eq!(contributor2_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor2_alpha_before, AlphaBalance::ZERO); let beneficiary_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // Setup some previously accumulated dividends - let accumulated_dividends = AlphaCurrency::from(10_000_000_000_u64); + let accumulated_dividends = AlphaBalance::from(10_000_000_000_u64); AccumulatedLeaseDividends::::insert(lease_id, accumulated_dividends); // Distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); + let owner_cut_alpha = AlphaBalance::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -782,7 +782,7 @@ fn test_distribute_lease_network_dividends_accumulates_if_not_the_correct_block( fn test_distribute_lease_network_dividends_does_nothing_if_lease_does_not_exist() { new_test_ext(1).execute_with(|| { let lease_id = 0; - let owner_cut_alpha = AlphaCurrency::from(5_000_000); + let owner_cut_alpha = AlphaBalance::from(5_000_000); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); }); } @@ -821,26 +821,26 @@ fn test_distribute_lease_network_dividends_does_nothing_if_lease_has_ended() { &contributions[0].0, lease.netuid, ); - assert_eq!(contributor1_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor1_alpha_before, AlphaBalance::ZERO); let contributor2_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &contributions[1].0, lease.netuid, ); - assert_eq!(contributor2_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor2_alpha_before, AlphaBalance::ZERO); let beneficiary_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // No dividends are present, lease is new let accumulated_dividends_before = AccumulatedLeaseDividends::::get(lease_id); - assert_eq!(accumulated_dividends_before, AlphaCurrency::ZERO); + assert_eq!(accumulated_dividends_before, AlphaBalance::ZERO); // Try to distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000_000_u64); + let owner_cut_alpha = AlphaBalance::from(5_000_000_000_u64); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -907,22 +907,22 @@ fn test_distribute_lease_network_dividends_accumulates_if_amount_is_too_low() { &contributions[0].0, lease.netuid, ); - assert_eq!(contributor1_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor1_alpha_before, AlphaBalance::ZERO); let contributor2_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &contributions[1].0, lease.netuid, ); - assert_eq!(contributor2_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor2_alpha_before, AlphaBalance::ZERO); let beneficiary_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // Try to distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000); + let owner_cut_alpha = AlphaBalance::from(5_000); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -988,22 +988,22 @@ fn test_distribute_lease_network_dividends_accumulates_if_insufficient_liquidity &contributions[0].0, lease.netuid, ); - assert_eq!(contributor1_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor1_alpha_before, AlphaBalance::ZERO); let contributor2_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &contributions[1].0, lease.netuid, ); - assert_eq!(contributor2_alpha_before, AlphaCurrency::ZERO); + assert_eq!(contributor2_alpha_before, AlphaBalance::ZERO); let beneficiary_alpha_before = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &lease.hotkey, &beneficiary, lease.netuid, ); - assert_eq!(beneficiary_alpha_before, AlphaCurrency::ZERO); + assert_eq!(beneficiary_alpha_before, AlphaBalance::ZERO); // Try to distribute the dividends - let owner_cut_alpha = AlphaCurrency::from(5_000_000); + let owner_cut_alpha = AlphaBalance::from(5_000_000); SubtensorModule::distribute_leased_network_dividends(lease_id, owner_cut_alpha); // Ensure the dividends were not distributed @@ -1047,15 +1047,15 @@ fn setup_crowdloan( contributions: &[(U256, u64)], ) { let funds_account = U256::from(42424242 + id); - let deposit = TaoCurrency::from(deposit); - let cap = TaoCurrency::from(cap); + let deposit = TaoBalance::from(deposit); + let cap = TaoBalance::from(cap); pallet_crowdloan::Crowdloans::::insert( id, pallet_crowdloan::CrowdloanInfo { creator: beneficiary, deposit, - min_contribution: TaoCurrency::ZERO, + min_contribution: TaoBalance::ZERO, end: 0, cap, raised: cap, @@ -1070,7 +1070,7 @@ fn setup_crowdloan( // Simulate contributions pallet_crowdloan::Contributions::::insert(id, beneficiary, deposit); for (contributor, amount) in contributions { - let amount = TaoCurrency::from(*amount); + let amount = TaoBalance::from(*amount); pallet_crowdloan::Contributions::::insert(id, contributor, amount); } diff --git a/pallets/subtensor/src/tests/mechanism.rs b/pallets/subtensor/src/tests/mechanism.rs index 84757e5911..6cf37fbcc1 100644 --- a/pallets/subtensor/src/tests/mechanism.rs +++ b/pallets/subtensor/src/tests/mechanism.rs @@ -393,8 +393,8 @@ fn split_emissions_even_division() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(5u16); MechanismCountCurrent::::insert(netuid, MechId::from(5u8)); // 5 sub-subnets - let out = SubtensorModule::split_emissions(netuid, AlphaCurrency::from(25u64)); - assert_eq!(out, vec![AlphaCurrency::from(5u64); 5]); + let out = SubtensorModule::split_emissions(netuid, AlphaBalance::from(25u64)); + assert_eq!(out, vec![AlphaBalance::from(5u64); 5]); }); } @@ -403,14 +403,14 @@ fn split_emissions_rounding_to_first() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(6u16); MechanismCountCurrent::::insert(netuid, MechId::from(4u8)); // 4 sub-subnets - let out = SubtensorModule::split_emissions(netuid, AlphaCurrency::from(10u64)); // 10 / 4 = 2, rem=2 + let out = SubtensorModule::split_emissions(netuid, AlphaBalance::from(10u64)); // 10 / 4 = 2, rem=2 assert_eq!( out, vec![ - AlphaCurrency::from(4u64), // 2 + remainder(2) - AlphaCurrency::from(2u64), - AlphaCurrency::from(2u64), - AlphaCurrency::from(2u64), + AlphaBalance::from(4u64), // 2 + remainder(2) + AlphaBalance::from(2u64), + AlphaBalance::from(2u64), + AlphaBalance::from(2u64), ] ); }); @@ -422,15 +422,15 @@ fn split_emissions_fibbonacci() { let netuid = NetUid::from(5u16); MechanismCountCurrent::::insert(netuid, MechId::from(5u8)); // 5 sub-subnets MechanismEmissionSplit::::insert(netuid, vec![3450, 6899, 10348, 17247, 27594]); - let out = SubtensorModule::split_emissions(netuid, AlphaCurrency::from(19u64)); + let out = SubtensorModule::split_emissions(netuid, AlphaBalance::from(19u64)); assert_eq!( out, vec![ - AlphaCurrency::from(1u64), - AlphaCurrency::from(2u64), - AlphaCurrency::from(3u64), - AlphaCurrency::from(5u64), - AlphaCurrency::from(8u64), + AlphaBalance::from(1u64), + AlphaBalance::from(2u64), + AlphaBalance::from(3u64), + AlphaBalance::from(5u64), + AlphaBalance::from(8u64), ] ); }); @@ -461,7 +461,7 @@ pub fn mock_epoch_state(netuid: NetUid, ck0: U256, hk0: U256, ck1: U256, hk1: U2 BlockAtRegistration::::insert(netuid, 1, 1u64); // Add stake - let stake_amount = AlphaCurrency::from(1_000_000_000); // 1 Alpha + let stake_amount = AlphaBalance::from(1_000_000_000); // 1 Alpha SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk0, &ck0, @@ -511,7 +511,7 @@ fn epoch_with_mechanisms_produces_per_mechanism_incentive() { let hk0 = U256::from(2); let ck1 = U256::from(3); let hk1 = U256::from(4); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); mock_epoch_state(netuid, ck0, hk0, ck1, hk1); SubtensorModule::epoch_with_mechanisms(netuid, emission); @@ -536,7 +536,7 @@ fn epoch_with_mechanisms_updates_bonds() { let hk0 = U256::from(2); let ck1 = U256::from(3); let hk1 = U256::from(4); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); mock_epoch_state(netuid, ck0, hk0, ck1, hk1); @@ -572,7 +572,7 @@ fn epoch_with_mechanisms_incentives_proportional_to_weights() { let ck1 = U256::from(3); let hk1 = U256::from(4); let hk2 = U256::from(6); - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); mock_epoch_state(netuid, ck0, hk0, ck1, hk1); mock_3_neurons(netuid, hk2); @@ -627,7 +627,7 @@ fn epoch_with_mechanisms_persists_and_aggregates_all_terms() { let ck1 = U256::from(3); let hk1 = U256::from(4); let hk2 = U256::from(6); - let emission = AlphaCurrency::from(1_000_000_000u64); + let emission = AlphaBalance::from(1_000_000_000u64); // Healthy minimal state and 3rd neuron mock_epoch_state(netuid, ck0, hk0, ck1, hk1); @@ -801,7 +801,7 @@ fn epoch_with_mechanisms_no_weight_no_incentive() { let ck1 = U256::from(3); let hk1 = U256::from(4); let hk2 = U256::from(5); // No weight miner - let emission = AlphaCurrency::from(1_000_000_000); + let emission = AlphaBalance::from(1_000_000_000); mock_epoch_state(netuid, ck0, hk0, ck1, hk1); mock_3_neurons(netuid, hk2); @@ -841,9 +841,9 @@ fn neuron_dereg_cleans_weights_across_subids() { Emission::::insert( netuid, vec![ - AlphaCurrency::from(1u64), - AlphaCurrency::from(9u64), - AlphaCurrency::from(3u64), + AlphaBalance::from(1u64), + AlphaBalance::from(9u64), + AlphaBalance::from(3u64), ], ); Consensus::::insert(netuid, vec![21u16, 88u16, 44u16]); @@ -907,7 +907,7 @@ fn clear_neuron_handles_absent_rows_gracefully() { MechanismCountCurrent::::insert(netuid, MechId::from(1u8)); // single sub-subnet // Minimal vectors with non-zero at index 0 (we will clear UID=0) - Emission::::insert(netuid, vec![AlphaCurrency::from(5u64)]); + Emission::::insert(netuid, vec![AlphaBalance::from(5u64)]); Consensus::::insert(netuid, vec![6u16]); Dividends::::insert(netuid, vec![7u16]); @@ -918,7 +918,7 @@ fn clear_neuron_handles_absent_rows_gracefully() { // Emission/Consensus/Dividends zeroed at index 0 assert_eq!( Emission::::get(netuid), - vec![AlphaCurrency::from(0u64)] + vec![AlphaBalance::from(0u64)] ); assert_eq!(Consensus::::get(netuid), vec![0u16]); @@ -1530,22 +1530,22 @@ fn epoch_mechanism_emergency_mode_distributes_by_stake() { &hk0, &ck0, netuid, - AlphaCurrency::from(10), + AlphaBalance::from(10), ); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, &ck1, netuid, - AlphaCurrency::from(30), + AlphaBalance::from(30), ); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk2, &ck2, netuid, - AlphaCurrency::from(60), + AlphaBalance::from(60), ); - let emission = AlphaCurrency::from(1_000_000u64); + let emission = AlphaBalance::from(1_000_000u64); // --- act: run epoch on this sub-subnet only --- let out = SubtensorModule::epoch_mechanism(netuid, mecid, emission); diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index 616d3894b0..f4d0347686 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -28,7 +28,7 @@ use sp_io::hashing::twox_128; use sp_runtime::{traits::Hash, traits::Zero}; use substrate_fixed::types::extra::U2; use substrate_fixed::types::{I96F32, U64F64}; -use subtensor_runtime_common::{NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{NetUidStorageIndex, TaoBalance}; #[allow(clippy::arithmetic_side_effects)] fn close(value: u64, target: u64, eps: u64) { @@ -43,9 +43,9 @@ fn test_initialise_ti() { use frame_support::traits::OnRuntimeUpgrade; new_test_ext(1).execute_with(|| { - pallet_balances::TotalIssuance::::put(TaoCurrency::from(1000)); - crate::SubnetTAO::::insert(NetUid::from(1), TaoCurrency::from(100)); - crate::SubnetTAO::::insert(NetUid::from(2), TaoCurrency::from(5)); + pallet_balances::TotalIssuance::::put(TaoBalance::from(1000)); + crate::SubnetTAO::::insert(NetUid::from(1), TaoBalance::from(100)); + crate::SubnetTAO::::insert(NetUid::from(2), TaoBalance::from(5)); // Ensure values are NOT initialized prior to running migration assert!(crate::TotalIssuance::::get().is_zero()); @@ -54,9 +54,9 @@ fn test_initialise_ti() { crate::migrations::migrate_init_total_issuance::initialise_total_issuance::Migration::::on_runtime_upgrade(); // Ensure values were initialized correctly - assert_eq!(crate::TotalStake::::get(), TaoCurrency::from(105)); + assert_eq!(crate::TotalStake::::get(), TaoBalance::from(105)); assert_eq!( - crate::TotalIssuance::::get(), TaoCurrency::from(105 + 1000) + crate::TotalIssuance::::get(), TaoBalance::from(105 + 1000) ); }); } @@ -482,11 +482,11 @@ fn test_migrate_remove_zero_total_hotkey_alpha() { let hotkey_nonzero = U256::from(101u64); // Insert one zero-alpha entry and one non-zero entry - TotalHotkeyAlpha::::insert(hotkey_zero, netuid, AlphaCurrency::ZERO); - TotalHotkeyAlpha::::insert(hotkey_nonzero, netuid, AlphaCurrency::from(123)); + TotalHotkeyAlpha::::insert(hotkey_zero, netuid, AlphaBalance::ZERO); + TotalHotkeyAlpha::::insert(hotkey_nonzero, netuid, AlphaBalance::from(123)); - assert_eq!(TotalHotkeyAlpha::::get(hotkey_zero, netuid), AlphaCurrency::ZERO); - assert_eq!(TotalHotkeyAlpha::::get(hotkey_nonzero, netuid), AlphaCurrency::from(123)); + assert_eq!(TotalHotkeyAlpha::::get(hotkey_zero, netuid), AlphaBalance::ZERO); + assert_eq!(TotalHotkeyAlpha::::get(hotkey_nonzero, netuid), AlphaBalance::from(123)); assert!( !HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec()), @@ -505,7 +505,7 @@ fn test_migrate_remove_zero_total_hotkey_alpha() { "Zero-alpha entry should have been removed." ); - assert_eq!(TotalHotkeyAlpha::::get(hotkey_nonzero, netuid), AlphaCurrency::from(123)); + assert_eq!(TotalHotkeyAlpha::::get(hotkey_nonzero, netuid), AlphaBalance::from(123)); assert!( !weight.is_zero(), @@ -1186,12 +1186,12 @@ fn test_migrate_fix_root_subnet_tao() { TotalHotkeyAlpha::::insert( U256::from(U256::from(i)), NetUid::ROOT, - AlphaCurrency::from(stake), + AlphaBalance::from(stake), ); expected_total_stake += stake; } - assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoCurrency::ZERO); + assert_eq!(SubnetTAO::::get(NetUid::ROOT), TaoBalance::ZERO); assert!( !HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec()), "Migration should not have run yet" @@ -1222,11 +1222,11 @@ fn test_migrate_fix_root_tao_and_alpha_in() { // Set counters initially let initial_value = 1_000_000_000_000_u64; - SubnetTAO::::insert(NetUid::ROOT, TaoCurrency::from(initial_value)); - SubnetAlphaIn::::insert(NetUid::ROOT, AlphaCurrency::from(initial_value)); - SubnetAlphaOut::::insert(NetUid::ROOT, AlphaCurrency::from(initial_value)); + SubnetTAO::::insert(NetUid::ROOT, TaoBalance::from(initial_value)); + SubnetAlphaIn::::insert(NetUid::ROOT, AlphaBalance::from(initial_value)); + SubnetAlphaOut::::insert(NetUid::ROOT, AlphaBalance::from(initial_value)); SubnetVolume::::insert(NetUid::ROOT, initial_value as u128); - TotalStake::::set(TaoCurrency::from(initial_value)); + TotalStake::::set(TaoBalance::from(initial_value)); assert!( !HasMigrationRun::::get(MIGRATION_NAME.as_bytes().to_vec()), @@ -2564,15 +2564,15 @@ fn do_setup_unactive_sn() -> (Vec, Vec) { .collect(); let initial_tao = Pallet::::get_network_min_lock(); - let initial_alpha: AlphaCurrency = initial_tao.to_u64().into(); + let initial_alpha: AlphaBalance = initial_tao.to_u64().into(); const EXTRA_POOL_TAO: u64 = 123_123_u64; const EXTRA_POOL_ALPHA: u64 = 123_123_u64; // Add stake to the subnet pools for netuid in &netuids { - let extra_for_pool = TaoCurrency::from(EXTRA_POOL_TAO); - let stake_in_pool = TaoCurrency::from( + let extra_for_pool = TaoBalance::from(EXTRA_POOL_TAO); + let stake_in_pool = TaoBalance::from( u64::from(initial_tao) .checked_add(EXTRA_POOL_TAO) .expect("initial_tao + extra_for_pool overflow"), @@ -2591,13 +2591,13 @@ fn do_setup_unactive_sn() -> (Vec, Vec) { *total_issuance = updated_total.into(); }); - let subnet_alpha_in = AlphaCurrency::from( + let subnet_alpha_in = AlphaBalance::from( u64::from(initial_alpha) .checked_add(EXTRA_POOL_ALPHA) .expect("initial alpha + extra alpha overflow"), ); SubnetAlphaIn::::insert(netuid, subnet_alpha_in); - SubnetAlphaOut::::insert(netuid, AlphaCurrency::from(EXTRA_POOL_ALPHA)); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(EXTRA_POOL_ALPHA)); SubnetVolume::::insert(netuid, 123123_u128); // Try registering on the subnet to simulate a real network @@ -2628,7 +2628,7 @@ fn do_setup_unactive_sn() -> (Vec, Vec) { SubtokenEnabled::::insert(netuid, true); } - let alpha_amt = AlphaCurrency::from(123123_u64); + let alpha_amt = AlphaBalance::from(123123_u64); // Create some Stake entries for netuid in &netuids { for hotkey in 0..10 { @@ -2648,16 +2648,16 @@ fn do_setup_unactive_sn() -> (Vec, Vec) { } } // Add some pending emissions - let alpha_em_amt = AlphaCurrency::from(355555_u64); + let alpha_em_amt = AlphaBalance::from(355555_u64); for netuid in &netuids { PendingServerEmission::::insert(netuid, alpha_em_amt); PendingValidatorEmission::::insert(netuid, alpha_em_amt); PendingRootAlphaDivs::::insert(netuid, alpha_em_amt); PendingOwnerCut::::insert(netuid, alpha_em_amt); - SubnetTaoInEmission::::insert(netuid, TaoCurrency::from(12345678_u64)); - SubnetAlphaInEmission::::insert(netuid, AlphaCurrency::from(12345678_u64)); - SubnetAlphaOutEmission::::insert(netuid, AlphaCurrency::from(12345678_u64)); + SubnetTaoInEmission::::insert(netuid, TaoBalance::from(12345678_u64)); + SubnetAlphaInEmission::::insert(netuid, AlphaBalance::from(12345678_u64)); + SubnetAlphaOutEmission::::insert(netuid, AlphaBalance::from(12345678_u64)); } (active_netuids, inactive_netuids) @@ -2669,7 +2669,7 @@ fn test_migrate_reset_unactive_sn_get_unactive_netuids() { let (active_netuids, inactive_netuids) = do_setup_unactive_sn(); let initial_tao = Pallet::::get_network_min_lock(); - let initial_alpha: AlphaCurrency = initial_tao.to_u64().into(); + let initial_alpha: AlphaBalance = initial_tao.to_u64().into(); let (unactive_netuids, w) = crate::migrations::migrate_reset_unactive_sn::get_unactive_sn_netuids::( @@ -2696,7 +2696,7 @@ fn test_migrate_reset_unactive_sn() { let (active_netuids, inactive_netuids) = do_setup_unactive_sn(); let initial_tao = Pallet::::get_network_min_lock(); - let initial_alpha: AlphaCurrency = initial_tao.to_u64().into(); + let initial_alpha: AlphaBalance = initial_tao.to_u64().into(); // Run the migration let w = crate::migrations::migrate_reset_unactive_sn::migrate_reset_unactive_sn::(); @@ -2706,21 +2706,21 @@ fn test_migrate_reset_unactive_sn() { for netuid in &inactive_netuids { let actual_tao_lock_amount = SubnetLocked::::get(*netuid); let actual_tao_lock_amount_less_pool_tao = if (actual_tao_lock_amount < initial_tao) { - TaoCurrency::ZERO + TaoBalance::ZERO } else { actual_tao_lock_amount - initial_tao }; assert_eq!( PendingServerEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingValidatorEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( PendingRootAlphaDivs::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( // not modified @@ -2730,25 +2730,25 @@ fn test_migrate_reset_unactive_sn() { assert!(pallet_subtensor_swap::AlphaSqrtPrice::::contains_key( *netuid )); - assert_eq!(PendingOwnerCut::::get(netuid), AlphaCurrency::ZERO); + assert_eq!(PendingOwnerCut::::get(netuid), AlphaBalance::ZERO); assert_ne!(SubnetTAO::::get(netuid), initial_tao); assert_ne!(SubnetAlphaIn::::get(netuid), initial_alpha); - assert_ne!(SubnetAlphaOut::::get(netuid), AlphaCurrency::ZERO); - assert_eq!(SubnetTaoInEmission::::get(netuid), TaoCurrency::ZERO); + assert_ne!(SubnetAlphaOut::::get(netuid), AlphaBalance::ZERO); + assert_eq!(SubnetTaoInEmission::::get(netuid), TaoBalance::ZERO); assert_eq!( SubnetAlphaInEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubnetAlphaOutEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!(SubnetVolume::::get(netuid), 0u128); for hotkey in 0..10 { let hk = U256::from(hotkey); assert_ne!( TotalHotkeyAlpha::::get(hk, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!( TotalHotkeyShares::::get(hk, netuid), @@ -2756,7 +2756,7 @@ fn test_migrate_reset_unactive_sn() { ); assert_ne!( TotalHotkeyAlphaLastEpoch::::get(hk, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!(RootClaimable::::get(hk).get(netuid), None); for coldkey in 0..10 { @@ -2767,7 +2767,7 @@ fn test_migrate_reset_unactive_sn() { } // Don't touch SubnetLocked - assert_ne!(SubnetLocked::::get(netuid), TaoCurrency::ZERO); + assert_ne!(SubnetLocked::::get(netuid), TaoBalance::ZERO); } // !!! Make sure the active subnets were not reset @@ -2776,43 +2776,43 @@ fn test_migrate_reset_unactive_sn() { let actual_tao_lock_amount_less_pool_tao = actual_tao_lock_amount - initial_tao; assert_ne!( PendingServerEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!( PendingValidatorEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!( PendingRootAlphaDivs::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( // not modified RAORecycledForRegistration::::get(netuid), actual_tao_lock_amount_less_pool_tao ); - assert_ne!(SubnetTaoInEmission::::get(netuid), TaoCurrency::ZERO); + assert_ne!(SubnetTaoInEmission::::get(netuid), TaoBalance::ZERO); assert_ne!( SubnetAlphaInEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!( SubnetAlphaOutEmission::::get(netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert!(pallet_subtensor_swap::AlphaSqrtPrice::::contains_key( *netuid )); - assert_ne!(PendingOwnerCut::::get(netuid), AlphaCurrency::ZERO); + assert_ne!(PendingOwnerCut::::get(netuid), AlphaBalance::ZERO); assert_ne!(SubnetTAO::::get(netuid), initial_tao); assert_ne!(SubnetAlphaIn::::get(netuid), initial_alpha); - assert_ne!(SubnetAlphaOut::::get(netuid), AlphaCurrency::ZERO); + assert_ne!(SubnetAlphaOut::::get(netuid), AlphaBalance::ZERO); assert_ne!(SubnetVolume::::get(netuid), 0u128); for hotkey in 0..10 { let hk = U256::from(hotkey); assert_ne!( TotalHotkeyAlpha::::get(hk, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_ne!( TotalHotkeyShares::::get(hk, netuid), @@ -2820,7 +2820,7 @@ fn test_migrate_reset_unactive_sn() { ); assert_ne!( TotalHotkeyAlphaLastEpoch::::get(hk, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert!(RootClaimable::::get(hk).contains_key(netuid)); for coldkey in 0..10 { @@ -2830,7 +2830,7 @@ fn test_migrate_reset_unactive_sn() { } } // Don't touch SubnetLocked - assert_ne!(SubnetLocked::::get(netuid), TaoCurrency::ZERO); + assert_ne!(SubnetLocked::::get(netuid), TaoBalance::ZERO); } }); } @@ -2867,7 +2867,7 @@ fn test_migrate_reset_unactive_sn_idempotence() { for netuid in &netuids { assert_eq!( SubnetTAO::::get(netuid), - *subnet_tao_before.get(netuid).unwrap_or(&TaoCurrency::ZERO) + *subnet_tao_before.get(netuid).unwrap_or(&TaoBalance::ZERO) ); } assert_eq!(TotalStake::::get(), total_stake_before); diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index 8431a43755..80abcd700e 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -29,7 +29,7 @@ use sp_runtime::{ }; use sp_std::{cell::RefCell, cmp::Ordering, sync::OnceLock}; use sp_tracing::tracing_subscriber; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt}; type Block = frame_system::mocking::MockBlock; @@ -77,7 +77,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = TaoCurrency; +pub type Balance = TaoBalance; // An index to a block. #[allow(dead_code)] @@ -137,7 +137,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -160,8 +160,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = TaoCurrency::new(1); - pub const TransactionByteFee: Balance = TaoCurrency::new(100); + pub const ExistentialDeposit: Balance = TaoBalance::new(1); + pub const TransactionByteFee: Balance = TaoBalance::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -189,8 +189,8 @@ parameter_types! { pub const InitialBurn: u64 = 0; pub const InitialMinBurn: u64 = 500_000; pub const InitialMaxBurn: u64 = 1_000_000_000; - pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO - pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO + pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; @@ -368,8 +368,8 @@ impl pallet_utility::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); - pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); + pub const PreimageBaseDeposit: Balance = TaoBalance::new(1); + pub const PreimageByteDeposit: Balance = TaoBalance::new(1); } impl pallet_preimage::Config for Test { @@ -432,17 +432,17 @@ impl pallet_crowdloan::Config for Test { // Proxy Pallet config parameter_types! { // Set as 1 for testing purposes - pub const ProxyDepositBase: Balance = TaoCurrency::new(1); + pub const ProxyDepositBase: Balance = TaoBalance::new(1); // Set as 1 for testing purposes - pub const ProxyDepositFactor: Balance = TaoCurrency::new(1); + pub const ProxyDepositFactor: Balance = TaoBalance::new(1); // Set as 20 for testing purposes pub const MaxProxies: u32 = 20; // max num proxies per acct // Set as 15 for testing purposes pub const MaxPending: u32 = 15; // max blocks pending ~15min // Set as 1 for testing purposes - pub const AnnouncementDepositBase: Balance = TaoCurrency::new(1); + pub const AnnouncementDepositBase: Balance = TaoBalance::new(1); // Set as 1 for testing purposes - pub const AnnouncementDepositFactor: Balance = TaoCurrency::new(1); + pub const AnnouncementDepositFactor: Balance = TaoBalance::new(1); } impl pallet_proxy::Config for Test { @@ -640,8 +640,8 @@ pub fn test_ext_with_balances(balances: Vec<(U256, u128)>) -> sp_io::TestExterna pallet_balances::GenesisConfig:: { balances: balances .iter() - .map(|(a, b)| (*a, TaoCurrency::from(*b as u64))) - .collect::>(), + .map(|(a, b)| (*a, TaoBalance::from(*b as u64))) + .collect::>(), dev_accounts: None, } .assimilate_storage(&mut t) @@ -851,7 +851,7 @@ pub fn add_network_disable_commit_reveal(netuid: NetUid, tempo: u16, _modality: // Helper function to set up a neuron with stake #[allow(dead_code)] -pub fn setup_neuron_with_stake(netuid: NetUid, hotkey: U256, coldkey: U256, stake: TaoCurrency) { +pub fn setup_neuron_with_stake(netuid: NetUid, hotkey: U256, coldkey: U256, stake: TaoBalance) { register_ok_neuron(netuid, hotkey, coldkey, stake.into()); increase_stake_on_coldkey_hotkey_account(&coldkey, &hotkey, stake, netuid); } @@ -921,7 +921,7 @@ pub fn step_rate_limit(transaction_type: &TransactionType, netuid: NetUid) { pub fn increase_stake_on_coldkey_hotkey_account( coldkey: &U256, hotkey: &U256, - tao_staked: TaoCurrency, + tao_staked: TaoBalance, netuid: NetUid, ) { SubtensorModule::stake_into_subnet( @@ -942,7 +942,7 @@ pub fn increase_stake_on_coldkey_hotkey_account( /// * `hotkey` - The hotkey account ID. /// * `increment` - The amount to be incremented. #[allow(dead_code)] -pub fn increase_stake_on_hotkey_account(hotkey: &U256, increment: TaoCurrency, netuid: NetUid) { +pub fn increase_stake_on_hotkey_account(hotkey: &U256, increment: TaoBalance, netuid: NetUid) { increase_stake_on_coldkey_hotkey_account( &SubtensorModule::get_owning_coldkey_for_hotkey(hotkey), hotkey, @@ -955,12 +955,12 @@ pub(crate) fn remove_stake_rate_limit_for_tests(hotkey: &U256, coldkey: &U256, n StakingOperationRateLimiter::::remove((hotkey, coldkey, netuid)); } -pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoCurrency, alpha: AlphaCurrency) { +pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoBalance, alpha: AlphaBalance) { SubnetTAO::::set(netuid, tao); SubnetAlphaIn::::set(netuid, alpha); } -pub(crate) fn swap_tao_to_alpha(netuid: NetUid, tao: TaoCurrency) -> (AlphaCurrency, u64) { +pub(crate) fn swap_tao_to_alpha(netuid: NetUid, tao: TaoBalance) -> (AlphaBalance, u64) { if netuid.is_root() { return (tao.to_u64().into(), 0); } @@ -979,23 +979,23 @@ pub(crate) fn swap_tao_to_alpha(netuid: NetUid, tao: TaoCurrency) -> (AlphaCurre let result = result.unwrap(); // we don't want to have silent 0 comparisons in tests - assert!(result.amount_paid_out > AlphaCurrency::ZERO); + assert!(result.amount_paid_out > AlphaBalance::ZERO); (result.amount_paid_out, result.fee_paid.into()) } pub(crate) fn swap_alpha_to_tao_ext( netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, drop_fees: bool, -) -> (TaoCurrency, u64) { +) -> (TaoBalance, u64) { if netuid.is_root() { return (alpha.to_u64().into(), 0); } println!( "::SwapInterface::min_price() = {:?}", - ::SwapInterface::min_price::() + ::SwapInterface::min_price::() ); let order = GetTaoForAlpha::::with_amount(alpha); @@ -1017,7 +1017,7 @@ pub(crate) fn swap_alpha_to_tao_ext( (result.amount_paid_out, result.fee_paid.into()) } -pub(crate) fn swap_alpha_to_tao(netuid: NetUid, alpha: AlphaCurrency) -> (TaoCurrency, u64) { +pub(crate) fn swap_alpha_to_tao(netuid: NetUid, alpha: AlphaBalance) -> (TaoBalance, u64) { swap_alpha_to_tao_ext(netuid, alpha, false) } diff --git a/pallets/subtensor/src/tests/move_stake.rs b/pallets/subtensor/src/tests/move_stake.rs index cd423336a7..430158cb6f 100644 --- a/pallets/subtensor/src/tests/move_stake.rs +++ b/pallets/subtensor/src/tests/move_stake.rs @@ -4,7 +4,7 @@ use approx::assert_abs_diff_eq; use frame_support::{assert_err, assert_noop, assert_ok}; use sp_core::{Get, U256}; use substrate_fixed::types::{U64F64, U96F32}; -use subtensor_runtime_common::TaoCurrency; +use subtensor_runtime_common::TaoBalance; use subtensor_swap_interface::SwapHandler; use super::mock; @@ -62,7 +62,7 @@ fn test_do_move_success() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -138,7 +138,7 @@ fn test_do_move_different_subnets() { &coldkey, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); let fee = ::SwapInterface::approx_fee_amount(destination_netuid.into(), alpha); @@ -247,7 +247,7 @@ fn test_do_move_nonexistent_origin_hotkey() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -255,7 +255,7 @@ fn test_do_move_nonexistent_origin_hotkey() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -318,7 +318,7 @@ fn test_do_move_nonexistent_destination_hotkey() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -359,7 +359,7 @@ fn test_do_move_partial_stake() { ); // Move partial stake - let alpha_moved = AlphaCurrency::from(alpha.to_u64() * portion_moved / 10); + let alpha_moved = AlphaBalance::from(alpha.to_u64() * portion_moved / 10); SubtensorModule::create_account_if_non_existent(&coldkey, &origin_hotkey); SubtensorModule::create_account_if_non_existent(&coldkey, &destination_hotkey); assert_ok!(SubtensorModule::do_move_stake( @@ -461,7 +461,7 @@ fn test_do_move_multiple_times() { ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey2, &coldkey, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -530,7 +530,7 @@ fn test_do_move_wrong_origin() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -700,7 +700,7 @@ fn test_do_move_storage_updates() { &coldkey, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_abs_diff_eq!( @@ -762,7 +762,7 @@ fn test_move_full_amount_same_netuid() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -830,7 +830,7 @@ fn test_do_move_max_values() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -937,7 +937,7 @@ fn test_do_transfer_success() { &origin_coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -1179,7 +1179,7 @@ fn test_do_transfer_different_subnets() { &origin_coldkey, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // 8. Verify stake ended up in destination subnet for destination coldkey. @@ -1240,7 +1240,7 @@ fn test_do_swap_success() { &coldkey, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); let alpha_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -1554,7 +1554,7 @@ fn test_do_swap_storage_updates() { &coldkey, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_abs_diff_eq!( @@ -1593,7 +1593,7 @@ fn test_do_swap_multiple_times() { ) .unwrap(); - let mut expected_alpha = AlphaCurrency::ZERO; + let mut expected_alpha = AlphaBalance::ZERO; for _ in 0..3 { let alpha1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, netuid1, @@ -1633,7 +1633,7 @@ fn test_do_swap_multiple_times() { ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid2), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -1691,10 +1691,10 @@ fn test_move_stake_specific_stake_into_subnet_fail() { let existing_shares: U64F64 = U64F64::from_num(161_986_254).saturating_div(U64F64::from_num(u64::MAX)); - let existing_stake = AlphaCurrency::from(36_711_495_953_u64); + let existing_stake = AlphaBalance::from(36_711_495_953_u64); - let tao_in = TaoCurrency::from(2_409_892_148_947_u64); - let alpha_in = AlphaCurrency::from(15_358_708_513_716_u64); + let tao_in = TaoBalance::from(2_409_892_148_947_u64); + let alpha_in = AlphaBalance::from(15_358_708_513_716_u64); let tao_staked = 200_000_000; @@ -1711,7 +1711,7 @@ fn test_move_stake_specific_stake_into_subnet_fail() { // Check we have zero staked assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Set a hotkey pool for the hotkey on destination subnet @@ -1772,7 +1772,7 @@ fn test_move_stake_specific_stake_into_subnet_fail() { &coldkey_account_id, origin_netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_abs_diff_eq!( diff --git a/pallets/subtensor/src/tests/networks.rs b/pallets/subtensor/src/tests/networks.rs index ac6fad1a93..aa5a6529f6 100644 --- a/pallets/subtensor/src/tests/networks.rs +++ b/pallets/subtensor/src/tests/networks.rs @@ -8,7 +8,7 @@ use frame_system::Config; use sp_core::U256; use sp_std::collections::{btree_map::BTreeMap, vec_deque::VecDeque}; use substrate_fixed::types::{I96F32, U64F64, U96F32}; -use subtensor_runtime_common::{MechId, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{MechId, NetUidStorageIndex, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; #[test] @@ -52,9 +52,9 @@ fn dissolve_no_stakers_no_alpha_no_emission() { let hot = U256::from(2); let net = add_dynamic_network(&hot, &cold); - SubtensorModule::set_subnet_locked_balance(net, TaoCurrency::from(0)); - SubnetTAO::::insert(net, TaoCurrency::from(0)); - Emission::::insert(net, Vec::::new()); + SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(0)); + SubnetTAO::::insert(net, TaoBalance::from(0)); + Emission::::insert(net, Vec::::new()); let before = SubtensorModule::get_coldkey_balance(&cold); assert_ok!(SubtensorModule::do_dissolve_network(net)); @@ -77,16 +77,16 @@ fn dissolve_refunds_full_lock_cost_when_no_emission() { let reg_at = NetworkRegisteredAt::::get(net); NetworkRegistrationStartBlock::::put(reg_at.saturating_add(1)); - let lock: TaoCurrency = TaoCurrency::from(1_000_000); + let lock: TaoBalance = TaoBalance::from(1_000_000); SubtensorModule::set_subnet_locked_balance(net, lock); - SubnetTAO::::insert(net, TaoCurrency::from(0)); - Emission::::insert(net, Vec::::new()); + SubnetTAO::::insert(net, TaoBalance::from(0)); + Emission::::insert(net, Vec::::new()); let before = SubtensorModule::get_coldkey_balance(&cold); assert_ok!(SubtensorModule::do_dissolve_network(net)); let after = SubtensorModule::get_coldkey_balance(&cold); - assert_eq!(TaoCurrency::from(after), TaoCurrency::from(before) + lock); + assert_eq!(TaoBalance::from(after), TaoBalance::from(before) + lock); }); } @@ -104,9 +104,9 @@ fn dissolve_single_alpha_out_staker_gets_all_tao() { // Entire TAO pot should be paid to staker's cold-key let pot: u64 = 99_999; - SubnetTAO::::insert(net, TaoCurrency::from(pot)); + SubnetTAO::::insert(net, TaoBalance::from(pot)); SubtensorModule::set_subnet_locked_balance(net, 0.into()); - TotalHotkeyAlpha::::insert(s_hot, net, AlphaCurrency::from(5_000u64)); + TotalHotkeyAlpha::::insert(s_hot, net, AlphaBalance::from(5_000u64)); // Cold-key balance before let before = SubtensorModule::get_coldkey_balance(&s_cold); @@ -143,11 +143,11 @@ fn dissolve_two_stakers_pro_rata_distribution() { Alpha::::insert((s1_hot, s1_cold, net), U64F64::from_num(a1)); Alpha::::insert((s2_hot, s2_cold, net), U64F64::from_num(a2)); - TotalHotkeyAlpha::::insert(s1_hot, net, AlphaCurrency::from(a1 as u64)); - TotalHotkeyAlpha::::insert(s2_hot, net, AlphaCurrency::from(a2 as u64)); + TotalHotkeyAlpha::::insert(s1_hot, net, AlphaBalance::from(a1 as u64)); + TotalHotkeyAlpha::::insert(s2_hot, net, AlphaBalance::from(a2 as u64)); let pot: u64 = 10_000; - SubnetTAO::::insert(net, TaoCurrency::from(pot)); + SubnetTAO::::insert(net, TaoBalance::from(pot)); SubtensorModule::set_subnet_locked_balance(net, 5_000.into()); // owner refund path present; emission = 0 // Cold-key balances before @@ -224,12 +224,12 @@ fn dissolve_owner_cut_refund_logic() { &sh, &sc, net, - AlphaCurrency::from(800u64), + AlphaBalance::from(800u64), ); - SubnetTAO::::insert(net, TaoCurrency::from(1_000)); + SubnetTAO::::insert(net, TaoBalance::from(1_000)); // Lock & emissions: total emitted α = 800. - let lock: TaoCurrency = TaoCurrency::from(2_000); + let lock: TaoBalance = TaoBalance::from(2_000); SubtensorModule::set_subnet_locked_balance(net, lock); // ensure there was some Alpha issued assert!(SubtensorModule::get_alpha_issuance(net).to_u64() > 0); @@ -256,7 +256,7 @@ fn dissolve_owner_cut_refund_logic() { .into() }; - let expected_refund: TaoCurrency = lock.saturating_sub(owner_emission_tao); + let expected_refund: TaoBalance = lock.saturating_sub(owner_emission_tao); let before = SubtensorModule::get_coldkey_balance(&oc); assert_ok!(SubtensorModule::do_dissolve_network(net)); @@ -264,8 +264,8 @@ fn dissolve_owner_cut_refund_logic() { assert!(after > before); // some refund is expected assert_eq!( - TaoCurrency::from(after), - TaoCurrency::from(before) + expected_refund + TaoBalance::from(after), + TaoBalance::from(before) + expected_refund ); }); } @@ -277,9 +277,9 @@ fn dissolve_zero_refund_when_emission_exceeds_lock() { let oh = U256::from(2_000); let net = add_dynamic_network(&oh, &oc); - SubtensorModule::set_subnet_locked_balance(net, TaoCurrency::from(1_000)); + SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(1_000)); SubnetOwnerCut::::put(u16::MAX); // 100 % - Emission::::insert(net, vec![AlphaCurrency::from(2_000)]); + Emission::::insert(net, vec![AlphaBalance::from(2_000)]); let before = SubtensorModule::get_coldkey_balance(&oc); assert_ok!(SubtensorModule::do_dissolve_network(net)); @@ -320,7 +320,7 @@ fn dissolve_clears_all_per_subnet_storages() { Rank::::insert(net, vec![1u16]); Trust::::insert(net, vec![1u16]); Active::::insert(net, vec![true]); - Emission::::insert(net, vec![AlphaCurrency::from(1)]); + Emission::::insert(net, vec![AlphaBalance::from(1)]); Incentive::::insert(NetUidStorageIndex::from(net), vec![1u16]); Consensus::::insert(net, vec![1u16]); Dividends::::insert(net, vec![1u16]); @@ -344,15 +344,15 @@ fn dissolve_clears_all_per_subnet_storages() { BurnRegistrationsThisInterval::::insert(net, 1u16); // Pool / AMM counters - SubnetTAO::::insert(net, TaoCurrency::from(1)); - SubnetAlphaInEmission::::insert(net, AlphaCurrency::from(1)); - SubnetAlphaOutEmission::::insert(net, AlphaCurrency::from(1)); - SubnetTaoInEmission::::insert(net, TaoCurrency::from(1)); + SubnetTAO::::insert(net, TaoBalance::from(1)); + SubnetAlphaInEmission::::insert(net, AlphaBalance::from(1)); + SubnetAlphaOutEmission::::insert(net, AlphaBalance::from(1)); + SubnetTaoInEmission::::insert(net, TaoBalance::from(1)); SubnetVolume::::insert(net, 1u128); // Items now REMOVED (not zeroed) by dissolution - SubnetAlphaIn::::insert(net, AlphaCurrency::from(2)); - SubnetAlphaOut::::insert(net, AlphaCurrency::from(3)); + SubnetAlphaIn::::insert(net, AlphaBalance::from(2)); + SubnetAlphaOut::::insert(net, AlphaBalance::from(3)); // Prefix / double-map collections Keys::::insert(net, 0u16, owner_hot); @@ -365,8 +365,8 @@ fn dissolve_clears_all_per_subnet_storages() { // Token / price / provided reserves TokenSymbol::::insert(net, b"XX".to_vec()); SubnetMovingPrice::::insert(net, substrate_fixed::types::I96F32::from_num(1)); - SubnetTaoProvided::::insert(net, TaoCurrency::from(1)); - SubnetAlphaInProvided::::insert(net, AlphaCurrency::from(1)); + SubnetTaoProvided::::insert(net, TaoBalance::from(1)); + SubnetAlphaInProvided::::insert(net, AlphaBalance::from(1)); // TAO Flow SubnetTaoFlow::::insert(net, 0i64); @@ -374,7 +374,7 @@ fn dissolve_clears_all_per_subnet_storages() { // Subnet locks TransferToggle::::insert(net, true); - SubnetLocked::::insert(net, TaoCurrency::from(1)); + SubnetLocked::::insert(net, TaoBalance::from(1)); LargestLocked::::insert(net, 1u64); // Subnet parameters & pending counters @@ -382,10 +382,10 @@ fn dissolve_clears_all_per_subnet_storages() { SubnetMechanism::::insert(net, 1u16); NetworkRegistrationAllowed::::insert(net, true); NetworkPowRegistrationAllowed::::insert(net, true); - PendingServerEmission::::insert(net, AlphaCurrency::from(1)); - PendingValidatorEmission::::insert(net, AlphaCurrency::from(1)); - PendingRootAlphaDivs::::insert(net, AlphaCurrency::from(1)); - PendingOwnerCut::::insert(net, AlphaCurrency::from(1)); + PendingServerEmission::::insert(net, AlphaBalance::from(1)); + PendingValidatorEmission::::insert(net, AlphaBalance::from(1)); + PendingRootAlphaDivs::::insert(net, AlphaBalance::from(1)); + PendingOwnerCut::::insert(net, AlphaBalance::from(1)); BlocksSinceLastStep::::insert(net, 1u64); LastMechansimStepBlock::::insert(net, 1u64); ServingRateLimit::::insert(net, 1u64); @@ -407,14 +407,14 @@ fn dissolve_clears_all_per_subnet_storages() { CommitRevealWeightsEnabled::::insert(net, true); // Burn/difficulty/adjustment - Burn::::insert(net, TaoCurrency::from(1)); - MinBurn::::insert(net, TaoCurrency::from(1)); - MaxBurn::::insert(net, TaoCurrency::from(2)); + Burn::::insert(net, TaoBalance::from(1)); + MinBurn::::insert(net, TaoBalance::from(1)); + MaxBurn::::insert(net, TaoBalance::from(2)); MinDifficulty::::insert(net, 1u64); MaxDifficulty::::insert(net, 2u64); RegistrationsThisBlock::::insert(net, 1u16); EMAPriceHalvingBlocks::::insert(net, 1u64); - RAORecycledForRegistration::::insert(net, TaoCurrency::from(1)); + RAORecycledForRegistration::::insert(net, TaoBalance::from(1)); // Feature toggles LiquidAlphaOn::::insert(net, true); @@ -431,7 +431,7 @@ fn dissolve_clears_all_per_subnet_storages() { BlockAtRegistration::::insert(net, 0u16, 1u64); // Per‑subnet dividends - AlphaDividendsPerSubnet::::insert(net, owner_hot, AlphaCurrency::from(1)); + AlphaDividendsPerSubnet::::insert(net, owner_hot, AlphaBalance::from(1)); // Parent/child topology + takes ChildkeyTake::::insert(owner_hot, net, 1u16); @@ -636,10 +636,10 @@ fn dissolve_alpha_out_but_zero_tao_no_rewards() { let sc = U256::from(24); Alpha::::insert((sh, sc, net), U64F64::from_num(1_000u64)); - SubnetTAO::::insert(net, TaoCurrency::from(0)); // zero TAO - SubtensorModule::set_subnet_locked_balance(net, TaoCurrency::from(0)); - Emission::::insert(net, Vec::::new()); - TotalHotkeyAlpha::::insert(sh, net, AlphaCurrency::from(1_000u64)); + SubnetTAO::::insert(net, TaoBalance::from(0)); // zero TAO + SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(0)); + Emission::::insert(net, Vec::::new()); + TotalHotkeyAlpha::::insert(sh, net, AlphaBalance::from(1_000u64)); let before = SubtensorModule::get_coldkey_balance(&sc); assert_ok!(SubtensorModule::do_dissolve_network(net)); @@ -682,11 +682,11 @@ fn dissolve_rounding_remainder_distribution() { Alpha::::insert((s1h, s1c, net), U64F64::from_num(3u128)); Alpha::::insert((s2h, s2c, net), U64F64::from_num(2u128)); - SubnetTAO::::insert(net, TaoCurrency::from(1)); // TAO pot = 1 - SubtensorModule::set_subnet_locked_balance(net, TaoCurrency::from(0)); + SubnetTAO::::insert(net, TaoBalance::from(1)); // TAO pot = 1 + SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(0)); - TotalHotkeyAlpha::::insert(s1h, net, AlphaCurrency::from(3u64)); - TotalHotkeyAlpha::::insert(s2h, net, AlphaCurrency::from(2u64)); + TotalHotkeyAlpha::::insert(s1h, net, AlphaBalance::from(3u64)); + TotalHotkeyAlpha::::insert(s2h, net, AlphaBalance::from(2u64)); // Cold-key balances before let c1_before = SubtensorModule::get_coldkey_balance(&s1c); @@ -754,8 +754,8 @@ fn destroy_alpha_out_multiple_stakers_pro_rata() { // 5. TAO pot & lock let tao_pot: u64 = 10_000; - SubnetTAO::::insert(netuid, TaoCurrency::from(tao_pot)); - SubtensorModule::set_subnet_locked_balance(netuid, TaoCurrency::from(5_000)); + SubnetTAO::::insert(netuid, TaoBalance::from(tao_pot)); + SubtensorModule::set_subnet_locked_balance(netuid, TaoBalance::from(5_000)); // 6. Balances before let c1_before = SubtensorModule::get_coldkey_balance(&c1); @@ -862,8 +862,8 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { // ── 3) TAO pot & subnet lock ──────────────────────────────────────── let tao_pot: u64 = 123_456; let lock: u64 = 30_000; - SubnetTAO::::insert(netuid, TaoCurrency::from(tao_pot)); - SubtensorModule::set_subnet_locked_balance(netuid, TaoCurrency::from(lock)); + SubnetTAO::::insert(netuid, TaoBalance::from(tao_pot)); + SubtensorModule::set_subnet_locked_balance(netuid, TaoBalance::from(lock)); // ensure there was some Alpha issued assert!(SubtensorModule::get_alpha_issuance(netuid).to_u64() > 0); @@ -872,7 +872,7 @@ fn destroy_alpha_out_many_stakers_complex_distribution() { SubnetOwnerCut::::put(32_768u16); // ~ 0.5 in fixed-point // ── 4) balances before ────────────────────────────────────────────── - let mut bal_before = [TaoCurrency::new(0); N]; + let mut bal_before = [TaoBalance::new(0); N]; for i in 0..N { bal_before[i] = SubtensorModule::get_coldkey_balance(&cold[i]); } @@ -960,7 +960,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { // Lock and (nonzero) emissions let lock_u64: u64 = 50_000; - SubtensorModule::set_subnet_locked_balance(netuid, TaoCurrency::from(lock_u64)); + SubtensorModule::set_subnet_locked_balance(netuid, TaoBalance::from(lock_u64)); // Owner cut ≈ 50% SubnetOwnerCut::::put(32_768u16); @@ -971,7 +971,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { &other_hot, &other_cold, netuid, - AlphaCurrency::from(30u64), // not nearly enough to cover the lock + AlphaBalance::from(30u64), // not nearly enough to cover the lock ); // ensure there was some Alpha issued @@ -1009,7 +1009,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { // …and the lock is always cleared to zero by destroy_alpha_in_out_stakes. assert_eq!( SubtensorModule::get_subnet_locked_balance(netuid), - TaoCurrency::from(0u64) + TaoBalance::from(0u64) ); }); @@ -1028,7 +1028,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { // Lock and emissions present (should be ignored for refund) let lock_u64: u64 = 42_000; - SubtensorModule::set_subnet_locked_balance(netuid, TaoCurrency::from(lock_u64)); + SubtensorModule::set_subnet_locked_balance(netuid, TaoBalance::from(lock_u64)); // give some stake to other key let other_cold = U256::from(1_234); let other_hot = U256::from(2_345); @@ -1036,7 +1036,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { &other_hot, &other_cold, netuid, - AlphaCurrency::from(300u64), // not nearly enough to cover the lock + AlphaBalance::from(300u64), // not nearly enough to cover the lock ); // ensure there was some Alpha issued assert!(SubtensorModule::get_alpha_issuance(netuid).to_u64() > 0); @@ -1055,7 +1055,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { // Lock is still cleared to zero by the routine assert_eq!( SubtensorModule::get_subnet_locked_balance(netuid), - TaoCurrency::from(0u64) + TaoBalance::from(0u64) ); }); @@ -1073,8 +1073,8 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { NetworkRegistrationStartBlock::::put(reg_at.saturating_add(1)); // lock = 0; emissions present (must not matter) - SubtensorModule::set_subnet_locked_balance(netuid, TaoCurrency::from(0u64)); - SubnetAlphaOut::::insert(netuid, AlphaCurrency::from(10_000)); + SubtensorModule::set_subnet_locked_balance(netuid, TaoBalance::from(0u64)); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(10_000)); // ensure there was some Alpha issued assert!(SubtensorModule::get_alpha_issuance(netuid).to_u64() > 0); SubnetOwnerCut::::put(32_768u16); // ~50% @@ -1087,7 +1087,7 @@ fn destroy_alpha_out_refund_gating_by_registration_block() { assert_eq!(owner_after, owner_before); assert_eq!( SubtensorModule::get_subnet_locked_balance(netuid), - TaoCurrency::from(0u64) + TaoBalance::from(0u64) ); }); } @@ -1107,7 +1107,7 @@ fn prune_none_when_all_networks_immune() { let _n2 = add_dynamic_network(&U256::from(4), &U256::from(3)); // emissions don’t matter while immune - Emission::::insert(n1, vec![AlphaCurrency::from(10)]); + Emission::::insert(n1, vec![AlphaBalance::from(10)]); assert_eq!(SubtensorModule::get_network_to_prune(), None); }); @@ -1378,8 +1378,8 @@ fn register_network_prunes_and_recycles_netuid() { let imm = SubtensorModule::get_network_immunity_period(); System::set_block_number(imm + 100); - Emission::::insert(n1, vec![AlphaCurrency::from(1)]); - Emission::::insert(n2, vec![AlphaCurrency::from(1_000)]); + Emission::::insert(n1, vec![AlphaBalance::from(1)]); + Emission::::insert(n2, vec![AlphaBalance::from(1_000)]); let new_cold = U256::from(30); let new_hot = U256::from(31); @@ -1414,7 +1414,7 @@ fn register_network_fails_before_prune_keeps_existing() { let imm = SubtensorModule::get_network_immunity_period(); System::set_block_number(imm + 50); - Emission::::insert(net, vec![AlphaCurrency::from(10)]); + Emission::::insert(net, vec![AlphaBalance::from(10)]); let caller_cold = U256::from(50); let caller_hot = U256::from(51); @@ -1713,8 +1713,8 @@ fn test_migrate_network_immunity_period() { #[test] fn test_register_subnet_low_lock_cost() { new_test_ext(1).execute_with(|| { - NetworkMinLockCost::::set(TaoCurrency::from(1_000)); - NetworkLastLockCost::::set(TaoCurrency::from(1_000)); + NetworkMinLockCost::::set(TaoBalance::from(1_000)); + NetworkLastLockCost::::set(TaoBalance::from(1_000)); // Make sure lock cost is lower than 100 TAO let lock_cost = SubtensorModule::get_network_lock_cost(); @@ -1738,7 +1738,7 @@ fn test_register_subnet_low_lock_cost() { #[test] fn test_register_subnet_high_lock_cost() { new_test_ext(1).execute_with(|| { - let lock_cost = TaoCurrency::from(1_000_000_000_000_u64); + let lock_cost = TaoBalance::from(1_000_000_000_000_u64); NetworkMinLockCost::::set(lock_cost); NetworkLastLockCost::::set(lock_cost); @@ -1845,8 +1845,8 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( let net = add_dynamic_network(&owner_hot, &owner_cold); SubtensorModule::set_max_registrations_per_block(net, 1_000u16); SubtensorModule::set_target_registrations_per_interval(net, 1_000u16); - Emission::::insert(net, Vec::::new()); - SubtensorModule::set_subnet_locked_balance(net, TaoCurrency::from(0)); + Emission::::insert(net, Vec::::new()); + SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(0)); assert_ok!( pallet_subtensor_swap::Pallet::::toggle_user_liquidity( @@ -2019,7 +2019,7 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( // 6) Seed τ pots and dissolve *all* networks (liquidates LPs + refunds) // ──────────────────────────────────────────────────────────────────── for (ni, &net) in nets.iter().enumerate() { - SubnetTAO::::insert(net, TaoCurrency::from(pots[ni])); + SubnetTAO::::insert(net, TaoBalance::from(pots[ni])); } for &net in nets.iter() { assert_ok!(SubtensorModule::do_dissolve_network(net)); @@ -2146,8 +2146,8 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( let net_new = add_dynamic_network(&new_owner_hot, &new_owner_cold); SubtensorModule::set_max_registrations_per_block(net_new, 1_000u16); SubtensorModule::set_target_registrations_per_interval(net_new, 1_000u16); - Emission::::insert(net_new, Vec::::new()); - SubtensorModule::set_subnet_locked_balance(net_new, TaoCurrency::from(0)); + Emission::::insert(net_new, Vec::::new()); + SubtensorModule::set_subnet_locked_balance(net_new, TaoBalance::from(0)); assert_ok!( pallet_subtensor_swap::Pallet::::toggle_user_liquidity( diff --git a/pallets/subtensor/src/tests/recycle_alpha.rs b/pallets/subtensor/src/tests/recycle_alpha.rs index e696e4db45..9ae3975744 100644 --- a/pallets/subtensor/src/tests/recycle_alpha.rs +++ b/pallets/subtensor/src/tests/recycle_alpha.rs @@ -5,7 +5,7 @@ use approx::assert_abs_diff_eq; use frame_support::{assert_noop, assert_ok, traits::Currency}; use sp_core::U256; use substrate_fixed::types::{U64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, Currency as CurrencyT}; +use subtensor_runtime_common::{AlphaBalance, Token}; use subtensor_swap_interface::SwapHandler; #[test] @@ -36,7 +36,7 @@ fn test_recycle_success() { let initial_net_alpha = SubnetAlphaOut::::get(netuid); // amount to recycle - let recycle_amount = AlphaCurrency::from(stake / 2); + let recycle_amount = AlphaBalance::from(stake / 2); // recycle assert_ok!(SubtensorModule::recycle_alpha( @@ -96,7 +96,7 @@ fn test_recycle_two_stakers() { let initial_net_alpha = SubnetAlphaOut::::get(netuid); // amount to recycle - let recycle_amount = AlphaCurrency::from(stake / 2); + let recycle_amount = AlphaBalance::from(stake / 2); // recycle assert_ok!(SubtensorModule::recycle_alpha( @@ -172,7 +172,7 @@ fn test_recycle_staker_is_nominator() { let initial_net_alpha = SubnetAlphaOut::::get(netuid); // amount to recycle - let recycle_amount = AlphaCurrency::from(stake / 2); + let recycle_amount = AlphaBalance::from(stake / 2); // recycle from nominator coldkey assert_ok!(SubtensorModule::recycle_alpha( @@ -296,7 +296,7 @@ fn test_burn_staker_is_nominator() { let initial_net_alpha = SubnetAlphaOut::::get(netuid); // amount to recycle - let burn_amount = AlphaCurrency::from(stake / 2); + let burn_amount = AlphaBalance::from(stake / 2); // burn from nominator coldkey assert_ok!(SubtensorModule::burn_alpha( @@ -365,7 +365,7 @@ fn test_burn_two_stakers() { let initial_net_alpha = SubnetAlphaOut::::get(netuid); // amount to recycle - let burn_amount = AlphaCurrency::from(stake / 2); + let burn_amount = AlphaBalance::from(stake / 2); // burn from coldkey assert_ok!(SubtensorModule::burn_alpha( @@ -562,7 +562,7 @@ fn test_recycle_precision_loss() { increase_stake_on_coldkey_hotkey_account(&coldkey, &hotkey, stake.into(), netuid); // amount to recycle - let recycle_amount = AlphaCurrency::from(stake / 2); + let recycle_amount = AlphaBalance::from(stake / 2); // Modify the alpha pool denominator so it's low-precision let denominator = U64F64::from_num(0.00000001); @@ -599,7 +599,7 @@ fn test_burn_precision_loss() { increase_stake_on_coldkey_hotkey_account(&coldkey, &hotkey, stake.into(), netuid); // amount to recycle - let burn_amount = AlphaCurrency::from(stake / 2); + let burn_amount = AlphaBalance::from(stake / 2); // Modify the alpha pool denominator so it's low-precision let denominator = U64F64::from_num(0.00000001); @@ -639,7 +639,7 @@ fn test_add_stake_burn_success() { // Check we have zero staked before transfer assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Execute add_stake_burn - this stakes TAO to get Alpha, then burns the Alpha @@ -654,7 +654,7 @@ fn test_add_stake_burn_success() { // After "add stake and burn", hotkey should have zero stake since alpha is burned immediately assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // We spent TAO @@ -693,8 +693,8 @@ fn test_add_stake_burn_with_limit_success() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Setup reserves with large liquidity to minimize slippage - let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); // 1000 TAO - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); // 1000 Alpha + let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); // 1000 TAO + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); // 1000 Alpha mock::setup_reserves(netuid, tao_reserve, alpha_in); // Verify current price is 1.0 @@ -709,7 +709,7 @@ fn test_add_stake_burn_with_limit_success() { // Setup limit price at 2.0 TAO per Alpha // With 100 TAO into 1000/1000 pool, price moves from 1.0 to ~1.21 - let limit_price = TaoCurrency::from(2_000_000_000); // 2.0 TAO per Alpha + let limit_price = TaoBalance::from(2_000_000_000); // 2.0 TAO per Alpha // Execute add_stake_burn with limit assert_ok!(SubtensorModule::add_stake_burn( @@ -723,7 +723,7 @@ fn test_add_stake_burn_with_limit_success() { // After "add stake and burn", hotkey should have zero stake since alpha is burned immediately assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // TAO should have been spent @@ -852,8 +852,8 @@ fn test_add_stake_burn_rate_limit_exceeded() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Setup reserves with large liquidity - let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Give coldkey sufficient balance for multiple "add stake and burn" operations. diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index ebbacc56d2..64dc4bab1d 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -9,7 +9,7 @@ use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::{Config, RawOrigin}; use sp_core::U256; use sp_runtime::traits::{DispatchInfoOf, TransactionExtension, TxBaseImplication}; -use subtensor_runtime_common::{AlphaCurrency, Currency as CurrencyT, NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex, Token}; use super::mock; use super::mock::*; @@ -125,7 +125,7 @@ fn test_registration_ok() { // Check if the balance of this hotkey account for this subnetwork == 0 assert_eq!( SubtensorModule::get_stake_for_uid_and_subnetwork(netuid, neuron_uid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -488,7 +488,7 @@ fn test_burned_registration_ok() { // Check if the balance of this hotkey account for this subnetwork == 0 assert_eq!( SubtensorModule::get_stake_for_uid_and_subnetwork(netuid, neuron_uid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -1428,7 +1428,7 @@ fn test_registration_get_uid_to_prune_owner_immortality() { // uid0=0, uid1=0, uid2=1 Emission::::insert( netuid, - vec![AlphaCurrency::from(0), 0u64.into(), 1u64.into()], + vec![AlphaBalance::from(0), 0u64.into(), 1u64.into()], ); assert_eq!( @@ -1477,7 +1477,7 @@ fn test_registration_get_uid_to_prune_owner_immortality_all_immune() { // Lowest emission among non-immortal candidates -> uid2 Emission::::insert( netuid, - vec![AlphaCurrency::from(0), 0u64.into(), 1u64.into()], + vec![AlphaBalance::from(0), 0u64.into(), 1u64.into()], ); assert_eq!( diff --git a/pallets/subtensor/src/tests/staking.rs b/pallets/subtensor/src/tests/staking.rs index 9c37455ca5..5f19526ba9 100644 --- a/pallets/subtensor/src/tests/staking.rs +++ b/pallets/subtensor/src/tests/staking.rs @@ -11,9 +11,7 @@ use safe_math::FixedExt; use sp_core::{Get, H256, U256}; use substrate_fixed::traits::FromFixed; use substrate_fixed::types::{I96F32, I110F18, U64F64, U96F32}; -use subtensor_runtime_common::{ - AlphaCurrency, Currency as CurrencyT, NetUid, NetUidStorageIndex, TaoCurrency, -}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex, TaoBalance, Token}; use subtensor_swap_interface::{Order, SwapHandler}; use super::mock; @@ -28,7 +26,7 @@ use crate::*; fn test_add_stake_dispatch_info_ok() { new_test_ext(1).execute_with(|| { let hotkey = U256::from(0); - let amount_staked = TaoCurrency::from(5000); + let amount_staked = TaoBalance::from(5000); let netuid = NetUid::from(1); let call = RuntimeCall::SubtensorModule(SubtensorCall::add_stake { hotkey, @@ -63,7 +61,7 @@ fn test_add_stake_ok_no_emission() { // Check we have zero staked before transfer assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Also total stake should be equal to the network initial lock @@ -84,7 +82,7 @@ fn test_add_stake_ok_no_emission() { let (tao_expected, _) = mock::swap_alpha_to_tao(netuid, alpha_staked); let approx_fee = ::SwapInterface::approx_fee_amount( netuid.into(), - TaoCurrency::from(amount), + TaoBalance::from(amount), ); assert_abs_diff_eq!( @@ -165,7 +163,7 @@ fn test_dividends_with_run_to_block() { // Check if the stake is equal to the inital stake + transfer assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&neuron_dest_hotkey_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -274,14 +272,14 @@ fn test_add_stake_total_balance_no_change() { // Check we have zero staked before transfer let initial_stake = SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id); - assert_eq!(initial_stake, TaoCurrency::ZERO); + assert_eq!(initial_stake, TaoBalance::ZERO); // Check total balance is equal to initial balance let initial_total_balance = Balances::total_balance(&coldkey_account_id); assert_eq!(initial_total_balance, initial_balance.into()); // Also total stake should be zero - assert_eq!(SubtensorModule::get_total_stake(), TaoCurrency::ZERO); + assert_eq!(SubtensorModule::get_total_stake(), TaoBalance::ZERO); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::add_stake( @@ -327,7 +325,7 @@ fn test_add_stake_total_issuance_no_change() { // Check we have zero staked before transfer let initial_stake = SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id); - assert_eq!(initial_stake, TaoCurrency::ZERO); + assert_eq!(initial_stake, TaoBalance::ZERO); // Check total balance is equal to initial balance let initial_total_balance = Balances::total_balance(&coldkey_account_id); @@ -338,7 +336,7 @@ fn test_add_stake_total_issuance_no_change() { assert_eq!(initial_total_issuance, initial_balance.into()); // Also total stake should be zero - assert_eq!(SubtensorModule::get_total_stake(), TaoCurrency::ZERO); + assert_eq!(SubtensorModule::get_total_stake(), TaoBalance::ZERO); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::add_stake( @@ -369,7 +367,7 @@ fn test_add_stake_total_issuance_no_change() { fn test_remove_stake_dispatch_info_ok() { new_test_ext(1).execute_with(|| { let hotkey = U256::from(0); - let amount_unstaked = AlphaCurrency::from(5000); + let amount_unstaked = AlphaBalance::from(5000); let netuid = NetUid::from(1); let call = RuntimeCall::SubtensorModule(SubtensorCall::remove_stake { hotkey, @@ -407,7 +405,7 @@ fn test_remove_stake_ok_no_emission() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), @@ -447,7 +445,7 @@ fn test_remove_stake_ok_no_emission() { ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 20000.into() ); assert_abs_diff_eq!( @@ -476,7 +474,7 @@ fn test_remove_stake_amount_too_low() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), @@ -497,7 +495,7 @@ fn test_remove_stake_amount_too_low() { RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, netuid, - AlphaCurrency::ZERO + AlphaBalance::ZERO ), Error::::AmountTooLow ); @@ -515,7 +513,7 @@ fn test_remove_stake_below_min_stake() { register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 192213123); let min_stake = DefaultMinStake::::get(); - let amount = AlphaCurrency::from(min_stake.to_u64() / 2); + let amount = AlphaBalance::from(min_stake.to_u64() / 2); // Some basic assertions assert_eq!( @@ -524,7 +522,7 @@ fn test_remove_stake_below_min_stake() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), @@ -583,7 +581,7 @@ fn test_add_stake_partial_below_min_stake_fails() { let amount = min_stake.to_u64() * 2; SubtensorModule::add_balance_to_coldkey_account( &coldkey_account_id, - TaoCurrency::from(amount) + ExistentialDeposit::get(), + TaoBalance::from(amount) + ExistentialDeposit::get(), ); // Setup reserves so that price is 1.0 and init swap @@ -592,7 +590,7 @@ fn test_add_stake_partial_below_min_stake_fails() { // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -629,7 +627,7 @@ fn test_add_stake_partial_below_min_stake_fails() { fn test_remove_stake_err_signature() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(4968585); - let amount = AlphaCurrency::from(10000); // Amount to be removed + let amount = AlphaBalance::from(10000); // Amount to be removed let netuid = NetUid::from(1); assert_err!( @@ -680,7 +678,7 @@ fn test_remove_stake_no_enough_stake() { assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_err!( @@ -717,7 +715,7 @@ fn test_remove_stake_total_balance_no_change() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), @@ -752,7 +750,7 @@ fn test_remove_stake_total_balance_no_change() { let fee = ::SwapInterface::approx_fee_amount( netuid.into(), - TaoCurrency::from(amount), + TaoBalance::from(amount), ) .to_u64(); assert_abs_diff_eq!( @@ -762,7 +760,7 @@ fn test_remove_stake_total_balance_no_change() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_total_stake(), @@ -910,8 +908,8 @@ fn test_remove_stake_insufficient_liquidity() { ); // Mock provided liquidity - remove becomes successful - SubnetTaoProvided::::insert(netuid, TaoCurrency::from(amount_staked + 1)); - SubnetAlphaInProvided::::insert(netuid, AlphaCurrency::from(1)); + SubnetTaoProvided::::insert(netuid, TaoBalance::from(amount_staked + 1)); + SubnetAlphaInProvided::::insert(netuid, AlphaBalance::from(1)); assert_ok!(SubtensorModule::remove_stake( RuntimeOrigin::signed(coldkey), hotkey, @@ -947,7 +945,7 @@ fn test_remove_stake_total_issuance_no_change() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_coldkey_balance(&coldkey_account_id), @@ -995,12 +993,12 @@ fn test_remove_stake_total_issuance_no_change() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_total_stake(), SubtensorModule::get_network_min_lock() + total_fee.into(), - epsilon = TaoCurrency::from(fee) / 1000.into() + epsilon = TaoBalance::from(fee) / 1000.into() ); // Check if total issuance is equal to the added stake, even after remove stake (no fee, @@ -1046,8 +1044,8 @@ fn test_remove_prev_epoch_stake() { ] .into_iter() .for_each(|(amount_to_stake, alpha_divs, hotkey_alpha)| { - let alpha_divs = AlphaCurrency::from(alpha_divs); - let hotkey_alpha = AlphaCurrency::from(hotkey_alpha); + let alpha_divs = AlphaBalance::from(alpha_divs); + let hotkey_alpha = AlphaBalance::from(hotkey_alpha); let subnet_owner_coldkey = U256::from(1); let subnet_owner_hotkey = U256::from(2); let hotkey_account_id = U256::from(581337); @@ -1121,11 +1119,11 @@ fn test_staking_sets_div_variables() { // Verify that divident variables are clear in the beginning assert_eq!( AlphaDividendsPerSubnet::::get(netuid, hotkey_account_id), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(hotkey_account_id, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Stake to hotkey account, and check if the result is ok @@ -1139,11 +1137,11 @@ fn test_staking_sets_div_variables() { // Verify that divident variables are still clear in the beginning assert_eq!( AlphaDividendsPerSubnet::::get(netuid, hotkey_account_id), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(hotkey_account_id, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Wait for 1 epoch @@ -1157,7 +1155,7 @@ fn test_staking_sets_div_variables() { ); assert!( - AlphaDividendsPerSubnet::::get(netuid, hotkey_account_id) > AlphaCurrency::ZERO + AlphaDividendsPerSubnet::::get(netuid, hotkey_account_id) > AlphaBalance::ZERO ); assert_abs_diff_eq!( TotalHotkeyAlphaLastEpoch::::get(hotkey_account_id, netuid), @@ -1273,7 +1271,7 @@ fn test_remove_stake_from_hotkey_account() { // The stake on the hotkey account should be 0 assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -1312,7 +1310,7 @@ fn test_remove_stake_from_hotkey_account_registered_in_various_networks() { ); assert_eq!( SubtensorModule::get_stake_for_uid_and_subnetwork(netuid_ex, neuron_uid_ex), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Remove all stake @@ -1326,11 +1324,11 @@ fn test_remove_stake_from_hotkey_account_registered_in_various_networks() { // assert_eq!( SubtensorModule::get_stake_for_uid_and_subnetwork(netuid, neuron_uid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_uid_and_subnetwork(netuid_ex, neuron_uid_ex), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); }); } @@ -1341,8 +1339,8 @@ fn test_remove_stake_from_hotkey_account_registered_in_various_networks() { #[test] fn test_increase_total_stake_ok() { new_test_ext(1).execute_with(|| { - let increment = TaoCurrency::from(10000); - assert_eq!(SubtensorModule::get_total_stake(), TaoCurrency::ZERO); + let increment = TaoBalance::from(10000); + assert_eq!(SubtensorModule::get_total_stake(), TaoBalance::ZERO); SubtensorModule::increase_total_stake(increment); assert_eq!(SubtensorModule::get_total_stake(), increment); }); @@ -1354,8 +1352,8 @@ fn test_increase_total_stake_ok() { #[test] fn test_decrease_total_stake_ok() { new_test_ext(1).execute_with(|| { - let initial_total_stake = TaoCurrency::from(10000); - let decrement = TaoCurrency::from(5000); + let initial_total_stake = TaoBalance::from(10000); + let decrement = TaoBalance::from(5000); SubtensorModule::increase_total_stake(initial_total_stake); SubtensorModule::decrease_total_stake(decrement); @@ -1603,7 +1601,7 @@ fn test_non_existent_account() { // No subnets => no iteration => zero total stake assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&(U256::from(0))), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -1689,7 +1687,7 @@ fn test_clear_small_nominations() { )); let alpha_stake1 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hot1, &cold1, netuid); - let unstake_amount1 = AlphaCurrency::from(alpha_stake1.to_u64() * 997 / 1000); + let unstake_amount1 = AlphaBalance::from(alpha_stake1.to_u64() * 997 / 1000); let small1 = alpha_stake1 - unstake_amount1; remove_stake_rate_limit_for_tests(&hot1, &cold1, netuid); assert_ok!(SubtensorModule::remove_stake( @@ -1713,7 +1711,7 @@ fn test_clear_small_nominations() { )); let alpha_stake2 = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hot1, &cold2, netuid); - let unstake_amount2 = AlphaCurrency::from(alpha_stake2.to_u64() * 997 / 1000); + let unstake_amount2 = AlphaBalance::from(alpha_stake2.to_u64() * 997 / 1000); let small2 = alpha_stake2 - unstake_amount2; remove_stake_rate_limit_for_tests(&hot1, &cold2, netuid); assert_ok!(SubtensorModule::remove_stake( @@ -1758,7 +1756,7 @@ fn test_clear_small_nominations() { ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hot1, &cold2, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Balances have been added back into accounts. @@ -2186,12 +2184,12 @@ fn test_get_total_delegated_stake_after_unstaking() { assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&delegator), (initial_stake - u64::from(existential_deposit) - fee).into(), - epsilon = TaoCurrency::from(initial_stake / 100), + epsilon = TaoBalance::from(initial_stake / 100), ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&delegate_hotkey), (initial_stake - u64::from(existential_deposit) - fee).into(), - epsilon = TaoCurrency::from(initial_stake / 100), + epsilon = TaoBalance::from(initial_stake / 100), ); let delegated_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &delegate_hotkey, @@ -2231,12 +2229,12 @@ fn test_get_total_delegated_stake_after_unstaking() { assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&delegator), expected_delegated_stake.into(), - epsilon = TaoCurrency::from(expected_delegated_stake / 1000), + epsilon = TaoBalance::from(expected_delegated_stake / 1000), ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&delegate_hotkey), expected_delegated_stake.into(), - epsilon = TaoCurrency::from(expected_delegated_stake / 1000), + epsilon = TaoBalance::from(expected_delegated_stake / 1000), ); }); } @@ -2254,7 +2252,7 @@ fn test_get_total_delegated_stake_no_delegations() { // Check that there's no delegated stake assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&delegate), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -2308,12 +2306,12 @@ fn test_get_total_delegated_stake_single_delegator() { assert_abs_diff_eq!( actual_delegated_stake, expected_delegated_stake.into(), - epsilon = TaoCurrency::from(expected_delegated_stake / 100), + epsilon = TaoBalance::from(expected_delegated_stake / 100), ); assert_abs_diff_eq!( actual_delegator_stake, expected_delegated_stake.into(), - epsilon = TaoCurrency::from(expected_delegated_stake / 100), + epsilon = TaoBalance::from(expected_delegated_stake / 100), ); }); } @@ -2327,7 +2325,7 @@ fn test_get_alpha_share_stake_multiple_delegators() { let hotkey2 = U256::from(20); let coldkey1 = U256::from(3); let coldkey2 = U256::from(4); - let existential_deposit = TaoCurrency::from(2); + let existential_deposit = TaoBalance::from(2); let stake1 = DefaultMinStake::::get() * 10.into(); let stake2 = DefaultMinStake::::get() * 10.into() - 1.into(); @@ -2367,7 +2365,7 @@ fn test_get_alpha_share_stake_multiple_delegators() { // Total subnet stake should match the sum of delegators' stakes minus existential deposits. assert_abs_diff_eq!( - AlphaCurrency::from(actual_total_stake), + AlphaBalance::from(actual_total_stake), expected_total_stake, epsilon = expected_total_stake / 1000.into() ); @@ -2412,7 +2410,7 @@ fn test_get_total_delegated_stake_exclude_owner_stake() { assert_abs_diff_eq!( actual_delegated_stake, expected_delegated_stake.into(), - epsilon = TaoCurrency::from(expected_delegated_stake / 100) + epsilon = TaoBalance::from(expected_delegated_stake / 100) ); }); } @@ -2430,7 +2428,7 @@ fn test_mining_emission_distribution_validator_valiminer_miner() { let miner_hotkey = U256::from(6); let netuid = NetUid::from(1); let subnet_tempo = 10; - let stake = TaoCurrency::from(100_000_000_000_u64); + let stake = TaoBalance::from(100_000_000_000_u64); // Add network, register hotkeys, and setup network parameters add_network(netuid, subnet_tempo, 0); @@ -2577,7 +2575,7 @@ fn test_add_stake_fee_goes_to_subnet_tao() { )); // Calculate expected stake - let expected_alpha = AlphaCurrency::from((tao_to_stake - existential_deposit).to_u64()); + let expected_alpha = AlphaBalance::from((tao_to_stake - existential_deposit).to_u64()); let actual_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); let subnet_tao_after = SubnetTAO::::get(netuid); @@ -2659,8 +2657,8 @@ fn test_remove_stake_fee_realistic_values() { let subnet_owner_hotkey = U256::from(1002); let hotkey = U256::from(2); let coldkey = U256::from(3); - let alpha_to_unstake = AlphaCurrency::from(111_180_000_000_u64); - let alpha_divs = AlphaCurrency::from(2_816_190); + let alpha_to_unstake = AlphaBalance::from(111_180_000_000_u64); + let alpha_divs = AlphaBalance::from(2_816_190); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); SubtensorModule::create_account_if_non_existent(&coldkey, &hotkey); @@ -2757,31 +2755,31 @@ fn test_max_amount_add_root() { new_test_ext(0).execute_with(|| { // 0 price on root => max is 0 assert_eq!( - SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoCurrency::ZERO), + SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoBalance::ZERO), Err(Error::::ZeroMaxStakeAmount.into()) ); // 0.999999... price on root => max is 0 assert_eq!( - SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoCurrency::from(999_999_999)), + SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoBalance::from(999_999_999)), Err(Error::::ZeroMaxStakeAmount.into()) ); // 1.0 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoCurrency::from(1_000_000_000)), + SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoBalance::from(1_000_000_000)), Ok(u64::MAX) ); // 1.000...001 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoCurrency::from(1_000_000_001)), + SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoBalance::from(1_000_000_001)), Ok(u64::MAX) ); // 2.0 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoCurrency::from(2_000_000_000)), + SubtensorModule::get_max_amount_add(NetUid::ROOT, TaoBalance::from(2_000_000_000)), Ok(u64::MAX) ); }); @@ -2795,31 +2793,31 @@ fn test_max_amount_add_stable() { // 0 price => max is 0 assert_eq!( - SubtensorModule::get_max_amount_add(netuid, TaoCurrency::ZERO), + SubtensorModule::get_max_amount_add(netuid, TaoBalance::ZERO), Err(Error::::ZeroMaxStakeAmount.into()) ); // 0.999999... price => max is 0 assert_eq!( - SubtensorModule::get_max_amount_add(netuid, TaoCurrency::from(999_999_999)), + SubtensorModule::get_max_amount_add(netuid, TaoBalance::from(999_999_999)), Err(Error::::ZeroMaxStakeAmount.into()) ); // 1.0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(netuid, TaoCurrency::from(1_000_000_000)), + SubtensorModule::get_max_amount_add(netuid, TaoBalance::from(1_000_000_000)), Ok(u64::MAX) ); // 1.000...001 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(netuid, TaoCurrency::from(1_000_000_001)), + SubtensorModule::get_max_amount_add(netuid, TaoBalance::from(1_000_000_001)), Ok(u64::MAX) ); // 2.0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_add(netuid, TaoCurrency::from(2_000_000_000)), + SubtensorModule::get_max_amount_add(netuid, TaoBalance::from(2_000_000_000)), Ok(u64::MAX) ); }); @@ -2900,19 +2898,19 @@ fn test_max_amount_add_dynamic() { .into_iter() .for_each(|(tao_in, alpha_in, limit_price, expected_max_swappable)| { new_test_ext(0).execute_with(|| { - let alpha_in = AlphaCurrency::from(alpha_in); + let alpha_in = AlphaBalance::from(alpha_in); let subnet_owner_coldkey = U256::from(1001); let subnet_owner_hotkey = U256::from(1002); let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); // Forse-set alpha in and tao reserve to achieve relative price of subnets - SubnetTAO::::insert(netuid, TaoCurrency::from(tao_in)); + SubnetTAO::::insert(netuid, TaoBalance::from(tao_in)); SubnetAlphaIn::::insert(netuid, alpha_in); // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -2948,37 +2946,37 @@ fn test_max_amount_remove_root() { new_test_ext(0).execute_with(|| { // 0 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // 0.5 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::from(500_000_000)), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::from(500_000_000)), + Ok(AlphaBalance::MAX) ); // 0.999999... price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::from(999_999_999)), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::from(999_999_999)), + Ok(AlphaBalance::MAX) ); // 1.0 price on root => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::from(1_000_000_000)), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::from(1_000_000_000)), + Ok(AlphaBalance::MAX) ); // 1.000...001 price on root => max is 0 assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::from(1_000_000_001)), + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::from(1_000_000_001)), Err(Error::::ZeroMaxStakeAmount.into()) ); // 2.0 price on root => max is 0 assert_eq!( - SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoCurrency::from(2_000_000_000)), + SubtensorModule::get_max_amount_remove(NetUid::ROOT, TaoBalance::from(2_000_000_000)), Err(Error::::ZeroMaxStakeAmount.into()) ); }); @@ -2992,31 +2990,31 @@ fn test_max_amount_remove_stable() { // 0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(netuid, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(netuid, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // 0.999999... price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(netuid, TaoCurrency::from(999_999_999)), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(netuid, TaoBalance::from(999_999_999)), + Ok(AlphaBalance::MAX) ); // 1.0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_remove(netuid, TaoCurrency::from(1_000_000_000)), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_remove(netuid, TaoBalance::from(1_000_000_000)), + Ok(AlphaBalance::MAX) ); // 1.000...001 price => max is 0 assert_eq!( - SubtensorModule::get_max_amount_remove(netuid, TaoCurrency::from(1_000_000_001)), + SubtensorModule::get_max_amount_remove(netuid, TaoBalance::from(1_000_000_001)), Err(Error::::ZeroMaxStakeAmount.into()) ); // 2.0 price => max is 0 assert_eq!( - SubtensorModule::get_max_amount_remove(netuid, TaoCurrency::from(2_000_000_000)), + SubtensorModule::get_max_amount_remove(netuid, TaoBalance::from(2_000_000_000)), Err(Error::::ZeroMaxStakeAmount.into()) ); }); @@ -3137,9 +3135,9 @@ fn test_max_amount_remove_dynamic() { ] .into_iter() .for_each(|(tao_in, alpha_in, limit_price, expected_max_swappable)| { - let alpha_in = AlphaCurrency::from(alpha_in); + let alpha_in = AlphaBalance::from(alpha_in); // Forse-set alpha in and tao reserve to achieve relative price of subnets - SubnetTAO::::insert(netuid, TaoCurrency::from(tao_in)); + SubnetTAO::::insert(netuid, TaoBalance::from(tao_in)); SubnetAlphaIn::::insert(netuid, alpha_in); if !alpha_in.is_zero() { @@ -3156,7 +3154,7 @@ fn test_max_amount_remove_dynamic() { DispatchError::from(e) ), Ok(v) => { - let v = AlphaCurrency::from(v); + let v = AlphaBalance::from(v); assert_abs_diff_eq!( SubtensorModule::get_max_amount_remove(netuid, limit_price.into()).unwrap(), v, @@ -3174,8 +3172,8 @@ fn test_max_amount_move_root_root() { new_test_ext(0).execute_with(|| { // 0 price on (root, root) exchange => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_move(NetUid::ROOT, NetUid::ROOT, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_move(NetUid::ROOT, NetUid::ROOT, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // 0.5 price on (root, root) => max is u64::MAX @@ -3183,9 +3181,9 @@ fn test_max_amount_move_root_root() { SubtensorModule::get_max_amount_move( NetUid::ROOT, NetUid::ROOT, - TaoCurrency::from(500_000_000) + TaoBalance::from(500_000_000) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 0.999999... price on (root, root) => max is u64::MAX @@ -3193,9 +3191,9 @@ fn test_max_amount_move_root_root() { SubtensorModule::get_max_amount_move( NetUid::ROOT, NetUid::ROOT, - TaoCurrency::from(999_999_999) + TaoBalance::from(999_999_999) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 1.0 price on (root, root) => max is u64::MAX @@ -3203,9 +3201,9 @@ fn test_max_amount_move_root_root() { SubtensorModule::get_max_amount_move( NetUid::ROOT, NetUid::ROOT, - TaoCurrency::from(1_000_000_000) + TaoBalance::from(1_000_000_000) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 1.000...001 price on (root, root) => max is 0 @@ -3213,7 +3211,7 @@ fn test_max_amount_move_root_root() { SubtensorModule::get_max_amount_move( NetUid::ROOT, NetUid::ROOT, - TaoCurrency::from(1_000_000_001) + TaoBalance::from(1_000_000_001) ), Err(Error::::ZeroMaxStakeAmount.into()) ); @@ -3223,7 +3221,7 @@ fn test_max_amount_move_root_root() { SubtensorModule::get_max_amount_move( NetUid::ROOT, NetUid::ROOT, - TaoCurrency::from(2_000_000_000) + TaoBalance::from(2_000_000_000) ), Err(Error::::ZeroMaxStakeAmount.into()) ); @@ -3239,8 +3237,8 @@ fn test_max_amount_move_root_stable() { // 0 price on (root, stable) exchange => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_move(NetUid::ROOT, netuid, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_move(NetUid::ROOT, netuid, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // 0.5 price on (root, stable) => max is u64::MAX @@ -3248,9 +3246,9 @@ fn test_max_amount_move_root_stable() { SubtensorModule::get_max_amount_move( NetUid::ROOT, netuid, - TaoCurrency::from(500_000_000) + TaoBalance::from(500_000_000) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 0.999999... price on (root, stable) => max is u64::MAX @@ -3258,9 +3256,9 @@ fn test_max_amount_move_root_stable() { SubtensorModule::get_max_amount_move( NetUid::ROOT, netuid, - TaoCurrency::from(999_999_999) + TaoBalance::from(999_999_999) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 1.0 price on (root, stable) => max is u64::MAX @@ -3268,9 +3266,9 @@ fn test_max_amount_move_root_stable() { SubtensorModule::get_max_amount_move( NetUid::ROOT, netuid, - TaoCurrency::from(1_000_000_000) + TaoBalance::from(1_000_000_000) ), - Ok(AlphaCurrency::MAX) + Ok(AlphaBalance::MAX) ); // 1.000...001 price on (root, stable) => max is 0 @@ -3278,7 +3276,7 @@ fn test_max_amount_move_root_stable() { SubtensorModule::get_max_amount_move( NetUid::ROOT, netuid, - TaoCurrency::from(1_000_000_001) + TaoBalance::from(1_000_000_001) ), Err(Error::::ZeroMaxStakeAmount.into()) ); @@ -3288,7 +3286,7 @@ fn test_max_amount_move_root_stable() { SubtensorModule::get_max_amount_move( NetUid::ROOT, netuid, - TaoCurrency::from(2_000_000_000) + TaoBalance::from(2_000_000_000) ), Err(Error::::ZeroMaxStakeAmount.into()) ); @@ -3309,8 +3307,8 @@ fn test_max_amount_move_stable_dynamic() { let dynamic_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); // Force-set alpha in and tao reserve to make price equal 0.5 - let tao_reserve = TaoCurrency::from(50_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(50_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(dynamic_netuid, tao_reserve); SubnetAlphaIn::::insert(dynamic_netuid, alpha_in); let current_price = @@ -3321,8 +3319,8 @@ fn test_max_amount_move_stable_dynamic() { // 0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_move(stable_netuid, dynamic_netuid, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_move(stable_netuid, dynamic_netuid, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // 2.0 price => max is 0 @@ -3330,7 +3328,7 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::from(2_000_000_000) + TaoBalance::from(2_000_000_000) ), Err(Error::::ZeroMaxStakeAmount.into()) ); @@ -3340,7 +3338,7 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::from(3_000_000_000_u64) + TaoBalance::from(3_000_000_000_u64) ), Err(pallet_subtensor_swap::Error::::PriceLimitExceeded.into()) ); @@ -3350,13 +3348,11 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::from(500_000_000) + TaoBalance::from(500_000_000) ) .unwrap(), - AlphaCurrency::from( - tao_reserve.to_u64() + (tao_reserve.to_u64() as f64 * 0.003) as u64 - ), - epsilon = AlphaCurrency::from(tao_reserve.to_u64() / 100), + AlphaBalance::from(tao_reserve.to_u64() + (tao_reserve.to_u64() as f64 * 0.003) as u64), + epsilon = AlphaBalance::from(tao_reserve.to_u64() / 100), ); // Precision test: @@ -3365,22 +3361,22 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::from(1_999_999_000) + TaoBalance::from(1_999_999_000) ) .unwrap() - > AlphaCurrency::ZERO + > AlphaBalance::ZERO ); // Max price doesn't panic and returns something meaningful assert_eq!( - SubtensorModule::get_max_amount_move(stable_netuid, dynamic_netuid, TaoCurrency::MAX), + SubtensorModule::get_max_amount_move(stable_netuid, dynamic_netuid, TaoBalance::MAX), Err(pallet_subtensor_swap::Error::::PriceLimitExceeded.into()) ); assert_eq!( SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::MAX - 1.into() + TaoBalance::MAX - 1.into() ), Err(pallet_subtensor_swap::Error::::PriceLimitExceeded.into()) ); @@ -3388,7 +3384,7 @@ fn test_max_amount_move_stable_dynamic() { SubtensorModule::get_max_amount_move( stable_netuid, dynamic_netuid, - TaoCurrency::MAX / 2.into() + TaoBalance::MAX / 2.into() ), Err(pallet_subtensor_swap::Error::::PriceLimitExceeded.into()) ); @@ -3409,8 +3405,8 @@ fn test_max_amount_move_dynamic_stable() { let dynamic_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(dynamic_netuid, tao_reserve); SubnetAlphaIn::::insert(dynamic_netuid, alpha_in); let current_price = @@ -3421,22 +3417,22 @@ fn test_max_amount_move_dynamic_stable() { // 0 price => max is u64::MAX assert_eq!( - SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, TaoCurrency::ZERO), - Ok(AlphaCurrency::MAX) + SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, TaoBalance::ZERO), + Ok(AlphaBalance::MAX) ); // Low price values don't blow things up assert!( SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, 1.into()).unwrap() - > AlphaCurrency::ZERO + > AlphaBalance::ZERO ); assert!( SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, 2.into()).unwrap() - > AlphaCurrency::ZERO + > AlphaBalance::ZERO ); assert!( SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, 3.into()).unwrap() - > AlphaCurrency::ZERO + > AlphaBalance::ZERO ); // 1.5000...1 price => max is 0 @@ -3456,8 +3452,8 @@ fn test_max_amount_move_dynamic_stable() { stable_netuid, 1_500_000_000.into() ) - .unwrap_or(AlphaCurrency::ZERO), - AlphaCurrency::ZERO, + .unwrap_or(AlphaBalance::ZERO), + AlphaBalance::ZERO, epsilon = 10_000.into() ); @@ -3478,31 +3474,31 @@ fn test_max_amount_move_dynamic_stable() { 1_499_999_999.into() ) .unwrap() - > AlphaCurrency::ZERO + > AlphaBalance::ZERO ); // Max price doesn't panic and returns something meaningful assert!( - SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, TaoCurrency::MAX) - .unwrap_or(AlphaCurrency::ZERO) + SubtensorModule::get_max_amount_move(dynamic_netuid, stable_netuid, TaoBalance::MAX) + .unwrap_or(AlphaBalance::ZERO) < 21_000_000_000_000_000_u64.into() ); assert!( SubtensorModule::get_max_amount_move( dynamic_netuid, stable_netuid, - TaoCurrency::MAX - 1.into() + TaoBalance::MAX - 1.into() ) - .unwrap_or(AlphaCurrency::ZERO) + .unwrap_or(AlphaBalance::ZERO) < 21_000_000_000_000_000_u64.into() ); assert!( SubtensorModule::get_max_amount_move( dynamic_netuid, stable_netuid, - TaoCurrency::MAX / 2.into() + TaoBalance::MAX / 2.into() ) - .unwrap_or(AlphaCurrency::ZERO) + .unwrap_or(AlphaBalance::ZERO) < 21_000_000_000_000_000_u64.into() ); }); @@ -3710,13 +3706,13 @@ fn test_max_amount_move_dynamic_dynamic() { expected_max_swappable, precision, )| { - let alpha_in_1 = AlphaCurrency::from(alpha_in_1); - let alpha_in_2 = AlphaCurrency::from(alpha_in_2); - let expected_max_swappable = AlphaCurrency::from(expected_max_swappable); + let alpha_in_1 = AlphaBalance::from(alpha_in_1); + let alpha_in_2 = AlphaBalance::from(alpha_in_2); + let expected_max_swappable = AlphaBalance::from(expected_max_swappable); // Forse-set alpha in and tao reserve to achieve relative price of subnets - SubnetTAO::::insert(origin_netuid, TaoCurrency::from(tao_in_1)); + SubnetTAO::::insert(origin_netuid, TaoBalance::from(tao_in_1)); SubnetAlphaIn::::insert(origin_netuid, alpha_in_1); - SubnetTAO::::insert(destination_netuid, TaoCurrency::from(tao_in_2)); + SubnetTAO::::insert(destination_netuid, TaoBalance::from(tao_in_2)); SubnetAlphaIn::::insert(destination_netuid, alpha_in_2); if !alpha_in_1.is_zero() && !alpha_in_2.is_zero() { @@ -3743,7 +3739,7 @@ fn test_max_amount_move_dynamic_dynamic() { destination_netuid, limit_price.into() ) - .unwrap_or(AlphaCurrency::ZERO), + .unwrap_or(AlphaBalance::ZERO), expected_max_swappable, epsilon = precision.into() ); @@ -3763,8 +3759,8 @@ fn test_add_stake_limit_ok() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()); @@ -3776,8 +3772,8 @@ fn test_add_stake_limit_ok() { // Setup limit price so that it doesn't peak above 4x of current price // The amount that can be executed at this price is 450 TAO only // Alpha produced will be equal to 75 = 450*100/(450+150) - let limit_price = TaoCurrency::from(24_000_000_000_u64); - let expected_executed_stake = AlphaCurrency::from(75_000_000_000_u64); + let limit_price = TaoBalance::from(24_000_000_000_u64); + let expected_executed_stake = AlphaBalance::from(75_000_000_000_u64); // Add stake with slippage safety and check if the result is ok assert_ok!(SubtensorModule::add_stake_limit( @@ -3803,7 +3799,7 @@ fn test_add_stake_limit_ok() { // Check that 450 TAO less fees balance still remains free on coldkey let fee = ::SwapInterface::approx_fee_amount( netuid.into(), - TaoCurrency::from(amount / 2), + TaoBalance::from(amount / 2), ) .to_u64() as f64; assert_abs_diff_eq!( @@ -3835,8 +3831,8 @@ fn test_add_stake_limit_fill_or_kill() { let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); // Force-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -3851,7 +3847,7 @@ fn test_add_stake_limit_fill_or_kill() { // Setup limit price so that it doesn't peak above 4x of current price // The amount that can be executed at this price is 450 TAO only // Alpha produced will be equal to 25 = 100 - 450*100/(150+450) - let limit_price = TaoCurrency::from(24_000_000_000_u64); + let limit_price = TaoBalance::from(24_000_000_000_u64); // Add stake with slippage safety and check if it fails assert_noop!( @@ -3867,7 +3863,7 @@ fn test_add_stake_limit_fill_or_kill() { ); // Lower the amount and it should succeed now - let amount_ok = TaoCurrency::from(450_000_000_000_u64); // fits the maximum + let amount_ok = TaoBalance::from(450_000_000_000_u64); // fits the maximum assert_ok!(SubtensorModule::add_stake_limit( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, @@ -3888,9 +3884,9 @@ fn test_add_stake_limit_partial_zero_max_stake_amount_error() { // Exact values from the error: // https://taostats.io/extrinsic/5338471-0009?network=finney let amount = 19980000000_u64; - let limit_price = TaoCurrency::from(26953618); - let tao_reserve = TaoCurrency::from(5_032_494_439_940_u64); - let alpha_in = AlphaCurrency::from(186_268_425_402_874_u64); + let limit_price = TaoBalance::from(26953618); + let tao_reserve = TaoBalance::from(5_032_494_439_940_u64); + let alpha_in = AlphaBalance::from(186_268_425_402_874_u64); let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); SubnetTAO::::insert(netuid, tao_reserve); @@ -3917,7 +3913,7 @@ fn test_remove_stake_limit_ok() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); - let stake_amount = TaoCurrency::from(300_000_000_000_u64); + let stake_amount = TaoBalance::from(300_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -3927,8 +3923,8 @@ fn test_remove_stake_limit_ok() { ); // Forse-set sufficient reserves - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -3973,8 +3969,8 @@ fn test_remove_stake_limit_ok() { // Check if stake has decreased properly assert_abs_diff_eq!( alpha_before - alpha_after, - AlphaCurrency::from(expected_alpha_reduction + fee), - epsilon = AlphaCurrency::from(expected_alpha_reduction / 10), + AlphaBalance::from(expected_alpha_reduction + fee), + epsilon = AlphaBalance::from(expected_alpha_reduction / 10), ); }); } @@ -3984,8 +3980,8 @@ fn test_remove_stake_limit_fill_or_kill() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(533453); let coldkey_account_id = U256::from(55453); - let stake_amount = AlphaCurrency::from(300_000_000_000_u64); - let unstake_amount = AlphaCurrency::from(150_000_000_000_u64); + let stake_amount = AlphaBalance::from(300_000_000_000_u64); + let unstake_amount = AlphaBalance::from(150_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -3999,8 +3995,8 @@ fn test_remove_stake_limit_fill_or_kill() { ); // Forse-set alpha in and tao reserve to make price equal 1.5 - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); let current_price = @@ -4008,7 +4004,7 @@ fn test_remove_stake_limit_fill_or_kill() { assert_eq!(current_price, U96F32::from_num(1.5)); // Setup limit price so that it doesn't drop by more than 10% from current price - let limit_price = TaoCurrency::from(1_350_000_000); + let limit_price = TaoBalance::from(1_350_000_000); // Remove stake with slippage safety - fails assert_noop!( @@ -4047,12 +4043,12 @@ fn test_add_stake_specific_stake_into_subnet_fail() { let existing_shares: U64F64 = U64F64::from_num(161_986_254).saturating_div(U64F64::from_num(u64::MAX)); - let existing_stake = AlphaCurrency::from(36_711_495_953_u64); + let existing_stake = AlphaBalance::from(36_711_495_953_u64); - let tao_in = TaoCurrency::from(2_409_892_148_947_u64); - let alpha_in = AlphaCurrency::from(15_358_708_513_716_u64); + let tao_in = TaoBalance::from(2_409_892_148_947_u64); + let alpha_in = AlphaBalance::from(15_358_708_513_716_u64); - let tao_staked = TaoCurrency::from(200_000_000); + let tao_staked = TaoBalance::from(200_000_000); //add network let netuid = add_dynamic_network(&sn_owner_coldkey, &sn_owner_coldkey); @@ -4062,7 +4058,7 @@ fn test_add_stake_specific_stake_into_subnet_fail() { // Check we have zero staked assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Set a hotkey pool for the hotkey @@ -4105,7 +4101,7 @@ fn test_add_stake_specific_stake_into_subnet_fail() { )); // Check we have non-zero staked - assert!(expected_alpha > AlphaCurrency::ZERO); + assert!(expected_alpha > AlphaBalance::ZERO); assert_abs_diff_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, @@ -4148,7 +4144,7 @@ fn test_remove_99_9991_per_cent_stake_removes_all() { netuid, ); remove_stake_rate_limit_for_tests(&hotkey_account_id, &coldkey_account_id, netuid); - let remove_amount = AlphaCurrency::from( + let remove_amount = AlphaBalance::from( (U64F64::from_num(alpha) * U64F64::from_num(0.999991)).to_num::(), ); // we expected the entire stake to be returned @@ -4168,7 +4164,7 @@ fn test_remove_99_9991_per_cent_stake_removes_all() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&hotkey_account_id), - TaoCurrency::ZERO + TaoBalance::ZERO ); let new_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey_account_id, @@ -4240,7 +4236,7 @@ fn test_remove_99_9989_per_cent_stake_leaves_a_little() { ); assert_abs_diff_eq!( new_alpha, - AlphaCurrency::from((alpha.to_u64() as f64 * 0.01) as u64), + AlphaBalance::from((alpha.to_u64() as f64 * 0.01) as u64), epsilon = 10.into() ); }); @@ -4253,8 +4249,8 @@ fn test_move_stake_limit_partial() { let subnet_owner_hotkey = U256::from(1002); let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = AlphaCurrency::from(150_000_000_000_u64); - let move_amount = AlphaCurrency::from(150_000_000_000_u64); + let stake_amount = AlphaBalance::from(150_000_000_000_u64); + let move_amount = AlphaBalance::from(150_000_000_000_u64); // add network let origin_netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); @@ -4272,8 +4268,8 @@ fn test_move_stake_limit_partial() { // Forse-set alpha in and tao reserve to make price equal 1.5 on both origin and destination, // but there's much more liquidity on destination, so its price wouldn't go up when restaked - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(origin_netuid, tao_reserve); SubnetAlphaIn::::insert(origin_netuid, alpha_in); SubnetTAO::::insert(destination_netuid, tao_reserve * 100_000.into()); @@ -4284,7 +4280,7 @@ fn test_move_stake_limit_partial() { // The relative price between origin and destination subnets is 1. // Setup limit relative price so that it doesn't drop by more than 1% from current price - let limit_price = TaoCurrency::from(990_000_000); + let limit_price = TaoBalance::from(990_000_000); // Move stake with slippage safety - executes partially assert_ok!(SubtensorModule::swap_stake_limit( @@ -4305,7 +4301,7 @@ fn test_move_stake_limit_partial() { assert_abs_diff_eq!( new_alpha, - AlphaCurrency::from(149_000_000_000_u64), + AlphaBalance::from(149_000_000_000_u64), epsilon = 100_000_000.into() ); }); @@ -4320,7 +4316,7 @@ fn test_unstake_all_hits_liquidity_min() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = AlphaCurrency::from(190_000_000_000_u64); // 190 Alpha + let stake_amount = AlphaBalance::from(190_000_000_000_u64); // 190 Alpha let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4333,8 +4329,8 @@ fn test_unstake_all_hits_liquidity_min() { ); // Setup the Alpha pool so that removing all the Alpha will bring liqudity below the minimum - let remaining_tao = TaoCurrency::from(u64::from(mock::SwapMinimumReserve::get()) - 1); - let alpha_reserves = AlphaCurrency::from(stake_amount.to_u64() + 10_000_000); + let remaining_tao = TaoBalance::from(u64::from(mock::SwapMinimumReserve::get()) - 1); + let alpha_reserves = AlphaBalance::from(stake_amount.to_u64() + 10_000_000); mock::setup_reserves(netuid, remaining_tao, alpha_reserves); // Try to unstake, but we reduce liquidity too far @@ -4347,7 +4343,7 @@ fn test_unstake_all_hits_liquidity_min() { // Expect nothing to be unstaked let new_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); - assert_abs_diff_eq!(new_alpha, stake_amount, epsilon = AlphaCurrency::ZERO); + assert_abs_diff_eq!(new_alpha, stake_amount, epsilon = AlphaBalance::ZERO); }); } @@ -4359,7 +4355,7 @@ fn test_unstake_all_alpha_hits_liquidity_min() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = TaoCurrency::from(100_000_000_000_u64); // 100 TAO + let stake_amount = TaoBalance::from(100_000_000_000_u64); // 100 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4414,7 +4410,7 @@ fn test_unstake_all_alpha_works() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = TaoCurrency::from(190_000_000_000_u64); // 190 TAO + let stake_amount = TaoBalance::from(190_000_000_000_u64); // 190 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4448,7 +4444,7 @@ fn test_unstake_all_alpha_works() { let new_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); - assert_abs_diff_eq!(new_alpha, AlphaCurrency::ZERO, epsilon = 1_000.into()); + assert_abs_diff_eq!(new_alpha, AlphaBalance::ZERO, epsilon = 1_000.into()); let new_root = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &hotkey, &coldkey, @@ -4466,7 +4462,7 @@ fn test_unstake_all_works() { let coldkey = U256::from(1); let hotkey = U256::from(2); - let stake_amount = TaoCurrency::from(190_000_000_000_u64); // 190 TAO + let stake_amount = TaoBalance::from(190_000_000_000_u64); // 190 TAO let netuid = add_dynamic_network(&subnet_owner_hotkey, &subnet_owner_coldkey); register_ok_neuron(netuid, hotkey, coldkey, 192213123); @@ -4499,7 +4495,7 @@ fn test_unstake_all_works() { let new_alpha = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid); - assert_abs_diff_eq!(new_alpha, AlphaCurrency::ZERO, epsilon = 1_000.into()); + assert_abs_diff_eq!(new_alpha, AlphaBalance::ZERO, epsilon = 1_000.into()); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey); assert!(new_balance > 100_000.into()); }); @@ -4518,8 +4514,8 @@ fn test_stake_into_subnet_ok() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()) @@ -4530,7 +4526,7 @@ fn test_stake_into_subnet_ok() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4541,7 +4537,7 @@ fn test_stake_into_subnet_ok() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); @@ -4572,8 +4568,8 @@ fn test_stake_into_subnet_low_amount() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price = ::SwapInterface::current_alpha_price(netuid.into()) @@ -4584,7 +4580,7 @@ fn test_stake_into_subnet_low_amount() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4595,11 +4591,11 @@ fn test_stake_into_subnet_low_amount() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); - let expected_stake = AlphaCurrency::from(((amount as f64) * 0.997 / current_price) as u64); + let expected_stake = AlphaBalance::from(((amount as f64) * 0.997 / current_price) as u64); // Check if stake has increased assert_abs_diff_eq!( @@ -4623,8 +4619,8 @@ fn test_unstake_from_subnet_low_amount() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4632,7 +4628,7 @@ fn test_unstake_from_subnet_low_amount() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4643,7 +4639,7 @@ fn test_unstake_from_subnet_low_amount() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); @@ -4656,14 +4652,14 @@ fn test_unstake_from_subnet_low_amount() { &coldkey, netuid, alpha, - TaoCurrency::ZERO, + TaoBalance::ZERO, false, )); // Check if stake is zero assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); }); } @@ -4681,8 +4677,8 @@ fn test_stake_into_subnet_prohibitive_limit() { SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4690,7 +4686,7 @@ fn test_stake_into_subnet_prohibitive_limit() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4703,7 +4699,7 @@ fn test_stake_into_subnet_prohibitive_limit() { owner_hotkey, netuid, amount.into(), - TaoCurrency::ZERO, + TaoBalance::ZERO, true, ), DispatchError::from(pallet_subtensor_swap::Error::::PriceLimitExceeded) @@ -4716,7 +4712,7 @@ fn test_stake_into_subnet_prohibitive_limit() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Check if balance has NOT decreased @@ -4740,8 +4736,8 @@ fn test_unstake_from_subnet_prohibitive_limit() { SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4749,7 +4745,7 @@ fn test_unstake_from_subnet_prohibitive_limit() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4760,7 +4756,7 @@ fn test_unstake_from_subnet_prohibitive_limit() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); @@ -4779,7 +4775,7 @@ fn test_unstake_from_subnet_prohibitive_limit() { owner_hotkey, netuid, alpha, - TaoCurrency::MAX, + TaoBalance::MAX, true, ), DispatchError::from(pallet_subtensor_swap::Error::::PriceLimitExceeded) @@ -4816,8 +4812,8 @@ fn test_unstake_full_amount() { SubtensorModule::add_balance_to_coldkey_account(&coldkey, amount.into()); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 @@ -4825,7 +4821,7 @@ fn test_unstake_full_amount() { assert_ok!(::SwapInterface::swap( netuid.into(), order, - TaoCurrency::MAX, + TaoBalance::MAX, false, true )); @@ -4836,7 +4832,7 @@ fn test_unstake_full_amount() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); @@ -4863,7 +4859,7 @@ fn test_unstake_full_amount() { &coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Check if balance has increased accordingly @@ -4914,7 +4910,7 @@ fn test_swap_fees_tao_correctness() { let owner_hotkey = U256::from(1); let owner_coldkey = U256::from(2); let coldkey = U256::from(4); - let amount = TaoCurrency::from(1_000_000_000_u64); + let amount = TaoBalance::from(1_000_000_000_u64); let owner_balance_before = amount * 10.into(); let user_balance_before = amount * 100.into(); @@ -4927,8 +4923,8 @@ fn test_swap_fees_tao_correctness() { pallet_subtensor_swap::EnabledUserLiquidity::::insert(NetUid::from(netuid), true); // Forse-set alpha in and tao reserve to make price equal 0.25 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(400_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(400_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Check starting "total TAO" @@ -4995,7 +4991,7 @@ fn test_swap_fees_tao_correctness() { let total_tao_after = user_balance_after + owner_balance_after + SubnetTAO::::get(netuid) - + TaoCurrency::from(fees); + + TaoBalance::from(fees); // Total TAO does not change, leave some epsilon for rounding assert_abs_diff_eq!(total_tao_before, total_tao_after, epsilon = 2.into()); @@ -5054,7 +5050,7 @@ fn test_remove_stake_full_limit_ok() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000_u64); + let stake_amount = AlphaBalance::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5067,12 +5063,12 @@ fn test_remove_stake_full_limit_ok() { stake_amount, ); - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); - let limit_price = TaoCurrency::from(90_000_000); + let limit_price = TaoBalance::from(90_000_000); // Remove stake with slippage safety assert_ok!(SubtensorModule::remove_stake_full_limit( @@ -5089,7 +5085,7 @@ fn test_remove_stake_full_limit_ok() { &coldkey_account_id, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); @@ -5106,7 +5102,7 @@ fn test_remove_stake_full_limit_fails_slippage_too_high() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000_u64); + let stake_amount = AlphaBalance::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5119,12 +5115,12 @@ fn test_remove_stake_full_limit_fails_slippage_too_high() { stake_amount, ); - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); - let invalid_limit_price = TaoCurrency::from(910_000_000_u64); + let invalid_limit_price = TaoBalance::from(910_000_000_u64); // Remove stake with slippage safety assert_err!( @@ -5144,7 +5140,7 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { new_test_ext(1).execute_with(|| { let hotkey_account_id = U256::from(1); let coldkey_account_id = U256::from(2); - let stake_amount = AlphaCurrency::from(10_000_000_000_u64); + let stake_amount = AlphaBalance::from(10_000_000_000_u64); // add network let netuid = add_dynamic_network(&hotkey_account_id, &coldkey_account_id); @@ -5157,8 +5153,8 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { stake_amount, ); - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -5177,7 +5173,7 @@ fn test_remove_stake_full_limit_ok_with_no_limit_price() { &coldkey_account_id, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); let new_balance = SubtensorModule::get_coldkey_balance(&coldkey_account_id); @@ -5211,8 +5207,8 @@ fn test_default_min_stake_sufficiency() { // Set some extreme, but realistic TAO and Alpha reserves to minimize slippage // 1% of TAO max supply // 0.01 Alpha price - let tao_reserve = TaoCurrency::from(210_000_000_000_000_u64); - let alpha_in = AlphaCurrency::from(21_000_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(210_000_000_000_000_u64); + let alpha_in = AlphaBalance::from(21_000_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); let current_price_before = ::SwapInterface::current_alpha_price(netuid.into()); @@ -5261,7 +5257,7 @@ fn test_update_position_fees() { let owner_hotkey = U256::from(1); let owner_coldkey = U256::from(2); let coldkey = U256::from(4); - let amount = TaoCurrency::from(1_000_000_000_u64); + let amount = TaoBalance::from(1_000_000_000_u64); // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); @@ -5270,8 +5266,8 @@ fn test_update_position_fees() { pallet_subtensor_swap::EnabledUserLiquidity::::insert(NetUid::from(netuid), true); // Forse-set alpha in and tao reserve to make price equal 0.25 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(400_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(400_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Get alpha for owner @@ -5440,7 +5436,7 @@ fn test_large_swap() { // Force the swap to initialize SubtensorModule::swap_tao_for_alpha( netuid, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -5449,7 +5445,7 @@ fn test_large_swap() { // TODO: Revise when user liquidity is available // setup_positions(netuid.into()); - let swap_amount = TaoCurrency::from(100_000_000_000_000_u64); + let swap_amount = TaoBalance::from(100_000_000_000_000_u64); assert_ok!(SubtensorModule::add_stake( RuntimeOrigin::signed(coldkey), owner_hotkey, @@ -5489,7 +5485,7 @@ fn test_stake_rate_limits() { RuntimeOrigin::signed(cold1), hot1, netuid, - AlphaCurrency::from(amount.to_u64()) + AlphaBalance::from(amount.to_u64()) ), Error::::StakingOperationRateLimitExceeded ); @@ -5518,14 +5514,14 @@ fn test_add_root_updates_counters() { RuntimeOrigin::signed(coldkey_account_id).clone(), hotkey_account_id, )); - let stake_amount = TaoCurrency::from(1_000_000_000_u64); + let stake_amount = TaoBalance::from(1_000_000_000_u64); // Give it some $$$ in his coldkey balance let initial_balance = stake_amount + ExistentialDeposit::get(); SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, initial_balance); // Setup SubnetAlphaIn (because we are going to stake) - SubnetAlphaIn::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount.to_u64())); + SubnetAlphaIn::::insert(NetUid::ROOT, AlphaBalance::from(stake_amount.to_u64())); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::add_stake( @@ -5551,7 +5547,7 @@ fn test_add_root_updates_counters() { // SubnetAlphaOut updated assert_eq!( SubnetAlphaOut::::get(NetUid::ROOT), - AlphaCurrency::from(stake_amount.to_u64()) + AlphaBalance::from(stake_amount.to_u64()) ); // SubnetVolume updated @@ -5573,7 +5569,7 @@ fn test_remove_root_updates_counters() { RuntimeOrigin::signed(coldkey_account_id).clone(), hotkey_account_id, )); - let stake_amount = TaoCurrency::from(1_000_000_000); + let stake_amount = TaoBalance::from(1_000_000_000); // Give it some $$$ in his coldkey balance let initial_balance = stake_amount + ExistentialDeposit::get(); @@ -5584,20 +5580,20 @@ fn test_remove_root_updates_counters() { &hotkey_account_id, &coldkey_account_id, NetUid::ROOT, - AlphaCurrency::from(stake_amount.to_u64()), + AlphaBalance::from(stake_amount.to_u64()), ); // Setup TotalStake, SubnetAlphaOut and SubnetTAO (because we are going to unstake) TotalStake::::set(stake_amount); SubnetTAO::::insert(NetUid::ROOT, stake_amount); - SubnetAlphaOut::::insert(NetUid::ROOT, AlphaCurrency::from(stake_amount.to_u64())); + SubnetAlphaOut::::insert(NetUid::ROOT, AlphaBalance::from(stake_amount.to_u64())); // Stake to hotkey account, and check if the result is ok assert_ok!(SubtensorModule::remove_stake( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, NetUid::ROOT, - AlphaCurrency::from(stake_amount.to_u64()) + AlphaBalance::from(stake_amount.to_u64()) )); // Check if stake has been decreased @@ -5613,7 +5609,7 @@ fn test_remove_root_updates_counters() { // SubnetAlphaIn updated assert_eq!( SubnetAlphaIn::::get(NetUid::ROOT), - AlphaCurrency::from(stake_amount.to_u64()) + AlphaBalance::from(stake_amount.to_u64()) ); // SubnetAlphaOut updated @@ -5641,14 +5637,14 @@ fn test_staking_records_flow() { let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); // Forse-set alpha in and tao reserve to make price equal 0.01 - let tao_reserve = TaoCurrency::from(100_000_000_000_u64); - let alpha_in = AlphaCurrency::from(1_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(100_000_000_000_u64); + let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); // Initialize swap v3 SubtensorModule::swap_tao_for_alpha( netuid, - TaoCurrency::ZERO, + TaoBalance::ZERO, 1_000_000_000_000_u64.into(), false, ) @@ -5660,7 +5656,7 @@ fn test_staking_records_flow() { &coldkey, netuid, amount.into(), - TaoCurrency::MAX, + TaoBalance::MAX, false, false, )); @@ -5683,7 +5679,7 @@ fn test_staking_records_flow() { &coldkey, netuid, alpha, - TaoCurrency::ZERO, + TaoBalance::ZERO, false, )); diff --git a/pallets/subtensor/src/tests/staking2.rs b/pallets/subtensor/src/tests/staking2.rs index 2fde1a491b..7de304e80e 100644 --- a/pallets/subtensor/src/tests/staking2.rs +++ b/pallets/subtensor/src/tests/staking2.rs @@ -6,7 +6,7 @@ use frame_support::{ weights::Weight, }; use sp_core::U256; -use subtensor_runtime_common::{AlphaCurrency, Currency, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; use super::mock; @@ -18,14 +18,14 @@ use crate::*; fn test_stake_base_case() { new_test_ext(1).execute_with(|| { let netuid = NetUid::from(1); - let tao_to_swap = TaoCurrency::from(1_000_000_000); // 1 TAO + let tao_to_swap = TaoBalance::from(1_000_000_000); // 1 TAO // Set up the subnet with dynamic mechanism SubnetMechanism::::insert(netuid, 1); // Initialize subnet with some existing TAO and Alpha - let initial_subnet_tao = TaoCurrency::from(10_000_000_000_u64); // 10 TAO - let initial_subnet_alpha = AlphaCurrency::from(5_000_000_000_u64); // 5 Alpha + let initial_subnet_tao = TaoBalance::from(10_000_000_000_u64); // 10 TAO + let initial_subnet_alpha = AlphaBalance::from(5_000_000_000_u64); // 5 Alpha mock::setup_reserves(netuid, initial_subnet_tao, initial_subnet_alpha); SubnetAlphaOut::::insert(netuid, initial_subnet_alpha); @@ -34,7 +34,7 @@ fn test_stake_base_case() { // Perform swap let (alpha_expected, fee) = mock::swap_tao_to_alpha(netuid, tao_to_swap); - let alpha_received = AlphaCurrency::from( + let alpha_received = AlphaBalance::from( SubtensorModule::swap_tao_for_alpha( netuid, tao_to_swap, @@ -89,7 +89,7 @@ fn test_share_based_staking() { let netuid = NetUid::from(1); let primary_hotkey = U256::from(1); let primary_coldkey = U256::from(2); - let stake_amount = AlphaCurrency::from(1_000_000_000); // 1 Alpha stake increase + let stake_amount = AlphaBalance::from(1_000_000_000); // 1 Alpha stake increase // Test Case 1: Initial Stake // The first stake should create shares 1:1 with the staked amount @@ -324,7 +324,7 @@ fn test_share_based_staking() { &primary_hotkey, &primary_coldkey, netuid, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); let zero_stake = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( &primary_hotkey, @@ -420,8 +420,8 @@ fn test_share_based_staking_denominator_precision() { let netuid = NetUid::from(1); let hotkey1 = U256::from(1); let coldkey1 = U256::from(2); - let stake_amount = AlphaCurrency::from(test_case.0); - let unstake_amount = AlphaCurrency::from(test_case.1); + let stake_amount = AlphaBalance::from(test_case.0); + let unstake_amount = AlphaBalance::from(test_case.1); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hotkey1, @@ -450,7 +450,7 @@ fn test_share_based_staking_denominator_precision() { / (stake_amount.to_u64() as f64) <= 0.00001 { - AlphaCurrency::ZERO + AlphaBalance::ZERO } else { stake_amount - unstake_amount }; @@ -479,9 +479,9 @@ fn test_share_based_staking_stake_unstake_inject() { let hotkey1 = U256::from(1); let coldkey1 = U256::from(2); let coldkey2 = U256::from(3); - let stake_amount = AlphaCurrency::from(test_case.0); - let unstake_amount = AlphaCurrency::from(test_case.1); - let inject_amount = AlphaCurrency::from(test_case.2); + let stake_amount = AlphaBalance::from(test_case.0); + let unstake_amount = AlphaBalance::from(test_case.1); + let inject_amount = AlphaBalance::from(test_case.2); let tolerance = test_case.3; SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -551,9 +551,9 @@ fn test_share_based_staking_stake_inject_stake_new() { let hotkey1 = U256::from(1); let coldkey1 = U256::from(2); let coldkey2 = U256::from(3); - let stake_amount = AlphaCurrency::from(test_case.0); - let inject_amount = AlphaCurrency::from(test_case.1); - let stake_amount_2 = AlphaCurrency::from(test_case.2); + let stake_amount = AlphaBalance::from(test_case.0); + let inject_amount = AlphaBalance::from(test_case.1); + let stake_amount_2 = AlphaBalance::from(test_case.2); let tolerance = test_case.3; SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -661,24 +661,24 @@ fn test_stake_fee_api() { let netuid1 = NetUid::from(2); let root_netuid = NetUid::ROOT; - let alpha_divs = AlphaCurrency::from(100_000_000_000_u64); - let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000_u64); - let tao_in = TaoCurrency::from(100_000_000_000_u64); // 100 TAO + let alpha_divs = AlphaBalance::from(100_000_000_000_u64); + let total_hotkey_alpha = AlphaBalance::from(100_000_000_000_u64); + let tao_in = TaoBalance::from(100_000_000_000_u64); // 100 TAO let reciprocal_price = 2; // 1 / price let stake_amount = 100_000_000_000_u64; // Setup alpha out - SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000_u64)); - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid0, AlphaBalance::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid1, AlphaBalance::from(100_000_000_000_u64)); // Set pools using price SubnetAlphaIn::::insert( netuid0, - AlphaCurrency::from(tao_in.to_u64() * reciprocal_price), + AlphaBalance::from(tao_in.to_u64() * reciprocal_price), ); SubnetTAO::::insert(netuid0, tao_in); SubnetAlphaIn::::insert( netuid1, - AlphaCurrency::from(tao_in.to_u64() * reciprocal_price), + AlphaBalance::from(tao_in.to_u64() * reciprocal_price), ); SubnetTAO::::insert(netuid1, tao_in); @@ -700,7 +700,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_0 = ::SwapInterface::approx_fee_amount( netuid0.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_0, dynamic_fee_0); @@ -715,7 +715,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_1 = ::SwapInterface::approx_fee_amount( root_netuid.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_1, dynamic_fee_1); @@ -730,7 +730,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_2 = ::SwapInterface::approx_fee_amount( netuid0.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_2, dynamic_fee_2); @@ -745,7 +745,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_3 = ::SwapInterface::approx_fee_amount( root_netuid.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_3, dynamic_fee_3); @@ -760,7 +760,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_4 = ::SwapInterface::approx_fee_amount( root_netuid.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_4, dynamic_fee_4); @@ -775,7 +775,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_5 = ::SwapInterface::approx_fee_amount( root_netuid.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_5, dynamic_fee_5); @@ -790,7 +790,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_6 = ::SwapInterface::approx_fee_amount( netuid0.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_6, dynamic_fee_6); @@ -805,7 +805,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_7 = ::SwapInterface::approx_fee_amount( netuid0.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_7, dynamic_fee_7); @@ -820,7 +820,7 @@ fn test_stake_fee_api() { ); let dynamic_fee_8 = ::SwapInterface::approx_fee_amount( netuid1.into(), - TaoCurrency::from(stake_amount), + TaoBalance::from(stake_amount), ) .to_u64(); assert_eq!(stake_fee_8, dynamic_fee_8); @@ -840,27 +840,27 @@ fn test_stake_fee_calculation() { SubnetMechanism::::insert(netuid0, 1); SubnetMechanism::::insert(netuid1, 1); - let alpha_divs = AlphaCurrency::from(100_000_000_000_u64); - let total_hotkey_alpha = AlphaCurrency::from(100_000_000_000_u64); - let tao_in = TaoCurrency::from(100_000_000_000_u64); // 100 TAO + let alpha_divs = AlphaBalance::from(100_000_000_000_u64); + let total_hotkey_alpha = AlphaBalance::from(100_000_000_000_u64); + let tao_in = TaoBalance::from(100_000_000_000_u64); // 100 TAO let reciprocal_price = 2; // 1 / price - let stake_amount = TaoCurrency::from(100_000_000_000_u64); + let stake_amount = TaoBalance::from(100_000_000_000_u64); - let default_fee = TaoCurrency::ZERO; // FIXME: DefaultStakingFee is deprecated + let default_fee = TaoBalance::ZERO; // FIXME: DefaultStakingFee is deprecated // Setup alpha out - SubnetAlphaOut::::insert(netuid0, AlphaCurrency::from(100_000_000_000_u64)); - SubnetAlphaOut::::insert(netuid1, AlphaCurrency::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid0, AlphaBalance::from(100_000_000_000_u64)); + SubnetAlphaOut::::insert(netuid1, AlphaBalance::from(100_000_000_000_u64)); // Set pools using price mock::setup_reserves( netuid0, tao_in, - AlphaCurrency::from(tao_in.to_u64() * reciprocal_price), + AlphaBalance::from(tao_in.to_u64() * reciprocal_price), ); mock::setup_reserves( netuid1, tao_in, - AlphaCurrency::from(tao_in.to_u64() * reciprocal_price), + AlphaBalance::from(tao_in.to_u64() * reciprocal_price), ); // Setup alpha divs for hotkey1 diff --git a/pallets/subtensor/src/tests/subnet.rs b/pallets/subtensor/src/tests/subnet.rs index 73ff3a0ff3..dd5016a32f 100644 --- a/pallets/subtensor/src/tests/subnet.rs +++ b/pallets/subtensor/src/tests/subnet.rs @@ -5,7 +5,7 @@ use crate::*; use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::Config; use sp_core::U256; -use subtensor_runtime_common::{AlphaCurrency, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, TaoBalance}; use super::mock; @@ -64,7 +64,7 @@ fn test_do_start_call_fail_not_owner() { let tempo: u16 = 13; let coldkey_account_id = U256::from(0); let wrong_owner_account_id = U256::from(2); - let burn_cost = TaoCurrency::from(1000); + let burn_cost = TaoBalance::from(1000); //add network SubtensorModule::set_burn(netuid, burn_cost); add_network_without_emission_block(netuid, tempo, 0); @@ -94,7 +94,7 @@ fn test_do_start_call_can_start_now() { let netuid = NetUid::from(1); let tempo: u16 = 13; let coldkey_account_id = U256::from(0); - let burn_cost = TaoCurrency::from(1000); + let burn_cost = TaoBalance::from(1000); //add network SubtensorModule::set_burn(netuid, burn_cost); add_network_without_emission_block(netuid, tempo, 0); @@ -120,7 +120,7 @@ fn test_do_start_call_fail_for_set_again() { let tempo: u16 = 13; let coldkey_account_id = U256::from(0); let hotkey_account_id = U256::from(1); - let burn_cost = TaoCurrency::from(1000); + let burn_cost = TaoBalance::from(1000); SubtensorModule::set_burn(netuid, burn_cost); add_network_without_emission_block(netuid, tempo, 0); @@ -391,9 +391,9 @@ fn test_subtoken_enable_reject_trading_before_enable() { let hotkey_account_2_id: U256 = U256::from(3); let amount = DefaultMinStake::::get().to_u64() * 10; - let stake_bal = AlphaCurrency::from(10_000_000_000_u64); // 10 Alpha + let stake_bal = AlphaBalance::from(10_000_000_000_u64); // 10 Alpha - let limit_price = TaoCurrency::from(1_000_000_000_u64); // not important + let limit_price = TaoBalance::from(1_000_000_000_u64); // not important add_network_disable_subtoken(netuid, 10, 0); add_network_disable_subtoken(netuid2, 10, 0); @@ -402,8 +402,8 @@ fn test_subtoken_enable_reject_trading_before_enable() { assert!(!SubtokenEnabled::::get(netuid2)); // Set liq high enough to not trigger other errors - SubnetTAO::::set(netuid, TaoCurrency::from(20_000_000_000_u64)); - SubnetAlphaIn::::set(netuid, AlphaCurrency::from(20_000_000_000_u64)); + SubnetTAO::::set(netuid, TaoBalance::from(20_000_000_000_u64)); + SubnetAlphaIn::::set(netuid, AlphaBalance::from(20_000_000_000_u64)); // Register so staking *could* work register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 0); @@ -567,7 +567,7 @@ fn test_subtoken_enable_trading_ok_with_enable() { // stake big enough let stake_amount = DefaultMinStake::::get() * 10000.into(); // unstake, transfer, swap just very little - let unstake_amount = AlphaCurrency::from(DefaultMinStake::::get().to_u64() * 10); + let unstake_amount = AlphaBalance::from(DefaultMinStake::::get().to_u64() * 10); add_network(netuid, 10, 0); add_network(netuid2, 10, 0); @@ -575,8 +575,8 @@ fn test_subtoken_enable_trading_ok_with_enable() { let reserve = stake_amount.to_u64() * 1000; mock::setup_reserves(netuid, reserve.into(), reserve.into()); mock::setup_reserves(netuid2, reserve.into(), reserve.into()); - SubnetAlphaOut::::insert(netuid, AlphaCurrency::from(reserve)); - SubnetAlphaOut::::insert(netuid2, AlphaCurrency::from(reserve)); + SubnetAlphaOut::::insert(netuid, AlphaBalance::from(reserve)); + SubnetAlphaOut::::insert(netuid2, AlphaBalance::from(reserve)); // Register so staking works register_ok_neuron(netuid, hotkey_account_id, coldkey_account_id, 0); @@ -687,7 +687,7 @@ fn test_subtoken_enable_ok_for_burn_register_before_enable() { let coldkey_account_id = U256::from(2); let hotkey_account_2_id: U256 = U256::from(3); - let burn_cost = TaoCurrency::from(1000); + let burn_cost = TaoBalance::from(1000); // Set the burn cost SubtensorModule::set_burn(netuid, burn_cost); // Add the networks with subtoken disabled diff --git a/pallets/subtensor/src/tests/swap_coldkey.rs b/pallets/subtensor/src/tests/swap_coldkey.rs index 9d6db0db54..c5bdd8eb49 100644 --- a/pallets/subtensor/src/tests/swap_coldkey.rs +++ b/pallets/subtensor/src/tests/swap_coldkey.rs @@ -21,7 +21,7 @@ use sp_runtime::traits::Hash; use sp_runtime::traits::{DispatchInfoOf, DispatchTransaction, TransactionExtension}; use sp_runtime::{DispatchError, traits::TxBaseImplication}; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, Currency, SubnetInfo, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, SubnetInfo, TaoBalance, Token}; use subtensor_swap_interface::{SwapEngine, SwapHandler}; use super::mock; @@ -508,7 +508,7 @@ fn test_swap_coldkey_works_with_zero_cost() { let hotkey2 = U256::from(1002); let hotkey3 = U256::from(1003); let ed = ExistentialDeposit::get(); - let swap_cost = TaoCurrency::from(0); + let swap_cost = TaoBalance::from(0); let min_stake = DefaultMinStake::::get(); let stake1 = min_stake * 10.into(); let stake2 = min_stake * 20.into(); @@ -692,11 +692,11 @@ fn test_do_swap_coldkey_with_no_stake() { assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&old_coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&new_coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -713,7 +713,7 @@ fn test_do_swap_coldkey_with_max_values() { let other_coldkey = U256::from(7); let netuid = NetUid::from(1); let netuid2 = NetUid::from(2); - let max_stake = TaoCurrency::from(21_000_000_000_000_000_u64); // 21 Million TAO; max possible balance. + let max_stake = TaoBalance::from(21_000_000_000_000_000_u64); // 21 Million TAO; max possible balance. // Add a network add_network(netuid, 1, 0); @@ -765,21 +765,21 @@ fn test_do_swap_coldkey_with_max_values() { assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&old_coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&new_coldkey), expected_stake1.to_u64().into(), - epsilon = TaoCurrency::from(expected_stake1.to_u64()) / 1000.into() + epsilon = TaoBalance::from(expected_stake1.to_u64()) / 1000.into() ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&old_coldkey2), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&new_coldkey2), expected_stake2.to_u64().into(), - epsilon = TaoCurrency::from(expected_stake2.to_u64()) / 1000.into() + epsilon = TaoBalance::from(expected_stake2.to_u64()) / 1000.into() ); }); } @@ -795,7 +795,7 @@ fn test_do_swap_coldkey_effect_on_delegated_stake() { let new_coldkey = U256::from(2); let delegator = U256::from(3); let hotkey = U256::from(4); - let stake = TaoCurrency::from(100_000_000_000_u64); + let stake = TaoBalance::from(100_000_000_000_u64); StakingHotkeys::::insert(old_coldkey, vec![hotkey]); StakingHotkeys::::insert(delegator, vec![hotkey]); @@ -832,7 +832,7 @@ fn test_do_swap_coldkey_effect_on_delegated_stake() { ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&old_coldkey), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 500.into() ); }); @@ -936,7 +936,7 @@ fn test_swap_delegated_stake_for_coldkey() { &old_coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -944,7 +944,7 @@ fn test_swap_delegated_stake_for_coldkey() { &old_coldkey, netuid ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Verify TotalColdkeyStake @@ -954,7 +954,7 @@ fn test_swap_delegated_stake_for_coldkey() { ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&old_coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Verify TotalHotkeyStake remains unchanged @@ -1212,7 +1212,7 @@ fn test_coldkey_swap_total() { ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); // Check everything is swapped. @@ -1351,7 +1351,7 @@ fn test_do_swap_coldkey_effect_on_delegations() { ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&coldkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_coldkey(&new_coldkey), @@ -1711,7 +1711,7 @@ macro_rules! comprehensive_checks { ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&$who), - TaoCurrency::ZERO + TaoBalance::ZERO ); assert_eq!( SubtensorModule::get_total_stake_for_coldkey(&$new_coldkey), diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 957224f69c..87812a32aa 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -8,7 +8,7 @@ use frame_system::{Config, RawOrigin}; use sp_core::{Get, H160, H256, U256}; use sp_runtime::SaturatedConversion; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex, TaoBalance}; use subtensor_swap_interface::{SwapEngine, SwapHandler}; use super::mock; @@ -96,7 +96,7 @@ fn test_swap_total_hotkey_stake() { ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&new_hotkey), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 1.into(), ); @@ -111,7 +111,7 @@ fn test_swap_total_hotkey_stake() { // Verify that total hotkey stake swapped assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&old_hotkey), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 1.into(), ); assert_eq!( @@ -401,7 +401,7 @@ fn test_swap_hotkey_with_multiple_coldkeys() { let coldkey1 = U256::from(3); let coldkey2 = U256::from(4); let mut weight = Weight::zero(); - let stake = TaoCurrency::from(1_000_000_000_u64); + let stake = TaoBalance::from(1_000_000_000_u64); StakingHotkeys::::insert(coldkey1, vec![old_hotkey]); StakingHotkeys::::insert(coldkey2, vec![old_hotkey]); @@ -494,7 +494,7 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { let coldkey2 = U256::from(4); let staker5 = U256::from(5); let mut weight = Weight::zero(); - let stake = TaoCurrency::from(1_000_000_000); + let stake = TaoBalance::from(1_000_000_000); // Set up initial state StakingHotkeys::::insert(coldkey1, vec![old_hotkey]); @@ -671,7 +671,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &coldkey1, netuid1 ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -679,7 +679,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &coldkey2, netuid2 ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Check subnet membership transfer @@ -707,7 +707,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&old_hotkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -722,7 +722,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { let new_hotkey_1 = U256::from(2); let new_hotkey_2 = U256::from(4); let coldkey = U256::from(3); - let swap_cost = TaoCurrency::from(1_000_000_000u64 * 2); + let swap_cost = TaoBalance::from(1_000_000_000u64 * 2); let tx_rate_limit = 1; @@ -780,7 +780,7 @@ fn test_do_swap_hotkey_err_not_owner() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let not_owner_coldkey = U256::from(4); - let swap_cost = TaoCurrency::from(1_000_000_000u64); + let swap_cost = TaoBalance::from(1_000_000_000u64); // Setup initial state add_network(netuid, tempo, 0); @@ -869,15 +869,15 @@ fn test_swap_stake_success() { let mut weight = Weight::zero(); // Initialize staking variables for old_hotkey - TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaCurrency::from(amount)); + TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaBalance::from(amount)); TotalHotkeyAlphaLastEpoch::::insert( old_hotkey, netuid, - AlphaCurrency::from(amount * 2), + AlphaBalance::from(amount * 2), ); TotalHotkeyShares::::insert(old_hotkey, netuid, shares); Alpha::::insert((old_hotkey, coldkey, netuid), U64F64::from_num(amount)); - AlphaDividendsPerSubnet::::insert(netuid, old_hotkey, AlphaCurrency::from(amount)); + AlphaDividendsPerSubnet::::insert(netuid, old_hotkey, AlphaBalance::from(amount)); // Perform the swap SubtensorModule::perform_hotkey_swap_on_all_subnets( @@ -890,7 +890,7 @@ fn test_swap_stake_success() { // Verify the swap assert_eq!( TotalHotkeyAlpha::::get(old_hotkey, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlpha::::get(new_hotkey, netuid), @@ -898,11 +898,11 @@ fn test_swap_stake_success() { ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(old_hotkey, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(new_hotkey, netuid), - AlphaCurrency::from(amount * 2) + AlphaBalance::from(amount * 2) ); assert_eq!( TotalHotkeyShares::::get(old_hotkey, netuid), @@ -922,7 +922,7 @@ fn test_swap_stake_success() { ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, old_hotkey), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, new_hotkey), diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 7b7fa792e4..f71133859c 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -5,7 +5,7 @@ use codec::Encode; use frame_support::weights::Weight; use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::{Config, RawOrigin}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex, TaoBalance, Token}; use super::mock::*; use crate::*; @@ -91,11 +91,11 @@ fn test_swap_total_hotkey_stake() { assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&old_hotkey), (amount - fee).into(), - epsilon = TaoCurrency::from(amount / 100), + epsilon = TaoBalance::from(amount / 100), ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&new_hotkey), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 1.into(), ); @@ -111,13 +111,13 @@ fn test_swap_total_hotkey_stake() { // Verify that total hotkey stake swapped assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&old_hotkey), - TaoCurrency::ZERO, + TaoBalance::ZERO, epsilon = 1.into(), ); assert_abs_diff_eq!( SubtensorModule::get_total_stake_for_hotkey(&new_hotkey), - TaoCurrency::from(amount - fee), - epsilon = TaoCurrency::from(amount / 100), + TaoBalance::from(amount - fee), + epsilon = TaoBalance::from(amount / 100), ); }); } @@ -436,7 +436,7 @@ fn test_swap_hotkey_with_multiple_coldkeys() { RuntimeOrigin::signed(coldkey2), old_hotkey, netuid, - TaoCurrency::from(stake / 2) + TaoBalance::from(stake / 2) )); let stake1_before = SubtensorModule::get_total_stake_for_coldkey(&coldkey1); let stake2_before = SubtensorModule::get_total_stake_for_coldkey(&coldkey2); @@ -709,7 +709,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &coldkey1, netuid1 ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -717,7 +717,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &coldkey2, netuid2 ), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); // Check subnet membership transfer @@ -746,7 +746,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { ); assert_eq!( SubtensorModule::get_total_stake_for_hotkey(&old_hotkey), - TaoCurrency::ZERO + TaoBalance::ZERO ); }); } @@ -761,7 +761,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { let new_hotkey_1 = U256::from(2); let new_hotkey_2 = U256::from(4); let coldkey = U256::from(3); - let swap_cost = TaoCurrency::from(1_000_000_000u64) * 2.into(); + let swap_cost = TaoBalance::from(1_000_000_000u64) * 2.into(); let tx_rate_limit = 1; @@ -821,7 +821,7 @@ fn test_do_swap_hotkey_err_not_owner() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let not_owner_coldkey = U256::from(4); - let swap_cost = TaoCurrency::from(1_000_000_000u64); + let swap_cost = TaoBalance::from(1_000_000_000u64); // Setup initial state add_network(netuid, tempo, 0); @@ -921,15 +921,15 @@ fn test_swap_stake_success() { let shares = U64F64::from_num(123456); // Initialize staking variables for old_hotkey - TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaCurrency::from(amount)); + TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaBalance::from(amount)); TotalHotkeyAlphaLastEpoch::::insert( old_hotkey, netuid, - AlphaCurrency::from(amount * 2), + AlphaBalance::from(amount * 2), ); TotalHotkeyShares::::insert(old_hotkey, netuid, U64F64::from_num(shares)); Alpha::::insert((old_hotkey, coldkey, netuid), U64F64::from_num(amount)); - AlphaDividendsPerSubnet::::insert(netuid, old_hotkey, AlphaCurrency::from(amount)); + AlphaDividendsPerSubnet::::insert(netuid, old_hotkey, AlphaBalance::from(amount)); // Perform the swap System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -943,19 +943,19 @@ fn test_swap_stake_success() { // Verify the swap assert_eq!( TotalHotkeyAlpha::::get(old_hotkey, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlpha::::get(new_hotkey, netuid), - AlphaCurrency::from(amount) + AlphaBalance::from(amount) ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(old_hotkey, netuid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(new_hotkey, netuid), - AlphaCurrency::from(amount * 2) + AlphaBalance::from(amount * 2) ); assert_eq!( TotalHotkeyShares::::get(old_hotkey, netuid), @@ -975,11 +975,11 @@ fn test_swap_stake_success() { ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, old_hotkey), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, new_hotkey), - AlphaCurrency::from(amount) + AlphaBalance::from(amount) ); }); } @@ -1101,11 +1101,11 @@ fn test_swap_child_keys_self_loop() { let new_hotkey = U256::from(2); let coldkey = U256::from(3); let netuid = add_dynamic_network(&old_hotkey, &coldkey); - let amount = AlphaCurrency::from(12345); + let amount = AlphaBalance::from(12345); SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); // Only for checking - TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaCurrency::from(amount)); + TotalHotkeyAlpha::::insert(old_hotkey, netuid, AlphaBalance::from(amount)); let children = vec![(200u64, new_hotkey)]; @@ -1130,7 +1130,7 @@ fn test_swap_child_keys_self_loop() { assert_eq!(TotalHotkeyAlpha::::get(old_hotkey, netuid), amount); assert_eq!( TotalHotkeyAlpha::::get(new_hotkey, netuid), - AlphaCurrency::from(0) + AlphaBalance::from(0) ); }); } diff --git a/pallets/subtensor/src/tests/uids.rs b/pallets/subtensor/src/tests/uids.rs index f533fb4aac..9cc74e5286 100644 --- a/pallets/subtensor/src/tests/uids.rs +++ b/pallets/subtensor/src/tests/uids.rs @@ -5,7 +5,7 @@ use crate::*; use frame_support::{assert_err, assert_ok}; use frame_system::Config; use sp_core::{H160, U256}; -use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex}; +use subtensor_runtime_common::{AlphaBalance, NetUidStorageIndex}; /******************************************** tests for uids.rs file @@ -109,7 +109,7 @@ fn test_replace_neuron() { assert_eq!(SubtensorModule::get_trust_for_uid(netuid, neuron_uid), 0); assert_eq!( SubtensorModule::get_emission_for_uid(netuid, neuron_uid), - AlphaCurrency::ZERO + AlphaBalance::ZERO ); assert_eq!( SubtensorModule::get_consensus_for_uid(netuid, neuron_uid), diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 1ae323dc24..ec2ece5829 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -21,7 +21,7 @@ use sp_runtime::{ }; use sp_std::collections::vec_deque::VecDeque; use substrate_fixed::types::I32F32; -use subtensor_runtime_common::{NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{NetUidStorageIndex, TaoBalance}; use subtensor_swap_interface::SwapHandler; use tle::{ curves::drand::TinyBLS381, @@ -257,7 +257,7 @@ fn test_set_weights_validate() { SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); - let min_stake = TaoCurrency::from(500_000_000_000_u64); + let min_stake = TaoBalance::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); @@ -363,7 +363,7 @@ fn test_reveal_weights_validate() { crate::Owner::::insert(hotkey2, coldkey); SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); - let min_stake = TaoCurrency::from(500_000_000_000_u64); + let min_stake = TaoBalance::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); @@ -547,7 +547,7 @@ fn test_batch_reveal_weights_validate() { SubtensorModule::add_balance_to_coldkey_account(&hotkey, u64::MAX.into()); SubtensorModule::set_commit_reveal_weights_enabled(netuid, true); - let min_stake = TaoCurrency::from(500_000_000_000_u64); + let min_stake = TaoBalance::from(500_000_000_000_u64); // Set the minimum stake SubtensorModule::set_stake_threshold(min_stake.into()); diff --git a/pallets/subtensor/src/utils/misc.rs b/pallets/subtensor/src/utils/misc.rs index 609e43cf63..75f2d6695d 100644 --- a/pallets/subtensor/src/utils/misc.rs +++ b/pallets/subtensor/src/utils/misc.rs @@ -6,7 +6,7 @@ use sp_core::Get; use sp_core::U256; use sp_runtime::Saturating; use substrate_fixed::types::{I32F32, I64F64, U64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, NetUid, NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, NetUidStorageIndex, TaoBalance}; impl Pallet { pub fn ensure_subnet_owner_or_root( @@ -137,7 +137,7 @@ impl Pallet { // ======================== // ==== Global Getters ==== // ======================== - pub fn get_total_issuance() -> TaoCurrency { + pub fn get_total_issuance() -> TaoBalance { TotalIssuance::::get() } pub fn get_current_block_as_u64() -> u64 { @@ -158,7 +158,7 @@ impl Pallet { pub fn get_active(netuid: NetUid) -> Vec { Active::::get(netuid) } - pub fn get_emission(netuid: NetUid) -> Vec { + pub fn get_emission(netuid: NetUid) -> Vec { Emission::::get(netuid) } pub fn get_consensus(netuid: NetUid) -> Vec { @@ -231,7 +231,7 @@ impl Pallet { let vec = Trust::::get(netuid); vec.get(uid as usize).copied().unwrap_or(0) } - pub fn get_emission_for_uid(netuid: NetUid, uid: u16) -> AlphaCurrency { + pub fn get_emission_for_uid(netuid: NetUid, uid: u16) -> AlphaBalance { let vec = Emission::::get(netuid); vec.get(uid as usize).copied().unwrap_or_default() } @@ -337,20 +337,20 @@ impl Pallet { // ======================== // === Token Management === // ======================== - pub fn recycle_tao(amount: TaoCurrency) { + pub fn recycle_tao(amount: TaoBalance) { TotalIssuance::::put(TotalIssuance::::get().saturating_sub(amount)); } - pub fn increase_issuance(amount: TaoCurrency) { + pub fn increase_issuance(amount: TaoBalance) { TotalIssuance::::put(TotalIssuance::::get().saturating_add(amount)); } - pub fn set_subnet_locked_balance(netuid: NetUid, amount: TaoCurrency) { + pub fn set_subnet_locked_balance(netuid: NetUid, amount: TaoBalance) { SubnetLocked::::insert(netuid, amount); } - pub fn get_subnet_locked_balance(netuid: NetUid) -> TaoCurrency { + pub fn get_subnet_locked_balance(netuid: NetUid) -> TaoBalance { SubnetLocked::::get(netuid) } - pub fn get_total_subnet_locked() -> TaoCurrency { + pub fn get_total_subnet_locked() -> TaoBalance { let mut total_subnet_locked: u64 = 0; for (_, locked) in SubnetLocked::::iter() { total_subnet_locked.saturating_accrue(locked.into()); @@ -610,25 +610,25 @@ impl Pallet { )); } - pub fn get_burn(netuid: NetUid) -> TaoCurrency { + pub fn get_burn(netuid: NetUid) -> TaoBalance { Burn::::get(netuid) } - pub fn set_burn(netuid: NetUid, burn: TaoCurrency) { + pub fn set_burn(netuid: NetUid, burn: TaoBalance) { Burn::::insert(netuid, burn); } - pub fn get_min_burn(netuid: NetUid) -> TaoCurrency { + pub fn get_min_burn(netuid: NetUid) -> TaoBalance { MinBurn::::get(netuid) } - pub fn set_min_burn(netuid: NetUid, min_burn: TaoCurrency) { + pub fn set_min_burn(netuid: NetUid, min_burn: TaoBalance) { MinBurn::::insert(netuid, min_burn); Self::deposit_event(Event::MinBurnSet(netuid, min_burn)); } - pub fn get_max_burn(netuid: NetUid) -> TaoCurrency { + pub fn get_max_burn(netuid: NetUid) -> TaoBalance { MaxBurn::::get(netuid) } - pub fn set_max_burn(netuid: NetUid, max_burn: TaoCurrency) { + pub fn set_max_burn(netuid: NetUid, max_burn: TaoBalance) { MaxBurn::::insert(netuid, max_burn); Self::deposit_event(Event::MaxBurnSet(netuid, max_burn)); } @@ -709,18 +709,18 @@ impl Pallet { StakingHotkeys::::get(coldkey) } - pub fn set_total_issuance(total_issuance: TaoCurrency) { + pub fn set_total_issuance(total_issuance: TaoBalance) { TotalIssuance::::put(total_issuance); } - pub fn get_rao_recycled(netuid: NetUid) -> TaoCurrency { + pub fn get_rao_recycled(netuid: NetUid) -> TaoBalance { RAORecycledForRegistration::::get(netuid) } - pub fn set_rao_recycled(netuid: NetUid, rao_recycled: TaoCurrency) { + pub fn set_rao_recycled(netuid: NetUid, rao_recycled: TaoBalance) { RAORecycledForRegistration::::insert(netuid, rao_recycled); Self::deposit_event(Event::RAORecycledForRegistrationSet(netuid, rao_recycled)); } - pub fn increase_rao_recycled(netuid: NetUid, inc_rao_recycled: TaoCurrency) { + pub fn increase_rao_recycled(netuid: NetUid, inc_rao_recycled: TaoBalance) { let curr_rao_recycled = Self::get_rao_recycled(netuid); let rao_recycled = curr_rao_recycled.saturating_add(inc_rao_recycled); Self::set_rao_recycled(netuid, rao_recycled); @@ -750,7 +750,7 @@ impl Pallet { NominatorMinRequiredStake::::put(min_stake); } - pub fn get_key_swap_cost() -> TaoCurrency { + pub fn get_key_swap_cost() -> TaoBalance { T::KeySwapCost::get().into() } diff --git a/pallets/subtensor/src/utils/try_state.rs b/pallets/subtensor/src/utils/try_state.rs index 2efd3b240b..576c3c7951 100644 --- a/pallets/subtensor/src/utils/try_state.rs +++ b/pallets/subtensor/src/utils/try_state.rs @@ -18,7 +18,7 @@ impl Pallet { // // These values can be off slightly due to float rounding errors. // They are corrected every runtime upgrade. - let delta = TaoCurrency::from(1000); + let delta = TaoBalance::from(1000); let total_issuance = TotalIssuance::::get(); let diff = if total_issuance > expected_total_issuance { @@ -40,17 +40,16 @@ impl Pallet { #[allow(dead_code)] pub(crate) fn check_total_stake() -> Result<(), sp_runtime::TryRuntimeError> { // Calculate the total staked amount - let total_staked = - SubnetTAO::::iter().fold(TaoCurrency::ZERO, |acc, (netuid, stake)| { - let acc = acc.saturating_add(stake); + let total_staked = SubnetTAO::::iter().fold(TaoBalance::ZERO, |acc, (netuid, stake)| { + let acc = acc.saturating_add(stake); - if netuid.is_root() { - // root network doesn't have initial pool TAO - acc - } else { - acc.saturating_sub(Self::get_network_min_lock()) - } - }); + if netuid.is_root() { + // root network doesn't have initial pool TAO + acc + } else { + acc.saturating_sub(Self::get_network_min_lock()) + } + }); log::warn!( "total_staked: {}, TotalStake: {}", diff --git a/pallets/subtensor/src/utils/voting_power.rs b/pallets/subtensor/src/utils/voting_power.rs index 55437f8885..0cb191436e 100644 --- a/pallets/subtensor/src/utils/voting_power.rs +++ b/pallets/subtensor/src/utils/voting_power.rs @@ -1,7 +1,7 @@ use super::*; use crate::epoch::run_epoch::EpochTerms; use alloc::collections::BTreeMap; -use subtensor_runtime_common::{AlphaCurrency, NetUid}; +use subtensor_runtime_common::{AlphaBalance, NetUid}; /// 14 days in blocks (assuming ~12 second blocks) /// 14 * 24 * 60 * 60 / 12 = 100800 blocks @@ -182,7 +182,7 @@ impl Pallet { fn update_voting_power_for_hotkey( netuid: NetUid, hotkey: &T::AccountId, - current_stake: AlphaCurrency, + current_stake: AlphaBalance, alpha: u64, min_stake: u64, ) { diff --git a/pallets/swap-interface/src/lib.rs b/pallets/swap-interface/src/lib.rs index 19af1303c1..54df832f68 100644 --- a/pallets/swap-interface/src/lib.rs +++ b/pallets/swap-interface/src/lib.rs @@ -4,7 +4,7 @@ use core::ops::Neg; use frame_support::pallet_prelude::*; use substrate_fixed::types::U96F32; use subtensor_macros::freeze_struct; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; pub use order::*; @@ -14,7 +14,7 @@ pub trait SwapEngine: DefaultPriceLimit { fn swap( netuid: NetUid, order: O, - price_limit: TaoCurrency, + price_limit: TaoBalance, drop_fees: bool, should_rollback: bool, ) -> Result, DispatchError>; @@ -24,7 +24,7 @@ pub trait SwapHandler { fn swap( netuid: NetUid, order: O, - price_limit: TaoCurrency, + price_limit: TaoBalance, drop_fees: bool, should_rollback: bool, ) -> Result, DispatchError> @@ -37,16 +37,12 @@ pub trait SwapHandler { where Self: SwapEngine; - fn approx_fee_amount(netuid: NetUid, amount: T) -> T; + fn approx_fee_amount(netuid: NetUid, amount: T) -> T; fn current_alpha_price(netuid: NetUid) -> U96F32; - fn get_protocol_tao(netuid: NetUid) -> TaoCurrency; - fn max_price() -> C; - fn min_price() -> C; - fn adjust_protocol_liquidity( - netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, - ); + fn get_protocol_tao(netuid: NetUid) -> TaoBalance; + fn max_price() -> C; + fn min_price() -> C; + fn adjust_protocol_liquidity(netuid: NetUid, tao_delta: TaoBalance, alpha_delta: AlphaBalance); fn is_user_liquidity_enabled(netuid: NetUid) -> bool; fn dissolve_all_liquidity_providers(netuid: NetUid) -> DispatchResult; fn toggle_user_liquidity(netuid: NetUid, enabled: bool); @@ -55,18 +51,18 @@ pub trait SwapHandler { pub trait DefaultPriceLimit where - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { - fn default_price_limit() -> C; + fn default_price_limit() -> C; } -#[freeze_struct("d3d0b124fe5a97c8")] +#[freeze_struct("20e853edfff00122")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SwapResult where - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { pub amount_paid_in: PaidIn, pub amount_paid_out: PaidOut, @@ -75,8 +71,8 @@ where impl SwapResult where - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { pub fn paid_in_reserve_delta(&self) -> i128 { self.amount_paid_in.to_u64() as i128 diff --git a/pallets/swap-interface/src/order.rs b/pallets/swap-interface/src/order.rs index 1576283fd5..b4075e9781 100644 --- a/pallets/swap-interface/src/order.rs +++ b/pallets/swap-interface/src/order.rs @@ -1,13 +1,13 @@ use core::marker::PhantomData; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, Currency, CurrencyReserve, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, TaoBalance, Token, TokenReserve}; pub trait Order: Clone { - type PaidIn: Currency; - type PaidOut: Currency; - type ReserveIn: CurrencyReserve; - type ReserveOut: CurrencyReserve; + type PaidIn: Token; + type PaidOut: Token; + type ReserveIn: TokenReserve; + type ReserveOut: TokenReserve; fn with_amount(amount: impl Into) -> Self; fn amount(&self) -> Self::PaidIn; @@ -17,20 +17,20 @@ pub trait Order: Clone { #[derive(Clone, Default)] pub struct GetAlphaForTao where - ReserveIn: CurrencyReserve, - ReserveOut: CurrencyReserve, + ReserveIn: TokenReserve, + ReserveOut: TokenReserve, { - amount: TaoCurrency, + amount: TaoBalance, _phantom: PhantomData<(ReserveIn, ReserveOut)>, } impl Order for GetAlphaForTao where - ReserveIn: CurrencyReserve + Clone, - ReserveOut: CurrencyReserve + Clone, + ReserveIn: TokenReserve + Clone, + ReserveOut: TokenReserve + Clone, { - type PaidIn = TaoCurrency; - type PaidOut = AlphaCurrency; + type PaidIn = TaoBalance; + type PaidOut = AlphaBalance; type ReserveIn = ReserveIn; type ReserveOut = ReserveOut; @@ -41,7 +41,7 @@ where } } - fn amount(&self) -> TaoCurrency { + fn amount(&self) -> TaoBalance { self.amount } @@ -53,20 +53,20 @@ where #[derive(Clone, Default)] pub struct GetTaoForAlpha where - ReserveIn: CurrencyReserve, - ReserveOut: CurrencyReserve, + ReserveIn: TokenReserve, + ReserveOut: TokenReserve, { - amount: AlphaCurrency, + amount: AlphaBalance, _phantom: PhantomData<(ReserveIn, ReserveOut)>, } impl Order for GetTaoForAlpha where - ReserveIn: CurrencyReserve + Clone, - ReserveOut: CurrencyReserve + Clone, + ReserveIn: TokenReserve + Clone, + ReserveOut: TokenReserve + Clone, { - type PaidIn = AlphaCurrency; - type PaidOut = TaoCurrency; + type PaidIn = AlphaBalance; + type PaidOut = TaoBalance; type ReserveIn = ReserveIn; type ReserveOut = ReserveOut; @@ -77,7 +77,7 @@ where } } - fn amount(&self) -> AlphaCurrency { + fn amount(&self) -> AlphaBalance { self.amount } diff --git a/pallets/swap/rpc/src/lib.rs b/pallets/swap/rpc/src/lib.rs index b83a083ad5..b4a8d6a7a0 100644 --- a/pallets/swap/rpc/src/lib.rs +++ b/pallets/swap/rpc/src/lib.rs @@ -11,7 +11,7 @@ use jsonrpsee::{ use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::traits::Block as BlockT; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; pub use pallet_subtensor_swap_runtime_api::SwapRuntimeApi; @@ -23,14 +23,14 @@ pub trait SwapRpcApi { fn sim_swap_tao_for_alpha( &self, netuid: NetUid, - tao: TaoCurrency, + tao: TaoBalance, at: Option, ) -> RpcResult>; #[method(name = "swap_simSwapAlphaForTao")] fn sim_swap_alpha_for_tao( &self, netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, at: Option, ) -> RpcResult>; } @@ -95,7 +95,7 @@ where fn sim_swap_tao_for_alpha( &self, netuid: NetUid, - tao: TaoCurrency, + tao: TaoBalance, at: Option<::Hash>, ) -> RpcResult> { let api = self.client.runtime_api(); @@ -113,7 +113,7 @@ where fn sim_swap_alpha_for_tao( &self, netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, at: Option<::Hash>, ) -> RpcResult> { let api = self.client.runtime_api(); diff --git a/pallets/swap/runtime-api/src/lib.rs b/pallets/swap/runtime-api/src/lib.rs index 01d2ccf23e..2b3ba8118c 100644 --- a/pallets/swap/runtime-api/src/lib.rs +++ b/pallets/swap/runtime-api/src/lib.rs @@ -2,21 +2,21 @@ use frame_support::pallet_prelude::*; use subtensor_macros::freeze_struct; -use subtensor_runtime_common::{AlphaCurrency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; -#[freeze_struct("3a4fd213b5de5eb6")] +#[freeze_struct("b70069c0a57a7ac8")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SimSwapResult { - pub tao_amount: TaoCurrency, - pub alpha_amount: AlphaCurrency, - pub tao_fee: TaoCurrency, - pub alpha_fee: AlphaCurrency, + pub tao_amount: TaoBalance, + pub alpha_amount: AlphaBalance, + pub tao_fee: TaoBalance, + pub alpha_fee: AlphaBalance, } sp_api::decl_runtime_apis! { pub trait SwapRuntimeApi { fn current_alpha_price(netuid: NetUid) -> u64; - fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoCurrency) -> SimSwapResult; - fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaCurrency) -> SimSwapResult; + fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoBalance) -> SimSwapResult; + fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaBalance) -> SimSwapResult; } } diff --git a/pallets/swap/src/mock.rs b/pallets/swap/src/mock.rs index 47bcda08af..048ce979b7 100644 --- a/pallets/swap/src/mock.rs +++ b/pallets/swap/src/mock.rs @@ -16,7 +16,7 @@ use sp_runtime::{ }; use substrate_fixed::types::U64F64; use subtensor_runtime_common::{ - AlphaCurrency, BalanceOps, Currency, CurrencyReserve, NetUid, SubnetInfo, TaoCurrency, + AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve, }; use subtensor_swap_interface::Order; @@ -90,8 +90,8 @@ parameter_types! { #[derive(Clone)] pub struct TaoReserve; -impl CurrencyReserve for TaoReserve { - fn reserve(netuid: NetUid) -> TaoCurrency { +impl TokenReserve for TaoReserve { + fn reserve(netuid: NetUid) -> TaoBalance { match netuid.into() { 123u16 => 10_000_u64, WRAPPING_FEES_NETUID => 100_000_000_000, @@ -100,15 +100,15 @@ impl CurrencyReserve for TaoReserve { .into() } - fn increase_provided(_: NetUid, _: TaoCurrency) {} - fn decrease_provided(_: NetUid, _: TaoCurrency) {} + fn increase_provided(_: NetUid, _: TaoBalance) {} + fn decrease_provided(_: NetUid, _: TaoBalance) {} } #[derive(Clone)] pub struct AlphaReserve; -impl CurrencyReserve for AlphaReserve { - fn reserve(netuid: NetUid) -> AlphaCurrency { +impl TokenReserve for AlphaReserve { + fn reserve(netuid: NetUid) -> AlphaBalance { match netuid.into() { 123u16 => 10_000_u64.into(), WRAPPING_FEES_NETUID => 400_000_000_000_u64.into(), @@ -116,24 +116,24 @@ impl CurrencyReserve for AlphaReserve { } } - fn increase_provided(_: NetUid, _: AlphaCurrency) {} - fn decrease_provided(_: NetUid, _: AlphaCurrency) {} + fn increase_provided(_: NetUid, _: AlphaBalance) {} + fn decrease_provided(_: NetUid, _: AlphaBalance) {} } pub type GetAlphaForTao = subtensor_swap_interface::GetAlphaForTao; pub type GetTaoForAlpha = subtensor_swap_interface::GetTaoForAlpha; -pub(crate) trait GlobalFeeInfo: Currency { +pub(crate) trait GlobalFeeInfo: Token { fn global_fee(&self, netuid: NetUid) -> U64F64; } -impl GlobalFeeInfo for TaoCurrency { +impl GlobalFeeInfo for TaoBalance { fn global_fee(&self, netuid: NetUid) -> U64F64 { FeeGlobalTao::::get(netuid) } } -impl GlobalFeeInfo for AlphaCurrency { +impl GlobalFeeInfo for AlphaBalance { fn global_fee(&self, netuid: NetUid) -> U64F64 { FeeGlobalAlpha::::get(netuid) } @@ -216,7 +216,7 @@ impl SubnetInfo for MockLiquidityProvider { pub struct MockBalanceOps; impl BalanceOps for MockBalanceOps { - fn tao_balance(account_id: &AccountId) -> TaoCurrency { + fn tao_balance(account_id: &AccountId) -> TaoBalance { match *account_id { OK_COLDKEY_ACCOUNT_ID => 100_000_000_000_000, OK_COLDKEY_ACCOUNT_ID_2 => 100_000_000_000_000, @@ -230,7 +230,7 @@ impl BalanceOps for MockBalanceOps { _: NetUid, coldkey_account_id: &AccountId, hotkey_account_id: &AccountId, - ) -> AlphaCurrency { + ) -> AlphaBalance { match (coldkey_account_id, hotkey_account_id) { (&OK_COLDKEY_ACCOUNT_ID, &OK_HOTKEY_ACCOUNT_ID) => 100_000_000_000_000, (&OK_COLDKEY_ACCOUNT_ID_2, &OK_HOTKEY_ACCOUNT_ID_2) => 100_000_000_000_000, @@ -242,12 +242,12 @@ impl BalanceOps for MockBalanceOps { .into() } - fn increase_balance(_coldkey: &AccountId, _tao: TaoCurrency) {} + fn increase_balance(_coldkey: &AccountId, _tao: TaoBalance) {} fn decrease_balance( _coldkey: &AccountId, - tao: TaoCurrency, - ) -> Result { + tao: TaoBalance, + ) -> Result { Ok(tao) } @@ -255,7 +255,7 @@ impl BalanceOps for MockBalanceOps { _coldkey: &AccountId, _hotkey: &AccountId, _netuid: NetUid, - _alpha: AlphaCurrency, + _alpha: AlphaBalance, ) -> Result<(), DispatchError> { Ok(()) } @@ -264,8 +264,8 @@ impl BalanceOps for MockBalanceOps { _coldkey: &AccountId, _hotkey: &AccountId, _netuid: NetUid, - alpha: AlphaCurrency, - ) -> Result { + alpha: AlphaBalance, + ) -> Result { Ok(alpha) } } diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 2e4ee67152..1b4c73ffc2 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -7,7 +7,7 @@ use sp_arithmetic::{helpers_128bit, traits::Zero}; use sp_runtime::{DispatchResult, Vec, traits::AccountIdConversion}; use substrate_fixed::types::{I64F64, U64F64, U96F32}; use subtensor_runtime_common::{ - AlphaCurrency, BalanceOps, Currency, CurrencyReserve, NetUid, SubnetInfo, TaoCurrency, + AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve, }; use subtensor_swap_interface::{ DefaultPriceLimit, Order as OrderT, SwapEngine, SwapHandler, SwapResult, @@ -25,10 +25,10 @@ const MAX_SWAP_ITERATIONS: u16 = 1000; #[derive(Debug, PartialEq)] pub struct UpdateLiquidityResult { - pub tao: TaoCurrency, - pub alpha: AlphaCurrency, - pub fee_tao: TaoCurrency, - pub fee_alpha: AlphaCurrency, + pub tao: TaoBalance, + pub alpha: AlphaBalance, + pub fee_tao: TaoBalance, + pub fee_alpha: AlphaBalance, pub removed: bool, pub tick_low: TickIndex, pub tick_high: TickIndex, @@ -36,10 +36,10 @@ pub struct UpdateLiquidityResult { #[derive(Debug, PartialEq)] pub struct RemoveLiquidityResult { - pub tao: TaoCurrency, - pub alpha: AlphaCurrency, - pub fee_tao: TaoCurrency, - pub fee_alpha: AlphaCurrency, + pub tao: TaoBalance, + pub alpha: AlphaBalance, + pub fee_tao: TaoBalance, + pub fee_alpha: AlphaBalance, pub tick_low: TickIndex, pub tick_high: TickIndex, pub liquidity: u64, @@ -115,9 +115,9 @@ impl Pallet { pub(crate) fn get_proportional_alpha_tao_and_remainders( sqrt_alpha_price: U64F64, - amount_tao: TaoCurrency, - amount_alpha: AlphaCurrency, - ) -> (TaoCurrency, AlphaCurrency, TaoCurrency, AlphaCurrency) { + amount_tao: TaoBalance, + amount_alpha: AlphaBalance, + ) -> (TaoBalance, AlphaBalance, TaoBalance, AlphaBalance) { let price = sqrt_alpha_price.saturating_mul(sqrt_alpha_price); let tao_equivalent: u64 = U64F64::saturating_from_num(u64::from(amount_alpha)) .saturating_mul(price) @@ -129,7 +129,7 @@ impl Pallet { ( tao_equivalent.into(), amount_alpha, - amount_tao.saturating_sub(TaoCurrency::from(tao_equivalent)), + amount_tao.saturating_sub(TaoBalance::from(tao_equivalent)), 0_u32.into(), ) } else { @@ -151,8 +151,8 @@ impl Pallet { /// Adjusts protocol liquidity with new values of TAO and Alpha reserve pub(super) fn adjust_protocol_liquidity( netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, + tao_delta: TaoBalance, + alpha_delta: AlphaBalance, ) { // Update protocol position with new liquidity let protocol_account_id = Self::protocol_account_id(); @@ -172,10 +172,10 @@ impl Pallet { Self::get_proportional_alpha_tao_and_remainders( current_sqrt_price, tao_delta - .saturating_add(TaoCurrency::from(tao_fees)) + .saturating_add(TaoBalance::from(tao_fees)) .saturating_add(tao_reservoir), alpha_delta - .saturating_add(AlphaCurrency::from(alpha_fees)) + .saturating_add(AlphaBalance::from(alpha_fees)) .saturating_add(alpha_reservoir), ); @@ -359,11 +359,7 @@ impl Pallet { /// Calculate fee amount /// /// Fee is provided by state ops as u16-normalized value. - pub(crate) fn calculate_fee_amount( - netuid: NetUid, - amount: C, - drop_fees: bool, - ) -> C { + pub(crate) fn calculate_fee_amount(netuid: NetUid, amount: C, drop_fees: bool) -> C { if drop_fees { return C::ZERO; } @@ -450,12 +446,12 @@ impl Pallet { let position_id = position.id; ensure!( - T::BalanceOps::tao_balance(coldkey_account_id) >= TaoCurrency::from(tao) + T::BalanceOps::tao_balance(coldkey_account_id) >= TaoBalance::from(tao) && T::BalanceOps::alpha_balance( netuid.into(), coldkey_account_id, hotkey_account_id - ) >= AlphaCurrency::from(alpha), + ) >= AlphaBalance::from(alpha), Error::::InsufficientBalance ); @@ -619,9 +615,9 @@ impl Pallet { // Check that user has enough balances ensure!( T::BalanceOps::tao_balance(coldkey_account_id) - >= TaoCurrency::from(tao.saturating_to_num::()) + >= TaoBalance::from(tao.saturating_to_num::()) && T::BalanceOps::alpha_balance(netuid, coldkey_account_id, hotkey_account_id) - >= AlphaCurrency::from(alpha.saturating_to_num::()), + >= AlphaBalance::from(alpha.saturating_to_num::()), Error::::InsufficientBalance ); } else { @@ -810,7 +806,7 @@ impl Pallet { T::ProtocolId::get().into_account_truncating() } - pub(crate) fn min_price_inner() -> C { + pub(crate) fn min_price_inner() -> C { TickIndex::min_sqrt_price() .saturating_mul(TickIndex::min_sqrt_price()) .saturating_mul(SqrtPrice::saturating_from_num(1_000_000_000)) @@ -818,7 +814,7 @@ impl Pallet { .into() } - pub(crate) fn max_price_inner() -> C { + pub(crate) fn max_price_inner() -> C { TickIndex::max_sqrt_price() .saturating_mul(TickIndex::max_sqrt_price()) .saturating_mul(SqrtPrice::saturating_from_num(1_000_000_000)) @@ -851,8 +847,8 @@ impl Pallet { return Ok(()); } - let mut user_refunded_tao = TaoCurrency::ZERO; - let mut user_staked_alpha = AlphaCurrency::ZERO; + let mut user_refunded_tao = TaoBalance::ZERO; + let mut user_staked_alpha = AlphaBalance::ZERO; let trust: Vec = T::SubnetInfo::get_validator_trust(netuid.into()); let permit: Vec = T::SubnetInfo::get_validator_permit(netuid.into()); @@ -874,14 +870,14 @@ impl Pallet { match Self::do_remove_liquidity(netuid, &owner, pos_id) { Ok(rm) => { // α withdrawn from the pool = principal + accrued fees - let alpha_total_from_pool: AlphaCurrency = + let alpha_total_from_pool: AlphaBalance = rm.alpha.saturating_add(rm.fee_alpha); // ---------------- USER: refund τ and convert α → stake ---------------- // 1) Refund τ principal directly. - let tao_total_from_pool: TaoCurrency = rm.tao.saturating_add(rm.fee_tao); - if tao_total_from_pool > TaoCurrency::ZERO { + let tao_total_from_pool: TaoBalance = rm.tao.saturating_add(rm.fee_tao); + if tao_total_from_pool > TaoBalance::ZERO { T::BalanceOps::increase_balance(&owner, tao_total_from_pool); user_refunded_tao = user_refunded_tao.saturating_add(tao_total_from_pool); @@ -889,7 +885,7 @@ impl Pallet { } // 2) Stake ALL withdrawn α (principal + fees) to the best permitted validator. - if alpha_total_from_pool > AlphaCurrency::ZERO { + if alpha_total_from_pool > AlphaBalance::ZERO { if let Some(target_uid) = pick_target_uid(&trust, &permit) { let validator_hotkey: T::AccountId = T::SubnetInfo::hotkey_of_uid(netuid.into(), target_uid).ok_or( @@ -950,8 +946,8 @@ impl Pallet { let protocol_account = Self::protocol_account_id(); // 1) Force-close only protocol positions, burning proceeds. - let mut burned_tao = TaoCurrency::ZERO; - let mut burned_alpha = AlphaCurrency::ZERO; + let mut burned_tao = TaoBalance::ZERO; + let mut burned_alpha = AlphaBalance::ZERO; // Collect protocol position IDs first to avoid mutating while iterating. let protocol_pos_ids: sp_std::vec::Vec = Positions::::iter_prefix((netuid,)) @@ -967,14 +963,13 @@ impl Pallet { for pos_id in protocol_pos_ids { match Self::do_remove_liquidity(netuid, &protocol_account, pos_id) { Ok(rm) => { - let alpha_total_from_pool: AlphaCurrency = - rm.alpha.saturating_add(rm.fee_alpha); - let tao_total_from_pool: TaoCurrency = rm.tao.saturating_add(rm.fee_tao); + let alpha_total_from_pool: AlphaBalance = rm.alpha.saturating_add(rm.fee_alpha); + let tao_total_from_pool: TaoBalance = rm.tao.saturating_add(rm.fee_tao); - if tao_total_from_pool > TaoCurrency::ZERO { + if tao_total_from_pool > TaoBalance::ZERO { burned_tao = burned_tao.saturating_add(tao_total_from_pool); } - if alpha_total_from_pool > AlphaCurrency::ZERO { + if alpha_total_from_pool > AlphaBalance::ZERO { burned_alpha = burned_alpha.saturating_add(alpha_total_from_pool); } @@ -1020,14 +1015,14 @@ impl Pallet { } } -impl DefaultPriceLimit for Pallet { - fn default_price_limit() -> C { +impl DefaultPriceLimit for Pallet { + fn default_price_limit() -> C { Self::max_price_inner::() } } -impl DefaultPriceLimit for Pallet { - fn default_price_limit() -> C { +impl DefaultPriceLimit for Pallet { + fn default_price_limit() -> C { Self::min_price_inner::() } } @@ -1042,7 +1037,7 @@ where fn swap( netuid: NetUid, order: O, - price_limit: TaoCurrency, + price_limit: TaoBalance, drop_fees: bool, should_rollback: bool, ) -> Result, DispatchError> { @@ -1066,7 +1061,7 @@ impl SwapHandler for Pallet { fn swap( netuid: NetUid, order: O, - price_limit: TaoCurrency, + price_limit: TaoBalance, drop_fees: bool, should_rollback: bool, ) -> Result, DispatchError> @@ -1087,7 +1082,7 @@ impl SwapHandler for Pallet { { match T::SubnetInfo::mechanism(netuid) { 1 => { - let price_limit = Self::default_price_limit::(); + let price_limit = Self::default_price_limit::(); >::swap(netuid, order, price_limit, false, true) } @@ -1106,7 +1101,7 @@ impl SwapHandler for Pallet { } } - fn approx_fee_amount(netuid: NetUid, amount: C) -> C { + fn approx_fee_amount(netuid: NetUid, amount: C) -> C { Self::calculate_fee_amount(netuid, amount, false) } @@ -1114,7 +1109,7 @@ impl SwapHandler for Pallet { Self::current_price(netuid.into()) } - fn get_protocol_tao(netuid: NetUid) -> TaoCurrency { + fn get_protocol_tao(netuid: NetUid) -> TaoBalance { let protocol_account_id = Self::protocol_account_id(); let mut positions = Positions::::iter_prefix_values((netuid, protocol_account_id.clone())) @@ -1129,22 +1124,18 @@ impl SwapHandler for Pallet { } } - TaoCurrency::ZERO + TaoBalance::ZERO } - fn min_price() -> C { + fn min_price() -> C { Self::min_price_inner() } - fn max_price() -> C { + fn max_price() -> C { Self::max_price_inner() } - fn adjust_protocol_liquidity( - netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, - ) { + fn adjust_protocol_liquidity(netuid: NetUid, tao_delta: TaoBalance, alpha_delta: AlphaBalance) { Self::adjust_protocol_liquidity(netuid, tao_delta, alpha_delta); } diff --git a/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs new file mode 100644 index 0000000000..63392da9ea --- /dev/null +++ b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs @@ -0,0 +1,81 @@ +use super::*; +use crate::HasMigrationRun; +use frame_support::{storage_alias, traits::Get, weights::Weight}; +use scale_info::prelude::string::String; +use substrate_fixed::types::U64F64; + +pub mod deprecated_swap_maps { + use super::*; + + #[storage_alias] + pub type AlphaSqrtPrice = + StorageMap, Twox64Concat, NetUid, U64F64, ValueQuery>; + + /// TAO reservoir for scraps of protocol claimed fees. + #[storage_alias] + pub type ScrapReservoirTao = + StorageMap, Twox64Concat, NetUid, TaoBalance, ValueQuery>; + + /// Alpha reservoir for scraps of protocol claimed fees. + #[storage_alias] + pub type ScrapReservoirAlpha = + StorageMap, Twox64Concat, NetUid, AlphaBalance, ValueQuery>; +} + +pub fn migrate_swapv3_to_balancer() -> Weight { + let migration_name = BoundedVec::truncate_from(b"migrate_swapv3_to_balancer".to_vec()); + let mut weight = T::DbWeight::get().reads(1); + + if HasMigrationRun::::get(&migration_name) { + log::info!( + "Migration '{:?}' has already run. Skipping.", + String::from_utf8_lossy(&migration_name) + ); + return weight; + } + + log::info!( + "Running migration '{}'", + String::from_utf8_lossy(&migration_name), + ); + + // ------------------------------ + // Step 1: Initialize swaps with price before price removal + // ------------------------------ + for (netuid, price_sqrt) in deprecated_swap_maps::AlphaSqrtPrice::::iter() { + let price = price_sqrt.saturating_mul(price_sqrt); + crate::Pallet::::maybe_initialize_palswap(netuid, Some(price)).unwrap_or_default(); + } + + // ------------------------------ + // Step 2: Clear Map entries + // ------------------------------ + remove_prefix::("Swap", "AlphaSqrtPrice", &mut weight); + remove_prefix::("Swap", "CurrentTick", &mut weight); + remove_prefix::("Swap", "EnabledUserLiquidity", &mut weight); + remove_prefix::("Swap", "FeeGlobalTao", &mut weight); + remove_prefix::("Swap", "FeeGlobalAlpha", &mut weight); + remove_prefix::("Swap", "LastPositionId", &mut weight); + // Scrap reservoirs can be just cleaned because they are already included in reserves + remove_prefix::("Swap", "ScrapReservoirTao", &mut weight); + remove_prefix::("Swap", "ScrapReservoirAlpha", &mut weight); + remove_prefix::("Swap", "Ticks", &mut weight); + remove_prefix::("Swap", "TickIndexBitmapWords", &mut weight); + remove_prefix::("Swap", "SwapV3Initialized", &mut weight); + remove_prefix::("Swap", "CurrentLiquidity", &mut weight); + remove_prefix::("Swap", "Positions", &mut weight); + + // ------------------------------ + // Step 3: Mark Migration as Completed + // ------------------------------ + + HasMigrationRun::::insert(&migration_name, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + log::info!( + "Migration '{:?}' completed successfully.", + String::from_utf8_lossy(&migration_name) + ); + + weight +} diff --git a/pallets/swap/src/pallet/mod.rs b/pallets/swap/src/pallet/mod.rs index b55df77fee..838cd0c15d 100644 --- a/pallets/swap/src/pallet/mod.rs +++ b/pallets/swap/src/pallet/mod.rs @@ -5,7 +5,7 @@ use frame_support::{PalletId, pallet_prelude::*, traits::Get}; use frame_system::pallet_prelude::*; use substrate_fixed::types::U64F64; use subtensor_runtime_common::{ - AlphaCurrency, BalanceOps, Currency, CurrencyReserve, NetUid, SubnetInfo, TaoCurrency, + AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve, }; use crate::{ @@ -39,10 +39,10 @@ mod pallet { type SubnetInfo: SubnetInfo; /// Tao reserves info. - type TaoReserve: CurrencyReserve; + type TaoReserve: TokenReserve; /// Alpha reserves info. - type AlphaReserve: CurrencyReserve; + type AlphaReserve: TokenReserve; /// Implementor of /// [`BalanceOps`](subtensor_swap_interface::BalanceOps). @@ -149,12 +149,11 @@ mod pallet { /// TAO reservoir for scraps of protocol claimed fees. #[pallet::storage] - pub type ScrapReservoirTao = StorageMap<_, Twox64Concat, NetUid, TaoCurrency, ValueQuery>; + pub type ScrapReservoirTao = StorageMap<_, Twox64Concat, NetUid, TaoBalance, ValueQuery>; /// Alpha reservoir for scraps of protocol claimed fees. #[pallet::storage] - pub type ScrapReservoirAlpha = - StorageMap<_, Twox64Concat, NetUid, AlphaCurrency, ValueQuery>; + pub type ScrapReservoirAlpha = StorageMap<_, Twox64Concat, NetUid, AlphaBalance, ValueQuery>; #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] @@ -179,9 +178,9 @@ mod pallet { /// The amount of liquidity added to the position liquidity: u64, /// The amount of TAO tokens committed to the position - tao: TaoCurrency, + tao: TaoBalance, /// The amount of Alpha tokens committed to the position - alpha: AlphaCurrency, + alpha: AlphaBalance, /// the lower tick tick_low: TickIndex, /// the upper tick @@ -201,13 +200,13 @@ mod pallet { /// The amount of liquidity removed from the position liquidity: u64, /// The amount of TAO tokens returned to the user - tao: TaoCurrency, + tao: TaoBalance, /// The amount of Alpha tokens returned to the user - alpha: AlphaCurrency, + alpha: AlphaBalance, /// The amount of TAO fees earned from the position - fee_tao: TaoCurrency, + fee_tao: TaoBalance, /// The amount of Alpha fees earned from the position - fee_alpha: AlphaCurrency, + fee_alpha: AlphaBalance, /// the lower tick tick_low: TickIndex, /// the upper tick @@ -232,9 +231,9 @@ mod pallet { /// The amount of Alpha tokens returned to the user alpha: i64, /// The amount of TAO fees earned from the position - fee_tao: TaoCurrency, + fee_tao: TaoBalance, /// The amount of Alpha fees earned from the position - fee_alpha: AlphaCurrency, + fee_alpha: AlphaBalance, /// the lower tick tick_low: TickIndex, /// the upper tick @@ -395,8 +394,8 @@ mod pallet { // tick_high, // liquidity, // )?; - // let alpha = AlphaCurrency::from(alpha); - // let tao = TaoCurrency::from(tao); + // let alpha = AlphaBalance::from(alpha); + // let tao = TaoBalance::from(tao); // // Remove TAO and Alpha balances or fail transaction if they can't be removed exactly // let tao_provided = T::BalanceOps::decrease_balance(&coldkey, tao)?; @@ -585,7 +584,7 @@ mod pallet { } // Credit accrued fees to user account (no matter if liquidity is added or removed) - if result.fee_tao > TaoCurrency::ZERO { + if result.fee_tao > TaoBalance::ZERO { T::BalanceOps::increase_balance(&coldkey, result.fee_tao); } if !result.fee_alpha.is_zero() { diff --git a/pallets/swap/src/pallet/swap_step.rs b/pallets/swap/src/pallet/swap_step.rs index 3c951ffa44..b11e1969da 100644 --- a/pallets/swap/src/pallet/swap_step.rs +++ b/pallets/swap/src/pallet/swap_step.rs @@ -3,7 +3,7 @@ use core::marker::PhantomData; use safe_math::*; use sp_arithmetic::traits::Zero; use substrate_fixed::types::{I64F64, U64F64}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use super::pallet::*; use crate::{ @@ -15,8 +15,8 @@ use crate::{ pub(crate) struct BasicSwapStep where T: Config, - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { // Input parameters netuid: NetUid, @@ -45,8 +45,8 @@ where impl BasicSwapStep where T: Config, - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, Self: SwapStep, { /// Creates and initializes a new swap step @@ -227,14 +227,14 @@ where } } -impl SwapStep - for BasicSwapStep +impl SwapStep + for BasicSwapStep { fn delta_in( liquidity_curr: U64F64, sqrt_price_curr: SqrtPrice, sqrt_price_target: SqrtPrice, - ) -> TaoCurrency { + ) -> TaoBalance { liquidity_curr .saturating_mul(sqrt_price_target.saturating_sub(sqrt_price_curr)) .saturating_to_num::() @@ -252,14 +252,14 @@ impl SwapStep fn sqrt_price_target( liquidity_curr: U64F64, sqrt_price_curr: SqrtPrice, - delta_in: TaoCurrency, + delta_in: TaoBalance, ) -> SqrtPrice { let delta_fixed = U64F64::saturating_from_num(delta_in); // No liquidity means that price should go to the limit if liquidity_curr == 0 { return SqrtPrice::saturating_from_num( - Pallet::::max_price_inner::().to_u64(), + Pallet::::max_price_inner::().to_u64(), ); } @@ -276,7 +276,7 @@ impl SwapStep SwapStepAction::Crossing } - fn add_fees(netuid: NetUid, current_liquidity: U64F64, fee: TaoCurrency) { + fn add_fees(netuid: NetUid, current_liquidity: U64F64, fee: TaoBalance) { if current_liquidity == 0 { return; } @@ -288,10 +288,10 @@ impl SwapStep }); } - fn convert_deltas(netuid: NetUid, delta_in: TaoCurrency) -> AlphaCurrency { + fn convert_deltas(netuid: NetUid, delta_in: TaoBalance) -> AlphaBalance { // Skip conversion if delta_in is zero if delta_in.is_zero() { - return AlphaCurrency::ZERO; + return AlphaBalance::ZERO; } let liquidity_curr = SqrtPrice::saturating_from_num(CurrentLiquidity::::get(netuid)); @@ -346,14 +346,14 @@ impl SwapStep } } -impl SwapStep - for BasicSwapStep +impl SwapStep + for BasicSwapStep { fn delta_in( liquidity_curr: U64F64, sqrt_price_curr: SqrtPrice, sqrt_price_target: SqrtPrice, - ) -> AlphaCurrency { + ) -> AlphaBalance { let one = U64F64::saturating_from_num(1); liquidity_curr @@ -385,7 +385,7 @@ impl SwapStep fn sqrt_price_target( liquidity_curr: U64F64, sqrt_price_curr: SqrtPrice, - delta_in: AlphaCurrency, + delta_in: AlphaBalance, ) -> SqrtPrice { let delta_fixed = U64F64::saturating_from_num(delta_in); let one = U64F64::saturating_from_num(1); @@ -393,7 +393,7 @@ impl SwapStep // No liquidity means that price should go to the limit if liquidity_curr == 0 { return SqrtPrice::saturating_from_num( - Pallet::::min_price_inner::().to_u64(), + Pallet::::min_price_inner::().to_u64(), ); } @@ -412,7 +412,7 @@ impl SwapStep SwapStepAction::Stop } - fn add_fees(netuid: NetUid, current_liquidity: U64F64, fee: AlphaCurrency) { + fn add_fees(netuid: NetUid, current_liquidity: U64F64, fee: AlphaBalance) { if current_liquidity == 0 { return; } @@ -424,10 +424,10 @@ impl SwapStep }); } - fn convert_deltas(netuid: NetUid, delta_in: AlphaCurrency) -> TaoCurrency { + fn convert_deltas(netuid: NetUid, delta_in: AlphaBalance) -> TaoBalance { // Skip conversion if delta_in is zero if delta_in.is_zero() { - return TaoCurrency::ZERO; + return TaoBalance::ZERO; } let liquidity_curr = SqrtPrice::saturating_from_num(CurrentLiquidity::::get(netuid)); @@ -495,8 +495,8 @@ impl SwapStep pub(crate) trait SwapStep where T: Config, - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { /// Get the input amount needed to reach the target price fn delta_in( @@ -547,8 +547,8 @@ where #[derive(Debug, PartialEq)] pub(crate) struct SwapStepResult where - PaidIn: Currency, - PaidOut: Currency, + PaidIn: Token, + PaidOut: Token, { pub(crate) amount_to_take: PaidIn, pub(crate) fee_paid: PaidIn, diff --git a/pallets/swap/src/pallet/tests.rs b/pallets/swap/src/pallet/tests.rs index b26825641e..8365a5c71f 100644 --- a/pallets/swap/src/pallet/tests.rs +++ b/pallets/swap/src/pallet/tests.rs @@ -553,8 +553,8 @@ fn test_remove_liquidity_basic() { alpha, epsilon = alpha / 1000 ); - assert_eq!(remove_result.fee_tao, TaoCurrency::ZERO); - assert_eq!(remove_result.fee_alpha, AlphaCurrency::ZERO); + assert_eq!(remove_result.fee_tao, TaoBalance::ZERO); + assert_eq!(remove_result.fee_alpha, AlphaBalance::ZERO); // Liquidity position is removed assert_eq!( @@ -679,8 +679,8 @@ fn test_modify_position_basic() { alpha / 10, epsilon = alpha / 1000 ); - assert!(modify_result.fee_tao > TaoCurrency::ZERO); - assert_eq!(modify_result.fee_alpha, AlphaCurrency::ZERO); + assert!(modify_result.fee_tao > TaoBalance::ZERO); + assert_eq!(modify_result.fee_alpha, AlphaBalance::ZERO); // Liquidity position is reduced assert_eq!( @@ -734,8 +734,8 @@ fn test_modify_position_basic() { alpha / 100, epsilon = alpha / 1000 ); - assert_eq!(modify_result.fee_tao, TaoCurrency::ZERO); - assert_eq!(modify_result.fee_alpha, AlphaCurrency::ZERO); + assert_eq!(modify_result.fee_tao, TaoBalance::ZERO); + assert_eq!(modify_result.fee_alpha, AlphaBalance::ZERO); }); }); } @@ -1292,7 +1292,7 @@ fn test_swap_precision_edge_case() { let swap_result = Pallet::::do_swap(netuid, order, sqrt_limit_price, false, true).unwrap(); - assert!(swap_result.amount_paid_out > TaoCurrency::ZERO); + assert!(swap_result.amount_paid_out > TaoBalance::ZERO); }); } @@ -1370,7 +1370,7 @@ fn test_convert_deltas() { AlphaSqrtPrice::::insert(netuid, sqrt_price); assert_abs_diff_eq!( - BasicSwapStep::::convert_deltas( + BasicSwapStep::::convert_deltas( netuid, delta_in.into() ), @@ -1378,7 +1378,7 @@ fn test_convert_deltas() { epsilon = 2.into() ); assert_abs_diff_eq!( - BasicSwapStep::::convert_deltas( + BasicSwapStep::::convert_deltas( netuid, delta_in.into() ), @@ -2264,7 +2264,7 @@ fn liquidate_v3_refunds_user_funds_and_clears_state() { ::BalanceOps::decrease_stake(&cold, &hot, netuid.into(), need_alpha.into()) .expect("decrease ALPHA"); TaoReserve::increase_provided(netuid.into(), tao_taken); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(need_alpha)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(need_alpha)); // Users‑only liquidation. assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2330,7 +2330,7 @@ fn refund_alpha_single_provider_exact() { alpha_needed.into(), ) .expect("decrease ALPHA"); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(alpha_needed)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(alpha_needed)); // --- Act: users‑only dissolve. assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2400,11 +2400,11 @@ fn refund_alpha_multiple_providers_proportional_to_principal() { // Withdraw α and account reserves for each provider. ::BalanceOps::decrease_stake(&c1, &h1, netuid.into(), a1.into()) .expect("decrease α #1"); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a1)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(a1)); ::BalanceOps::decrease_stake(&c2, &h2, netuid.into(), a2.into()) .expect("decrease α #2"); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a2)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(a2)); // Act assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2460,11 +2460,11 @@ fn refund_alpha_same_cold_multiple_hotkeys_conserved_to_owner() { // Withdraw α from both hotkeys; track provided‑reserve. ::BalanceOps::decrease_stake(&cold, &hot1, netuid.into(), a1.into()) .expect("decr α #hot1"); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a1)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(a1)); ::BalanceOps::decrease_stake(&cold, &hot2, netuid.into(), a2.into()) .expect("decr α #hot2"); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(a2)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(a2)); // Act assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2555,7 +2555,7 @@ fn test_dissolve_v3_green_path_refund_tao_stake_alpha_and_clear_state() { .expect("decrease ALPHA"); TaoReserve::increase_provided(netuid.into(), tao_taken); - AlphaReserve::increase_provided(netuid.into(), AlphaCurrency::from(alpha_needed)); + AlphaReserve::increase_provided(netuid.into(), AlphaBalance::from(alpha_needed)); // --- Act: dissolve (GREEN PATH: permitted validators exist) --- assert_ok!(Pallet::::do_dissolve_all_liquidity_providers(netuid)); @@ -2730,7 +2730,7 @@ fn test_clear_protocol_liquidity_green_path() { } fn as_tuple( - (t_used, a_used, t_rem, a_rem): (TaoCurrency, AlphaCurrency, TaoCurrency, AlphaCurrency), + (t_used, a_used, t_rem, a_rem): (TaoBalance, AlphaBalance, TaoBalance, AlphaBalance), ) -> (u64, u64, u64, u64) { ( u64::from(t_used), @@ -2744,8 +2744,8 @@ fn as_tuple( fn proportional_when_price_is_one_and_tao_is_plenty() { // sqrt_price = 1.0 => price = 1.0 let sqrt = U64F64::from_num(1u64); - let amount_tao: TaoCurrency = 10u64.into(); - let amount_alpha: AlphaCurrency = 3u64.into(); + let amount_tao: TaoBalance = 10u64.into(); + let amount_alpha: AlphaBalance = 3u64.into(); // alpha * price = 3 * 1 = 3 <= amount_tao(10) let out = @@ -2757,8 +2757,8 @@ fn proportional_when_price_is_one_and_tao_is_plenty() { fn proportional_when_price_is_one_and_alpha_is_excess() { // sqrt_price = 1.0 => price = 1.0 let sqrt = U64F64::from_num(1u64); - let amount_tao: TaoCurrency = 5u64.into(); - let amount_alpha: AlphaCurrency = 10u64.into(); + let amount_tao: TaoBalance = 5u64.into(); + let amount_alpha: AlphaBalance = 10u64.into(); // tao is limiting: alpha_equiv = floor(5 / 1) = 5 let out = @@ -2770,8 +2770,8 @@ fn proportional_when_price_is_one_and_alpha_is_excess() { fn proportional_with_higher_price_and_alpha_limiting() { // Choose sqrt_price = 2.0 => price = 4.0 (since implementation squares it) let sqrt = U64F64::from_num(2u64); - let amount_tao: TaoCurrency = 85u64.into(); - let amount_alpha: AlphaCurrency = 20u64.into(); + let amount_tao: TaoBalance = 85u64.into(); + let amount_alpha: AlphaBalance = 20u64.into(); // tao_equivalent = alpha * price = 20 * 4 = 80 < 85 => alpha limits tao // remainders: tao 5, alpha 0 @@ -2784,8 +2784,8 @@ fn proportional_with_higher_price_and_alpha_limiting() { fn proportional_with_higher_price_and_tao_limiting() { // Choose sqrt_price = 2.0 => price = 4.0 (since implementation squares it) let sqrt = U64F64::from_num(2u64); - let amount_tao: TaoCurrency = 50u64.into(); - let amount_alpha: AlphaCurrency = 20u64.into(); + let amount_tao: TaoBalance = 50u64.into(); + let amount_alpha: AlphaBalance = 20u64.into(); // tao_equivalent = alpha * price = 20 * 4 = 80 > 50 => tao limits alpha // alpha_equivalent = floor(50 / 4) = 12 @@ -2799,8 +2799,8 @@ fn proportional_with_higher_price_and_tao_limiting() { fn zero_price_uses_no_tao_and_all_alpha() { // sqrt_price = 0 => price = 0 let sqrt = U64F64::from_num(0u64); - let amount_tao: TaoCurrency = 42u64.into(); - let amount_alpha: AlphaCurrency = 17u64.into(); + let amount_tao: TaoBalance = 42u64.into(); + let amount_alpha: AlphaBalance = 17u64.into(); // tao_equivalent = 17 * 0 = 0 <= 42 let out = @@ -2812,8 +2812,8 @@ fn zero_price_uses_no_tao_and_all_alpha() { fn rounding_down_behavior_when_dividing_by_price() { // sqrt_price = 2.0 => price = 4.0 let sqrt = U64F64::from_num(2u64); - let amount_tao: TaoCurrency = 13u64.into(); - let amount_alpha: AlphaCurrency = 100u64.into(); + let amount_tao: TaoBalance = 13u64.into(); + let amount_alpha: AlphaBalance = 100u64.into(); // tao is limiting; alpha_equiv = floor(13 / 4) = 3 // remainders: tao 0, alpha 100 - 3 = 97 @@ -2826,8 +2826,8 @@ fn rounding_down_behavior_when_dividing_by_price() { fn exact_fit_when_tao_matches_alpha_times_price() { // sqrt_price = 1.0 => price = 1.0 let sqrt = U64F64::from_num(1u64); - let amount_tao: TaoCurrency = 9u64.into(); - let amount_alpha: AlphaCurrency = 9u64.into(); + let amount_tao: TaoBalance = 9u64.into(); + let amount_alpha: AlphaBalance = 9u64.into(); let out = Pallet::::get_proportional_alpha_tao_and_remainders(sqrt, amount_tao, amount_alpha); @@ -2865,8 +2865,8 @@ fn adjust_protocol_liquidity_uses_and_sets_scrap_reservoirs() { AlphaSqrtPrice::::insert(netuid, U64F64::saturating_from_num(1u64)); // Start with some non-zero scrap reservoirs - ScrapReservoirTao::::insert(netuid, TaoCurrency::from(7u64)); - ScrapReservoirAlpha::::insert(netuid, AlphaCurrency::from(5u64)); + ScrapReservoirTao::::insert(netuid, TaoBalance::from(7u64)); + ScrapReservoirAlpha::::insert(netuid, AlphaBalance::from(5u64)); // Create a minimal protocol position so the function’s body executes. let protocol = Pallet::::protocol_account_id(); @@ -2889,11 +2889,11 @@ fn adjust_protocol_liquidity_uses_and_sets_scrap_reservoirs() { // --- Assert: reservoirs were READ (used in proportional calc) and then SET (updated) assert_eq!( ScrapReservoirTao::::get(netuid), - TaoCurrency::from(2u64) + TaoBalance::from(2u64) ); assert_eq!( ScrapReservoirAlpha::::get(netuid), - AlphaCurrency::from(0u64) + AlphaBalance::from(0u64) ); }); } diff --git a/pallets/transaction-fee/src/lib.rs b/pallets/transaction-fee/src/lib.rs index fd316dadab..9eb644a2e4 100644 --- a/pallets/transaction-fee/src/lib.rs +++ b/pallets/transaction-fee/src/lib.rs @@ -19,7 +19,7 @@ use sp_runtime::{ Perbill, Saturating, traits::{DispatchInfoOf, PostDispatchInfoOf}, }; -use subtensor_runtime_common::{Currency, TaoCurrency}; +use subtensor_runtime_common::{TaoBalance, Token}; // Pallets use pallet_subtensor::Call as SubtensorCall; @@ -43,11 +43,11 @@ type CallOf = ::RuntimeCall; pub struct LinearWeightToFee; impl WeightToFeePolynomial for LinearWeightToFee { - type Balance = TaoCurrency; + type Balance = TaoBalance; fn polynomial() -> WeightToFeeCoefficients { let coefficient: WeightToFeeCoefficient = WeightToFeeCoefficient { - coeff_integer: TaoCurrency::new(0), + coeff_integer: TaoBalance::new(0), coeff_frac: Perbill::from_parts(50_000), negative: false, degree: 1, @@ -62,12 +62,12 @@ pub trait AlphaFeeHandler { fn can_withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: TaoCurrency, + tao_amount: TaoBalance, ) -> bool; fn withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: TaoCurrency, + tao_amount: TaoBalance, ); fn get_all_netuids_for_coldkey_and_hotkey( coldkey: &AccountIdOf, @@ -93,13 +93,13 @@ type BalancesImbalanceOf = FungibleImbalance< impl OnUnbalanced> for TransactionFeeHandler where T: frame_system::Config + pallet_balances::Config + pallet_subtensor::Config, - // You must be able to convert the fee amount into TaoCurrency because TotalIssuance is TaoCurrency. - ::Balance: Into + Copy, + // You must be able to convert the fee amount into TaoBalance because TotalIssuance is TaoBalance. + ::Balance: Into + Copy, { fn on_nonzero_unbalanced(imbalance: BalancesImbalanceOf) { - let ti_before: TaoCurrency = pallet_subtensor::TotalIssuance::::get(); + let ti_before: TaoBalance = pallet_subtensor::TotalIssuance::::get(); - let fee: TaoCurrency = imbalance.peek().into(); + let fee: TaoBalance = imbalance.peek().into(); pallet_subtensor::TotalIssuance::::put(ti_before.saturating_sub(fee)); @@ -127,7 +127,7 @@ where fn can_withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: TaoCurrency, + tao_amount: TaoBalance, ) -> bool { if alpha_vec.is_empty() { // Alpha vector is empty, nothing to withdraw @@ -136,8 +136,8 @@ where // Divide tao_amount among all alpha entries let tao_per_entry = tao_amount - .checked_div(&TaoCurrency::from(alpha_vec.len())) - .unwrap_or(TaoCurrency::ZERO); + .checked_div(&TaoBalance::from(alpha_vec.len())) + .unwrap_or(TaoBalance::ZERO); // The rule here is that we should be able to withdraw at least from one entry. // This is not ideal because it may not pay all fees, but UX is the priority @@ -156,15 +156,15 @@ where fn withdraw_in_alpha( coldkey: &AccountIdOf, alpha_vec: &[(AccountIdOf, NetUid)], - tao_amount: TaoCurrency, + tao_amount: TaoBalance, ) { if alpha_vec.is_empty() { return; } let tao_per_entry = tao_amount - .checked_div(&TaoCurrency::from(alpha_vec.len())) - .unwrap_or(TaoCurrency::ZERO); + .checked_div(&TaoBalance::from(alpha_vec.len())) + .unwrap_or(TaoBalance::ZERO); alpha_vec.iter().for_each(|(hotkey, netuid)| { // Divide tao_amount evenly among all alpha entries @@ -301,7 +301,7 @@ where CallOf: IsSubType>, F: Balanced, OU: OnUnbalanced> + AlphaFeeHandler, - >>::Balance: Into, + >>::Balance: Into, { type LiquidityInfo = Option>; type Balance = ::AccountId>>::Balance; diff --git a/pallets/transaction-fee/src/tests/mock.rs b/pallets/transaction-fee/src/tests/mock.rs index 3ae4e9ea87..824f066bcb 100644 --- a/pallets/transaction-fee/src/tests/mock.rs +++ b/pallets/transaction-fee/src/tests/mock.rs @@ -22,7 +22,7 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -pub use subtensor_runtime_common::{AlphaCurrency, ConstTao, Currency, NetUid, TaoCurrency}; +pub use subtensor_runtime_common::{AlphaBalance, ConstTao, NetUid, TaoBalance, Token}; use subtensor_swap_interface::{Order, SwapHandler}; use crate::SubtensorTxFeeHandler; @@ -75,7 +75,7 @@ pub type Address = AccountId; // Balance of an account. #[allow(dead_code)] -pub type Balance = TaoCurrency; +pub type Balance = TaoBalance; // An index to a block. #[allow(dead_code)] @@ -147,8 +147,8 @@ parameter_types! { Weight::from_parts(2_000_000_000_000, u64::MAX), Perbill::from_percent(75), ); - pub const ExistentialDeposit: Balance = TaoCurrency::new(1); - pub const TransactionByteFee: Balance = TaoCurrency::new(100); + pub const ExistentialDeposit: Balance = TaoBalance::new(1); + pub const TransactionByteFee: Balance = TaoBalance::new(100); pub const SDebug:u64 = 1; pub const InitialRho: u16 = 30; pub const InitialAlphaSigmoidSteepness: i16 = 1000; @@ -173,15 +173,15 @@ parameter_types! { pub const InitialTxRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxDelegateTakeRateLimit: u64 = 0; // Disable rate limit for testing pub const InitialTxChildKeyTakeRateLimit: u64 = 0; // Disable rate limit for testing - pub const InitialBurn: TaoCurrency = TaoCurrency::new(0); - pub const InitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); - pub const InitialMaxBurn: TaoCurrency = TaoCurrency::new(1_000_000_000); - pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO - pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const InitialBurn: TaoBalance = TaoBalance::new(0); + pub const InitialMinBurn: TaoBalance = TaoBalance::new(500_000); + pub const InitialMaxBurn: TaoBalance = TaoBalance::new(1_000_000_000); + pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO + pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const InitialValidatorPruneLen: u64 = 0; pub const InitialScalingLawPower: u16 = 50; pub const InitialMaxAllowedValidators: u16 = 100; - pub const InitialIssuance: TaoCurrency = TaoCurrency::new(0); + pub const InitialIssuance: TaoBalance = TaoBalance::new(0); pub const InitialDifficulty: u64 = 10000; pub const InitialActivityCutoff: u16 = 5000; pub const InitialAdjustmentInterval: u16 = 100; @@ -192,13 +192,13 @@ parameter_types! { pub const InitialRegistrationRequirement: u16 = u16::MAX; // Top 100% pub const InitialMinDifficulty: u64 = 1; pub const InitialMaxDifficulty: u64 = u64::MAX; - pub const InitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::new(0); + pub const InitialRAORecycledForRegistration: TaoBalance = TaoBalance::new(0); pub const InitialNetworkImmunityPeriod: u64 = 7200 * 7; - pub const InitialNetworkMinLockCost: TaoCurrency = TaoCurrency::new(100_000_000_000_u64); + pub const InitialNetworkMinLockCost: TaoBalance = TaoBalance::new(100_000_000_000_u64); pub const InitialSubnetOwnerCut: u16 = 0; // 0%. 100% of rewards go to validators + miners. pub const InitialNetworkLockReductionInterval: u64 = 2; // 2 blocks. pub const InitialNetworkRateLimit: u64 = 0; - pub const InitialKeySwapCost: TaoCurrency = TaoCurrency::new(1_000_000_000); + pub const InitialKeySwapCost: TaoBalance = TaoBalance::new(1_000_000_000); pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -209,7 +209,7 @@ parameter_types! { pub const InitialTaoWeight: u64 = u64::MAX/10; // 10% global weight. pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks pub const InitialStartCallDelay: u64 = 0; // 0 days - pub const InitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(10_000_000); + pub const InitialKeySwapOnSubnetCost: TaoBalance = TaoBalance::new(10_000_000); pub const HotkeySwapOnSubnetInterval: u64 = 7 * 24 * 60 * 60 / 12; // 7 days pub const LeaseDividendsDistributionInterval: u32 = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -292,8 +292,8 @@ impl pallet_subtensor::Config for Test { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = TaoCurrency::new(1); - pub const PreimageByteDeposit: Balance = TaoCurrency::new(1); + pub const PreimageBaseDeposit: Balance = TaoBalance::new(1); + pub const PreimageByteDeposit: Balance = TaoBalance::new(1); } impl pallet_preimage::Config for Test { @@ -306,8 +306,8 @@ impl pallet_preimage::Config for Test { parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: TaoCurrency = TaoCurrency::new(50); - pub const AbsoluteMinimumContribution: TaoCurrency = TaoCurrency::new(10); + pub const MinimumDeposit: TaoBalance = TaoBalance::new(50); + pub const AbsoluteMinimumContribution: TaoBalance = TaoBalance::new(10); pub const MinimumBlockDuration: u64 = 20; pub const MaximumBlockDuration: u64 = 100; pub const RefundContributorsLimit: u32 = 5; @@ -344,7 +344,7 @@ impl system::Config for Test { type BlockHashCount = BlockHashCount; type Version = (); type PalletInfo = PalletInfo; - type AccountData = pallet_balances::AccountData; + type AccountData = pallet_balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); @@ -373,7 +373,7 @@ impl pallet_balances::Config for Test { type MaxLocks = (); type MaxReserves = (); type ReserveIdentifier = [u8; 8]; - type Balance = TaoCurrency; + type Balance = TaoBalance; type RuntimeEvent = RuntimeEvent; type DustRemoval = (); type ExistentialDeposit = ConstTao<1>; @@ -590,14 +590,14 @@ pub fn add_dynamic_network(hotkey: &U256, coldkey: &U256) -> NetUid { netuid } -pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoCurrency, alpha: AlphaCurrency) { +pub(crate) fn setup_reserves(netuid: NetUid, tao: TaoBalance, alpha: AlphaBalance) { SubnetTAO::::set(netuid, tao); SubnetAlphaIn::::set(netuid, alpha); } pub(crate) fn swap_alpha_to_tao_ext( netuid: NetUid, - alpha: AlphaCurrency, + alpha: AlphaBalance, drop_fees: bool, ) -> (u64, u64) { if netuid.is_root() { @@ -623,7 +623,7 @@ pub(crate) fn swap_alpha_to_tao_ext( (result.amount_paid_out.to_u64(), result.fee_paid.to_u64()) } -pub(crate) fn swap_alpha_to_tao(netuid: NetUid, alpha: AlphaCurrency) -> (u64, u64) { +pub(crate) fn swap_alpha_to_tao(netuid: NetUid, alpha: AlphaBalance) -> (u64, u64) { swap_alpha_to_tao_ext(netuid, alpha, false) } @@ -710,7 +710,7 @@ pub fn setup_stake(netuid: NetUid, coldkey: &U256, hotkey: &U256, amount: u64) { // Stake to hotkey account, and check if the result is ok SubtensorModule::add_balance_to_coldkey_account( coldkey, - TaoCurrency::from(amount) + ExistentialDeposit::get(), + TaoBalance::from(amount) + ExistentialDeposit::get(), ); remove_stake_rate_limit_for_tests(hotkey, coldkey, netuid); assert_ok!(SubtensorModule::add_stake( diff --git a/pallets/transaction-fee/src/tests/mod.rs b/pallets/transaction-fee/src/tests/mod.rs index c05d56b8e9..34183a3be5 100644 --- a/pallets/transaction-fee/src/tests/mod.rs +++ b/pallets/transaction-fee/src/tests/mod.rs @@ -8,7 +8,7 @@ use sp_runtime::{ transaction_validity::{InvalidTransaction, TransactionValidityError}, }; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::AlphaCurrency; +use subtensor_runtime_common::AlphaBalance; use mock::*; mod mock; @@ -18,7 +18,7 @@ mod mock; fn test_remove_stake_fees_tao() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -26,7 +26,7 @@ fn test_remove_stake_fees_tao() { &sn.hotkeys[0], stake_amount, ); - SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TaoCurrency::from(TAO)); + SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TaoBalance::from(TAO)); // Simulate stake removal to get how much TAO should we get for unstaked Alpha let (expected_unstaked_tao, _swap_fee) = @@ -64,12 +64,12 @@ fn test_remove_stake_fees_tao() { ); let actual_tao_fee = - balance_before + TaoCurrency::from(expected_unstaked_tao) - final_balance; + balance_before + TaoBalance::from(expected_unstaked_tao) - final_balance; let actual_alpha_fee = alpha_before - alpha_after - unstake_amount; // Remove stake extrinsic should pay fees in TAO because ck has sufficient TAO balance assert!(actual_tao_fee > 0.into()); - assert_eq!(actual_alpha_fee, AlphaCurrency::from(0)); + assert_eq!(actual_alpha_fee, AlphaBalance::from(0)); }); } @@ -79,7 +79,7 @@ fn test_remove_stake_fees_tao() { fn test_remove_stake_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -131,7 +131,7 @@ fn test_remove_stake_fees_alpha() { ); let actual_tao_fee = - balance_before + TaoCurrency::from(expected_unstaked_tao) - final_balance; + balance_before + TaoBalance::from(expected_unstaked_tao) - final_balance; let actual_alpha_fee = alpha_before - alpha_after - unstake_amount; // Remove stake extrinsic should pay fees in Alpha @@ -192,7 +192,7 @@ fn test_remove_stake_root() { let actual_tao_fee = balance_before + unstake_amount.into() - final_balance; let actual_alpha_fee = - AlphaCurrency::from(stake_amount) - alpha_after - unstake_amount.into(); + AlphaBalance::from(stake_amount) - alpha_after - unstake_amount.into(); // Remove stake extrinsic should pay fees in Alpha (withdrawn from staked TAO) assert_eq!(actual_tao_fee, 0.into()); @@ -347,7 +347,7 @@ fn test_remove_stake_not_enough_balance_for_fees() { ); // For-set Alpha balance to low - let new_current_stake = AlphaCurrency::from(1_000); + let new_current_stake = AlphaBalance::from(1_000); SubtensorModule::decrease_stake_for_hotkey_and_coldkey_on_subnet( &sn.hotkeys[0], &sn.coldkey, @@ -414,7 +414,7 @@ fn test_remove_stake_edge_alpha() { ); // For-set Alpha balance to low, but enough to pay tx fees at the current Alpha price - let new_current_stake = AlphaCurrency::from(1_000_000); + let new_current_stake = AlphaBalance::from(1_000_000); SubtensorModule::decrease_stake_for_hotkey_and_coldkey_on_subnet( &sn.hotkeys[0], &sn.coldkey, @@ -470,7 +470,7 @@ fn test_remove_stake_edge_alpha() { fn test_remove_stake_failing_transaction_tao_fees() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -481,7 +481,7 @@ fn test_remove_stake_failing_transaction_tao_fees() { SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, TAO.into()); // Make unstaking fail by reducing liquidity to critical - SubnetTAO::::insert(sn.subnets[0].netuid, TaoCurrency::from(1)); + SubnetTAO::::insert(sn.subnets[0].netuid, TaoBalance::from(1)); // Remove stake let balance_before = Balances::free_balance(sn.coldkey); @@ -530,7 +530,7 @@ fn test_remove_stake_failing_transaction_tao_fees() { fn test_remove_stake_failing_transaction_alpha_fees() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -540,7 +540,7 @@ fn test_remove_stake_failing_transaction_alpha_fees() { ); // Make unstaking fail by reducing liquidity to critical - SubnetTAO::::insert(sn.subnets[0].netuid, TaoCurrency::from(1)); + SubnetTAO::::insert(sn.subnets[0].netuid, TaoBalance::from(1)); // Forse-set signer balance to ED let current_balance = Balances::free_balance(sn.coldkey); @@ -596,7 +596,7 @@ fn test_remove_stake_failing_transaction_alpha_fees() { fn test_remove_stake_limit_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -805,7 +805,7 @@ fn test_unstake_all_alpha_fees_alpha() { fn test_move_stake_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(2, 2); setup_stake( sn.subnets[0].netuid, @@ -878,7 +878,7 @@ fn test_transfer_stake_fees_alpha() { new_test_ext().execute_with(|| { let destination_coldkey = U256::from(100000); let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(2, 2); setup_stake( sn.subnets[0].netuid, @@ -950,7 +950,7 @@ fn test_transfer_stake_fees_alpha() { fn test_swap_stake_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(2, 2); setup_stake( sn.subnets[0].netuid, @@ -1021,7 +1021,7 @@ fn test_swap_stake_fees_alpha() { fn test_swap_stake_limit_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let unstake_amount = AlphaCurrency::from(TAO / 50); + let unstake_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(2, 2); setup_stake( sn.subnets[0].netuid, @@ -1094,7 +1094,7 @@ fn test_swap_stake_limit_fees_alpha() { fn test_burn_alpha_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let alpha_amount = AlphaCurrency::from(TAO / 50); + let alpha_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, @@ -1156,7 +1156,7 @@ fn test_burn_alpha_fees_alpha() { fn test_recycle_alpha_fees_alpha() { new_test_ext().execute_with(|| { let stake_amount = TAO; - let alpha_amount = AlphaCurrency::from(TAO / 50); + let alpha_amount = AlphaBalance::from(TAO / 50); let sn = setup_subnets(1, 1); setup_stake( sn.subnets[0].netuid, diff --git a/precompiles/src/alpha.rs b/precompiles/src/alpha.rs index 8dcea0e829..c90851c543 100644 --- a/precompiles/src/alpha.rs +++ b/precompiles/src/alpha.rs @@ -6,7 +6,7 @@ use precompile_utils::EvmResult; use sp_core::U256; use sp_std::vec::Vec; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{Currency, NetUid}; +use subtensor_runtime_common::{NetUid, Token}; use subtensor_swap_interface::{Order, SwapHandler}; use crate::PrecompileExt; diff --git a/precompiles/src/metagraph.rs b/precompiles/src/metagraph.rs index cc9652a74b..4b3738df57 100644 --- a/precompiles/src/metagraph.rs +++ b/precompiles/src/metagraph.rs @@ -5,7 +5,7 @@ use fp_evm::{ExitError, PrecompileFailure, PrecompileHandle}; use pallet_subtensor::AxonInfo as SubtensorModuleAxonInfo; use precompile_utils::{EvmResult, solidity::Codec}; use sp_core::{ByteArray, H256}; -use subtensor_runtime_common::{Currency, NetUid}; +use subtensor_runtime_common::{NetUid, Token}; use crate::PrecompileExt; diff --git a/precompiles/src/staking.rs b/precompiles/src/staking.rs index 2ed8891a5c..4daa31687b 100644 --- a/precompiles/src/staking.rs +++ b/precompiles/src/staking.rs @@ -39,7 +39,7 @@ use precompile_utils::EvmResult; use sp_core::{H256, U256}; use sp_runtime::traits::{AsSystemOriginSigner, Dispatchable, StaticLookup, UniqueSaturatedInto}; use sp_std::vec; -use subtensor_runtime_common::{Currency, NetUid, ProxyType}; +use subtensor_runtime_common::{NetUid, ProxyType, Token}; use crate::{PrecompileExt, PrecompileHandleExt}; diff --git a/precompiles/src/subnet.rs b/precompiles/src/subnet.rs index 9d1e24cc1e..79c08c2625 100644 --- a/precompiles/src/subnet.rs +++ b/precompiles/src/subnet.rs @@ -9,7 +9,7 @@ use precompile_utils::{EvmResult, prelude::BoundedString}; use sp_core::H256; use sp_runtime::traits::{AsSystemOriginSigner, Dispatchable}; use sp_std::vec; -use subtensor_runtime_common::{Currency, NetUid}; +use subtensor_runtime_common::{NetUid, Token}; use crate::{PrecompileExt, PrecompileHandleExt}; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index f5bce4ef29..5e509b4e6a 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -72,7 +72,7 @@ use sp_std::prelude::*; use sp_version::NativeVersion; use sp_version::RuntimeVersion; use subtensor_precompiles::Precompiles; -use subtensor_runtime_common::{AlphaCurrency, TaoCurrency, time::*, *}; +use subtensor_runtime_common::{AlphaBalance, TaoBalance, time::*, *}; use subtensor_swap_interface::{Order, SwapHandler}; // A few exports that help ease life for downstream crates. @@ -200,7 +200,7 @@ pub use pallet_subtensor; pub const fn deposit(items: u32, bytes: u32) -> Balance { pub const ITEMS_FEE: u64 = 2_000 * 10_000; pub const BYTES_FEE: u64 = 100 * 10_000; - TaoCurrency::new( + TaoBalance::new( (items as u64) .saturating_mul(ITEMS_FEE) .saturating_add((bytes as u64).saturating_mul(BYTES_FEE)), @@ -432,9 +432,9 @@ impl pallet_safe_mode::Config for Runtime { // Existential deposit. pub const EXISTENTIAL_DEPOSIT: u64 = 500; pub struct ExistentialDeposit; -impl frame_support::traits::Get for ExistentialDeposit { - fn get() -> TaoCurrency { - TaoCurrency::new(500) +impl frame_support::traits::Get for ExistentialDeposit { + fn get() -> TaoBalance { + TaoBalance::new(500) } } @@ -863,8 +863,8 @@ impl CanRegisterIdentity for AllowIdentityReg { // Configure registry pallet. parameter_types! { pub const MaxAdditionalFields: u32 = 1; - pub const InitialDeposit: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO - pub const FieldDeposit: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const InitialDeposit: Balance = TaoBalance::new(100_000_000); // 0.1 TAO + pub const FieldDeposit: Balance = TaoBalance::new(100_000_000); // 0.1 TAO } impl pallet_registry::Config for Runtime { @@ -880,8 +880,8 @@ impl pallet_registry::Config for Runtime { parameter_types! { pub const MaxCommitFieldsInner: u32 = 3; - pub const CommitmentInitialDeposit: Balance = TaoCurrency::ZERO; // Free - pub const CommitmentFieldDeposit: Balance = TaoCurrency::ZERO; // Free + pub const CommitmentInitialDeposit: Balance = TaoBalance::ZERO; // Free + pub const CommitmentFieldDeposit: Balance = TaoBalance::ZERO; // Free } #[subtensor_macros::freeze_struct("7c76bd954afbb54e")] @@ -969,7 +969,7 @@ parameter_types! { pub const SubtensorInitialAlphaSigmoidSteepness: i16 = 1000; pub const SubtensorInitialKappa: u16 = 32_767; // 0.5 = 65535/2 pub const SubtensorInitialMaxAllowedUids: u16 = 256; - pub const SubtensorInitialIssuance: TaoCurrency = TaoCurrency::ZERO; + pub const SubtensorInitialIssuance: TaoBalance = TaoBalance::ZERO; pub const SubtensorInitialMinAllowedWeights: u16 = 1024; pub const SubtensorInitialEmissionValue: u16 = 0; pub const SubtensorInitialValidatorPruneLen: u64 = 1; @@ -996,23 +996,23 @@ parameter_types! { pub const SubtensorInitialMinDifficulty: u64 = 10_000_000; pub const SubtensorInitialMaxDifficulty: u64 = u64::MAX / 4; pub const SubtensorInitialServingRateLimit: u64 = 50; - pub const SubtensorInitialBurn: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 tao - pub const SubtensorInitialMinBurn: TaoCurrency = TaoCurrency::new(500_000); // 500k RAO - pub const SubtensorInitialMaxBurn: TaoCurrency = TaoCurrency::new(100_000_000_000); // 100 tao - pub const MinBurnUpperBound: TaoCurrency = TaoCurrency::new(1_000_000_000); // 1 TAO - pub const MaxBurnLowerBound: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const SubtensorInitialBurn: TaoBalance = TaoBalance::new(100_000_000); // 0.1 tao + pub const SubtensorInitialMinBurn: TaoBalance = TaoBalance::new(500_000); // 500k RAO + pub const SubtensorInitialMaxBurn: TaoBalance = TaoBalance::new(100_000_000_000); // 100 tao + pub const MinBurnUpperBound: TaoBalance = TaoBalance::new(1_000_000_000); // 1 TAO + pub const MaxBurnLowerBound: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const SubtensorInitialTxRateLimit: u64 = 1000; pub const SubtensorInitialTxDelegateTakeRateLimit: u64 = 216000; // 30 days at 12 seconds per block pub const SubtensorInitialTxChildKeyTakeRateLimit: u64 = INITIAL_CHILDKEY_TAKE_RATELIMIT; - pub const SubtensorInitialRAORecycledForRegistration: TaoCurrency = TaoCurrency::ZERO; // 0 rao + pub const SubtensorInitialRAORecycledForRegistration: TaoBalance = TaoBalance::ZERO; // 0 rao pub const SubtensorInitialRequiredStakePercentage: u64 = 1; // 1 percent of total stake pub const SubtensorInitialNetworkImmunity: u64 = 1_296_000; pub const SubtensorInitialMinAllowedUids: u16 = 64; - pub const SubtensorInitialMinLockCost: TaoCurrency = TaoCurrency::new(1_000_000_000_000_u64); // 1000 TAO + pub const SubtensorInitialMinLockCost: TaoBalance = TaoBalance::new(1_000_000_000_000_u64); // 1000 TAO pub const SubtensorInitialSubnetOwnerCut: u16 = 11_796; // 18 percent pub const SubtensorInitialNetworkLockReductionInterval: u64 = 14 * 7200; pub const SubtensorInitialNetworkRateLimit: u64 = 7200; - pub const SubtensorInitialKeySwapCost: TaoCurrency = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const SubtensorInitialKeySwapCost: TaoBalance = TaoBalance::new(100_000_000); // 0.1 TAO pub const InitialAlphaHigh: u16 = 58982; // Represents 0.9 as per the production default pub const InitialAlphaLow: u16 = 45875; // Represents 0.7 as per the production default pub const InitialLiquidAlphaOn: bool = false; // Default value for LiquidAlphaOn @@ -1024,7 +1024,7 @@ parameter_types! { pub const InitialEmaPriceHalvingPeriod: u64 = 201_600_u64; // 4 weeks // 0 days pub const InitialStartCallDelay: u64 = 0; - pub const SubtensorInitialKeySwapOnSubnetCost: TaoCurrency = TaoCurrency::new(1_000_000); // 0.001 TAO + pub const SubtensorInitialKeySwapOnSubnetCost: TaoBalance = TaoBalance::new(1_000_000); // 0.001 TAO pub const HotkeySwapOnSubnetInterval : BlockNumber = 5 * 24 * 60 * 60 / 12; // 5 days pub const LeaseDividendsDistributionInterval: BlockNumber = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); @@ -1218,7 +1218,7 @@ const EVM_TO_SUBSTRATE_DECIMALS: u64 = 1_000_000_000_u64; pub struct SubtensorEvmBalanceConverter; impl BalanceConverter for SubtensorEvmBalanceConverter { - /// Convert from Substrate balance (TaoCurrency) to EVM balance (U256) + /// Convert from Substrate balance (TaoBalance) to EVM balance (U256) fn into_evm_balance(value: SubstrateBalance) -> Option { let value = value.into_u256(); if let Some(evm_value) = value.checked_mul(U256::from(EVM_TO_SUBSTRATE_DECIMALS)) { @@ -1239,7 +1239,7 @@ impl BalanceConverter for SubtensorEvmBalanceConverter { } } - /// Convert from EVM balance (U256) to Substrate balance (TaoCurrency) + /// Convert from EVM balance (U256) to Substrate balance (TaoBalance) fn into_substrate_balance(value: EvmBalance) -> Option { let value = value.into_u256(); if let Some(substrate_value) = value.checked_div(U256::from(EVM_TO_SUBSTRATE_DECIMALS)) { @@ -1418,8 +1418,8 @@ impl fp_self_contained::SelfContainedCall for RuntimeCall { // Crowdloan parameter_types! { pub const CrowdloanPalletId: PalletId = PalletId(*b"bt/cloan"); - pub const MinimumDeposit: Balance = TaoCurrency::new(10_000_000_000); // 10 TAO - pub const AbsoluteMinimumContribution: Balance = TaoCurrency::new(100_000_000); // 0.1 TAO + pub const MinimumDeposit: Balance = TaoBalance::new(10_000_000_000); // 10 TAO + pub const AbsoluteMinimumContribution: Balance = TaoBalance::new(100_000_000); // 0.1 TAO // 7 days minimum (7 * 24 * 60 * 60 / 12) pub const MinimumBlockDuration: BlockNumber = prod_or_fast!(50400, 50); // 60 days maximum (60 * 24 * 60 * 60 / 12) @@ -1461,7 +1461,7 @@ pub const fn contract_deposit(items: u32, bytes: u32) -> Balance { let key_fee = EXISTENTIAL_DEPOSIT.saturating_mul(CONTRACT_STORAGE_KEY_PERCENT) / 100; let byte_fee = EXISTENTIAL_DEPOSIT.saturating_mul(CONTRACT_STORAGE_BYTE_PERCENT) / 100; - TaoCurrency::new( + TaoBalance::new( (items as u64) .saturating_mul(key_fee) .saturating_add((bytes as u64).saturating_mul(byte_fee)), @@ -2292,7 +2292,7 @@ impl_runtime_apis! { SubtensorModule::get_delegate(delegate_account) } - fn get_delegated(delegatee_account: AccountId32) -> Vec<(DelegateInfo, (Compact, Compact))> { + fn get_delegated(delegatee_account: AccountId32) -> Vec<(DelegateInfo, (Compact, Compact))> { SubtensorModule::get_delegated(delegatee_account) } } @@ -2403,7 +2403,7 @@ impl_runtime_apis! { } impl subtensor_custom_rpc_runtime_api::SubnetRegistrationRuntimeApi for Runtime { - fn get_network_registration_cost() -> TaoCurrency { + fn get_network_registration_cost() -> TaoBalance { SubtensorModule::get_network_lock_cost() } } @@ -2472,7 +2472,7 @@ impl_runtime_apis! { .saturating_to_num() } - fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoCurrency) -> SimSwapResult { + fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoBalance) -> SimSwapResult { let order = pallet_subtensor::GetAlphaForTao::::with_amount(tao); pallet_subtensor_swap::Pallet::::sim_swap( netuid.into(), @@ -2494,7 +2494,7 @@ impl_runtime_apis! { ) } - fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaCurrency) -> SimSwapResult { + fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaBalance) -> SimSwapResult { let order = pallet_subtensor::GetTaoForAlpha::::with_amount(alpha); pallet_subtensor_swap::Pallet::::sim_swap( netuid.into(), diff --git a/runtime/tests/pallet_proxy.rs b/runtime/tests/pallet_proxy.rs index 0db4731fb2..1da1c4cdcc 100644 --- a/runtime/tests/pallet_proxy.rs +++ b/runtime/tests/pallet_proxy.rs @@ -6,7 +6,7 @@ use node_subtensor_runtime::{ RuntimeOrigin, SubtensorModule, System, SystemCall, }; use pallet_subtensor_proxy as pallet_proxy; -use subtensor_runtime_common::{AccountId, NetUid, ProxyType, TaoCurrency}; +use subtensor_runtime_common::{AccountId, NetUid, ProxyType, TaoBalance}; const ACCOUNT: [u8; 32] = [1_u8; 32]; const DELEGATE: [u8; 32] = [2_u8; 32]; @@ -16,7 +16,7 @@ type SystemError = frame_system::Error; pub fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); - let amount = TaoCurrency::from(1_000_000_000_000_u64); + let amount = TaoBalance::from(1_000_000_000_000_u64); let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig { balances: pallet_balances::GenesisConfig { balances: vec![ @@ -37,7 +37,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities { // transfer call fn call_transfer() -> RuntimeCall { - let value = TaoCurrency::from(100); + let value = TaoBalance::from(100); RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: AccountId::from(OTHER_ACCOUNT).into(), value, From 8ab450b402a0ab6b8ce6974ee6ba83f3b06ff9a9 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 12 Feb 2026 10:42:53 -0500 Subject: [PATCH 006/204] Use .into() for AlphaBalance and TaoBalance whenever applicable in non-test code --- chain-extensions/src/mock.rs | 2 +- .../subtensor/src/coinbase/block_emission.rs | 3 --- .../migrate_fix_root_tao_and_alpha_in.rs | 4 +-- .../migrate_network_lock_cost_2500.rs | 2 +- .../migrate_remove_zero_total_hotkey_alpha.rs | 2 +- .../src/migrations/migrate_subnet_locked.rs | 2 +- .../subtensor/src/rpc_info/dynamic_info.rs | 2 +- pallets/subtensor/src/rpc_info/metagraph.rs | 2 +- pallets/subtensor/src/staking/helpers.rs | 8 +++--- pallets/subtensor/src/staking/remove_stake.rs | 4 +-- pallets/swap/src/pallet/impls.rs | 26 +++++++++---------- pallets/transaction-fee/src/tests/mock.rs | 2 +- 12 files changed, 28 insertions(+), 31 deletions(-) diff --git a/chain-extensions/src/mock.rs b/chain-extensions/src/mock.rs index 57d154362e..0fd38acdfb 100644 --- a/chain-extensions/src/mock.rs +++ b/chain-extensions/src/mock.rs @@ -75,7 +75,7 @@ pub struct WeightToBalance; impl Convert for WeightToBalance { fn convert(weight: Weight) -> Balance { - TaoBalance::from(weight.ref_time()) + weight.ref_time().into() } } diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 16ddff4f10..6d04c35cb8 100644 --- a/pallets/subtensor/src/coinbase/block_emission.rs +++ b/pallets/subtensor/src/coinbase/block_emission.rs @@ -5,9 +5,6 @@ use safe_math::*; use substrate_fixed::{transcendental::log2, types::I96F32}; use subtensor_runtime_common::TaoBalance; -// type PositiveImbalanceOf = -// <::Currency as BalancesCurrency<::AccountId>>::PositiveImbalance; - impl Pallet { /// Calculates the block emission based on the total issuance. /// diff --git a/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs b/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs index 5315fec13f..10898f9eb2 100644 --- a/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs +++ b/pallets/subtensor/src/migrations/migrate_fix_root_tao_and_alpha_in.rs @@ -25,7 +25,7 @@ pub fn migrate_fix_root_tao_and_alpha_in() -> Weight { let reserve_diff = total_unstaked.saturating_sub(total_staked); let volume_diff = (total_unstaked as u128).saturating_add(total_staked as u128); SubnetTAO::::mutate(NetUid::ROOT, |amount| { - *amount = amount.saturating_sub(TaoBalance::from(reserve_diff)); + *amount = amount.saturating_sub(reserve_diff.into()); }); SubnetAlphaIn::::mutate(NetUid::ROOT, |amount| { *amount = amount.saturating_add(AlphaBalance::from(reserve_diff)); @@ -37,7 +37,7 @@ pub fn migrate_fix_root_tao_and_alpha_in() -> Weight { *amount = amount.saturating_add(volume_diff); }); TotalStake::::mutate(|amount| { - *amount = amount.saturating_sub(TaoBalance::from(reserve_diff)); + *amount = amount.saturating_sub(reserve_diff.into()); }); weight = weight.saturating_add(T::DbWeight::get().writes(5)); diff --git a/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs b/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs index 95cd5d2946..3206a27fbb 100644 --- a/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs +++ b/pallets/subtensor/src/migrations/migrate_network_lock_cost_2500.rs @@ -26,7 +26,7 @@ pub fn migrate_network_lock_cost_2500() -> Weight { let block_to_set = if current_block == 0 { 1 } else { current_block }; // Set last_lock so that price = 2 * last_lock = 2,500 TAO at this block - Pallet::::set_network_last_lock(TaoBalance::from(NEW_LAST_LOCK_RAO)); + Pallet::::set_network_last_lock(NEW_LAST_LOCK_RAO.into()); weight = weight.saturating_add(T::DbWeight::get().writes(1)); // Start decay from "now" (no backdated decay) diff --git a/pallets/subtensor/src/migrations/migrate_remove_zero_total_hotkey_alpha.rs b/pallets/subtensor/src/migrations/migrate_remove_zero_total_hotkey_alpha.rs index 94458a88b3..a9e7bd24b3 100644 --- a/pallets/subtensor/src/migrations/migrate_remove_zero_total_hotkey_alpha.rs +++ b/pallets/subtensor/src/migrations/migrate_remove_zero_total_hotkey_alpha.rs @@ -31,7 +31,7 @@ pub fn migrate_remove_zero_total_hotkey_alpha() -> Weight { // For each (hotkey, netuid, alpha) entry, remove if alpha == 0 for (hotkey, netuid, alpha) in TotalHotkeyAlpha::::iter() { - if alpha == 0.into() { + if alpha.is_zero() { TotalHotkeyAlpha::::remove(&hotkey, netuid); removed_entries_count = removed_entries_count.saturating_add(1); } diff --git a/pallets/subtensor/src/migrations/migrate_subnet_locked.rs b/pallets/subtensor/src/migrations/migrate_subnet_locked.rs index 0e125b8189..69850e7daf 100644 --- a/pallets/subtensor/src/migrations/migrate_subnet_locked.rs +++ b/pallets/subtensor/src/migrations/migrate_subnet_locked.rs @@ -93,7 +93,7 @@ pub fn migrate_restore_subnet_locked() -> Weight { // ── 1) Re-insert the historical values ──────────────────────────────── for &(netuid_u16, amount_rao_u64) in SUBNET_LOCKED.iter() { let key: NetUid = NetUid::from(netuid_u16); - let amount: TaoBalance = TaoBalance::from(amount_rao_u64); + let amount: TaoBalance = amount_rao_u64.into(); SubnetLocked::::insert(key, amount); diff --git a/pallets/subtensor/src/rpc_info/dynamic_info.rs b/pallets/subtensor/src/rpc_info/dynamic_info.rs index 02843bdd9d..b143295425 100644 --- a/pallets/subtensor/src/rpc_info/dynamic_info.rs +++ b/pallets/subtensor/src/rpc_info/dynamic_info.rs @@ -65,7 +65,7 @@ impl Pallet { pending_alpha_emission: PendingValidatorEmission::::get(netuid) .saturating_add(PendingServerEmission::::get(netuid)) .into(), - pending_root_emission: TaoBalance::from(0u64).into(), + pending_root_emission: TaoBalance::ZERO.into(), subnet_volume: SubnetVolume::::get(netuid).into(), network_registered_at: NetworkRegisteredAt::::get(netuid).into(), subnet_identity: SubnetIdentitiesV3::::get(netuid), diff --git a/pallets/subtensor/src/rpc_info/metagraph.rs b/pallets/subtensor/src/rpc_info/metagraph.rs index ebfdf36db5..4d82af629a 100644 --- a/pallets/subtensor/src/rpc_info/metagraph.rs +++ b/pallets/subtensor/src/rpc_info/metagraph.rs @@ -697,7 +697,7 @@ impl Pallet { pending_alpha_emission: PendingValidatorEmission::::get(netuid) .saturating_add(PendingServerEmission::::get(netuid)) .into(), // pending alpha to be distributed - pending_root_emission: TaoBalance::from(0u64).into(), // panding tao for root divs to be distributed + pending_root_emission: TaoBalance::ZERO.into(), // panding tao for root divs to be distributed subnet_volume: subnet_volume.into(), moving_price: SubnetMovingPrice::::get(netuid), diff --git a/pallets/subtensor/src/staking/helpers.rs b/pallets/subtensor/src/staking/helpers.rs index 900f9f1981..bfe34b2ab0 100644 --- a/pallets/subtensor/src/staking/helpers.rs +++ b/pallets/subtensor/src/staking/helpers.rs @@ -306,7 +306,7 @@ impl Pallet { coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) -> Result { - if amount == 0.into() { + if amount.is_zero() { return Ok(TaoBalance::ZERO); } @@ -320,7 +320,7 @@ impl Pallet { .map_err(|_| Error::::BalanceWithdrawalError)? .peek(); - if credit == 0.into() { + if credit.is_zero() { return Err(Error::::ZeroBalanceAfterWithdrawn.into()); } @@ -331,7 +331,7 @@ impl Pallet { coldkey: &T::AccountId, amount: <::Currency as fungible::Inspect<::AccountId>>::Balance, ) -> Result { - if amount == 0.into() { + if amount.is_zero() { return Ok(0.into()); } @@ -345,7 +345,7 @@ impl Pallet { .map_err(|_| Error::::BalanceWithdrawalError)? .peek(); - if credit == 0.into() { + if credit.is_zero() { return Err(Error::::ZeroBalanceAfterWithdrawn.into()); } diff --git a/pallets/subtensor/src/staking/remove_stake.rs b/pallets/subtensor/src/staking/remove_stake.rs index b2b5ba17b7..1a5238aeb3 100644 --- a/pallets/subtensor/src/staking/remove_stake.rs +++ b/pallets/subtensor/src/staking/remove_stake.rs @@ -468,7 +468,7 @@ impl Pallet { .saturating_mul(cur_price) .floor() .saturating_to_num::(); - TaoBalance::from(val_u64) + val_u64.into() } else { TaoBalance::ZERO }; @@ -564,7 +564,7 @@ impl Pallet { // Credit each share directly to coldkey free balance. for p in portions { if p.share > 0 { - Self::add_balance_to_coldkey_account(&p.cold, TaoBalance::from(p.share)); + Self::add_balance_to_coldkey_account(&p.cold, p.share.into()); } } } diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 1b4c73ffc2..596e5a35dd 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -119,31 +119,31 @@ impl Pallet { amount_alpha: AlphaBalance, ) -> (TaoBalance, AlphaBalance, TaoBalance, AlphaBalance) { let price = sqrt_alpha_price.saturating_mul(sqrt_alpha_price); - let tao_equivalent: u64 = U64F64::saturating_from_num(u64::from(amount_alpha)) + let tao_equivalent: TaoBalance = U64F64::saturating_from_num(u64::from(amount_alpha)) .saturating_mul(price) - .saturating_to_num(); - let amount_tao_u64 = u64::from(amount_tao); + .saturating_to_num::() + .into(); - if tao_equivalent <= amount_tao_u64 { + if tao_equivalent <= amount_tao { // Too much or just enough TAO ( tao_equivalent.into(), amount_alpha, - amount_tao.saturating_sub(TaoBalance::from(tao_equivalent)), - 0_u32.into(), + amount_tao.saturating_sub(tao_equivalent), + AlphaBalance::ZERO, ) } else { // Too much Alpha - let alpha_equivalent: u64 = U64F64::saturating_from_num(u64::from(amount_tao)) + let alpha_equivalent: AlphaBalance = U64F64::saturating_from_num(u64::from(amount_tao)) .safe_div(price) - .saturating_to_num(); + .saturating_to_num::() + .into(); ( amount_tao, - alpha_equivalent.into(), - 0_u32.into(), - u64::from(amount_alpha) - .saturating_sub(alpha_equivalent) - .into(), + alpha_equivalent, + TaoBalance::ZERO, + amount_alpha + .saturating_sub(alpha_equivalent), ) } } diff --git a/pallets/transaction-fee/src/tests/mock.rs b/pallets/transaction-fee/src/tests/mock.rs index 824f066bcb..bacaea0bd4 100644 --- a/pallets/transaction-fee/src/tests/mock.rs +++ b/pallets/transaction-fee/src/tests/mock.rs @@ -710,7 +710,7 @@ pub fn setup_stake(netuid: NetUid, coldkey: &U256, hotkey: &U256, amount: u64) { // Stake to hotkey account, and check if the result is ok SubtensorModule::add_balance_to_coldkey_account( coldkey, - TaoBalance::from(amount) + ExistentialDeposit::get(), + ExistentialDeposit::get() + amount.into(), ); remove_stake_rate_limit_for_tests(hotkey, coldkey, netuid); assert_ok!(SubtensorModule::add_stake( From 0791daf09509dc055863f2260fad8ed466b4add0 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 12 Feb 2026 10:45:04 -0500 Subject: [PATCH 007/204] fmt --- pallets/swap/src/pallet/impls.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 596e5a35dd..5cff4abd21 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -142,8 +142,7 @@ impl Pallet { amount_tao, alpha_equivalent, TaoBalance::ZERO, - amount_alpha - .saturating_sub(alpha_equivalent), + amount_alpha.saturating_sub(alpha_equivalent), ) } } From 72972782f902a1ad059296dc102d0d7117389070 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 19 Feb 2026 12:36:32 -0500 Subject: [PATCH 008/204] Cleanup merge --- chain-extensions/src/lib.rs | 2 +- chain-extensions/src/mock.rs | 2 +- chain-extensions/src/tests.rs | 2 +- pallets/admin-utils/src/tests/mock.rs | 2 +- pallets/subtensor/src/benchmarks.rs | 24 ++--- .../subtensor/src/coinbase/block_emission.rs | 2 +- pallets/subtensor/src/lib.rs | 4 +- .../src/migrations/migrate_cleanup_swap_v3.rs | 4 +- pallets/subtensor/src/staking/helpers.rs | 4 +- pallets/subtensor/src/staking/stake_utils.rs | 24 ++--- pallets/subtensor/src/subnets/subnet.rs | 2 +- pallets/subtensor/src/tests/claim_root.rs | 16 +-- pallets/subtensor/src/tests/coinbase.rs | 14 +-- pallets/subtensor/src/tests/migration.rs | 12 +-- pallets/subtensor/src/tests/mock.rs | 2 +- pallets/subtensor/src/tests/networks.rs | 76 +------------ pallets/subtensor/src/tests/staking.rs | 49 ++++----- pallets/swap-interface/src/lib.rs | 8 +- pallets/swap/runtime-api/src/lib.rs | 18 ++-- pallets/swap/src/mock.rs | 47 +++++--- pallets/swap/src/pallet/impls.rs | 34 +++--- .../migrations/migrate_swapv3_to_balancer.rs | 82 -------------- pallets/swap/src/pallet/mod.rs | 12 +-- pallets/swap/src/pallet/swap_step.rs | 30 +++--- pallets/swap/src/pallet/tests.rs | 101 +++++++++--------- pallets/transaction-fee/src/lib.rs | 26 ++--- pallets/transaction-fee/src/tests/mock.rs | 8 +- pallets/transaction-fee/src/tests/mod.rs | 18 ++-- precompiles/src/alpha.rs | 2 +- runtime/src/lib.rs | 10 +- runtime/tests/precompiles.rs | 4 +- 31 files changed, 247 insertions(+), 394 deletions(-) diff --git a/chain-extensions/src/lib.rs b/chain-extensions/src/lib.rs index 7d59729a30..e047572a25 100644 --- a/chain-extensions/src/lib.rs +++ b/chain-extensions/src/lib.rs @@ -19,7 +19,7 @@ use pallet_subtensor_proxy::WeightInfo; use sp_runtime::{DispatchError, Weight, traits::StaticLookup}; use sp_std::marker::PhantomData; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaCurrency, NetUid, ProxyType, TaoBalance}; +use subtensor_runtime_common::{AlphaBalance, NetUid, ProxyType, TaoBalance}; use subtensor_swap_interface::SwapHandler; #[derive(DebugNoBound)] diff --git a/chain-extensions/src/mock.rs b/chain-extensions/src/mock.rs index 64a527928a..86949050ff 100644 --- a/chain-extensions/src/mock.rs +++ b/chain-extensions/src/mock.rs @@ -25,7 +25,7 @@ use sp_runtime::{ traits::{BlakeTwo256, Convert, IdentityLookup}, }; use sp_std::{cell::RefCell, cmp::Ordering, sync::OnceLock}; -use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, NetUid, TaoBalance}; +use subtensor_runtime_common::{AlphaBalance, AuthorshipInfo, NetUid, TaoBalance}; type Block = frame_system::mocking::MockBlock; diff --git a/chain-extensions/src/tests.rs b/chain-extensions/src/tests.rs index 643bf878bd..4d93c68de8 100644 --- a/chain-extensions/src/tests.rs +++ b/chain-extensions/src/tests.rs @@ -12,7 +12,7 @@ use sp_core::Get; use sp_core::U256; use sp_runtime::DispatchError; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AlphaBalance, Currency as CurrencyTrait, NetUid, TaoBalance}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; type AccountId = ::AccountId; diff --git a/pallets/admin-utils/src/tests/mock.rs b/pallets/admin-utils/src/tests/mock.rs index 33fdb2e01a..ad9ffa341d 100644 --- a/pallets/admin-utils/src/tests/mock.rs +++ b/pallets/admin-utils/src/tests/mock.rs @@ -19,7 +19,7 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -use subtensor_runtime_common::{AuthorshipInfo, NetUid, TaoBalance}; +use subtensor_runtime_common::{AuthorshipInfo, ConstTao, NetUid, TaoBalance}; type Block = frame_system::mocking::MockBlock; // Configure a mock runtime to test the pallet. diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 309910bc5b..ee7dff868a 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -68,8 +68,8 @@ mod pallet_benchmarks { Subtensor::::set_max_registrations_per_block(netuid, 4096); Subtensor::::set_target_registrations_per_interval(netuid, 4096); Subtensor::::set_commit_reveal_weights_enabled(netuid, false); - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000_u64)); let mut seed: u32 = 1; let mut dests = Vec::new(); @@ -733,7 +733,7 @@ mod pallet_benchmarks { let coldkey: T::AccountId = account("Test", 0, seed); let hotkey: T::AccountId = account("Alice", 0, seed); - let initial_balance = 900_000_000_000; + let initial_balance = TaoBalance::from(900_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), initial_balance); // Price = 0.01 @@ -754,7 +754,7 @@ mod pallet_benchmarks { let limit = current_price .saturating_mul(U64F64::saturating_from_num(1_001_000_000)) .saturating_to_num::(); - let amount_to_be_staked = TaoBalance::from(100_000_000_000); + let amount_to_be_staked = TaoBalance::from(100_000_000_000_u64); // Allow partial (worst case) #[extrinsic_call] @@ -842,8 +842,8 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); // Price = 0.01 - let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -872,7 +872,7 @@ mod pallet_benchmarks { let limit = current_price .saturating_mul(U64F64::saturating_from_num(999_900_000)) .saturating_to_num::(); - let amount_unstaked = AlphaCurrency::from(100_000_000_000_u64); + let amount_unstaked = AlphaBalance::from(100_000_000_000_u64); // Remove stake limit for benchmark StakingOperationRateLimiter::::remove((hotkey.clone(), coldkey.clone(), netuid)); @@ -1339,8 +1339,8 @@ mod pallet_benchmarks { Subtensor::::set_burn(netuid, 1.into()); // Price = 0.01 - SubnetTAO::::insert(netuid, TaoCurrency::from(1_000_000_000_000_u64)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(100_000_000_000_000_u64)); + SubnetTAO::::insert(netuid, TaoBalance::from(1_000_000_000_000_u64)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(100_000_000_000_000_u64)); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 1000000u32.into()); @@ -1387,8 +1387,8 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, 1.into()); - let tao_reserve = TaoCurrency::from(1_000_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_000_u64); + let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_000_u64); SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); @@ -1408,7 +1408,7 @@ mod pallet_benchmarks { .saturating_mul(U64F64::saturating_from_num(500_000_000)) .saturating_to_num::(); let staked_amt = TaoBalance::from(1_000_000_000_u64); - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), u64_staked_amt); + Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), staked_amt); assert_ok!(Subtensor::::add_stake( RawOrigin::Signed(coldkey.clone()).into(), diff --git a/pallets/subtensor/src/coinbase/block_emission.rs b/pallets/subtensor/src/coinbase/block_emission.rs index 54b6178d39..1e39c40d15 100644 --- a/pallets/subtensor/src/coinbase/block_emission.rs +++ b/pallets/subtensor/src/coinbase/block_emission.rs @@ -6,7 +6,7 @@ use substrate_fixed::{ transcendental::log2, types::{I96F32, U64F64}, }; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; use subtensor_swap_interface::SwapHandler; impl Pallet { diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index c9b7f6a5b5..6f686f7329 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -2551,7 +2551,7 @@ pub struct TaoCurrencyReserve(PhantomData); impl TokenReserve for TaoCurrencyReserve { #![deny(clippy::expect_used)] - fn reserve(netuid: NetUid) -> TaoCurrency { + fn reserve(netuid: NetUid) -> TaoBalance { SubnetTAO::::get(netuid) } @@ -2569,7 +2569,7 @@ pub struct AlphaCurrencyReserve(PhantomData); impl TokenReserve for AlphaCurrencyReserve { #![deny(clippy::expect_used)] - fn reserve(netuid: NetUid) -> AlphaCurrency { + fn reserve(netuid: NetUid) -> AlphaBalance { SubnetAlphaIn::::get(netuid) } diff --git a/pallets/subtensor/src/migrations/migrate_cleanup_swap_v3.rs b/pallets/subtensor/src/migrations/migrate_cleanup_swap_v3.rs index 13edf21033..cebbf373ec 100644 --- a/pallets/subtensor/src/migrations/migrate_cleanup_swap_v3.rs +++ b/pallets/subtensor/src/migrations/migrate_cleanup_swap_v3.rs @@ -9,12 +9,12 @@ pub mod deprecated_swap_maps { /// --- MAP ( netuid ) --> tao_in_user_subnet | Returns the amount of TAO in the subnet reserve provided by users as liquidity. #[storage_alias] pub type SubnetTaoProvided = - StorageMap, Identity, NetUid, TaoCurrency, ValueQuery>; + StorageMap, Identity, NetUid, TaoBalance, ValueQuery>; /// --- MAP ( netuid ) --> alpha_supply_user_in_pool | Returns the amount of alpha in the pool provided by users as liquidity. #[storage_alias] pub type SubnetAlphaInProvided = - StorageMap, Identity, NetUid, AlphaCurrency, ValueQuery>; + StorageMap, Identity, NetUid, AlphaBalance, ValueQuery>; } pub fn migrate_cleanup_swap_v3() -> Weight { diff --git a/pallets/subtensor/src/staking/helpers.rs b/pallets/subtensor/src/staking/helpers.rs index f18b7c019e..ffd5fbf5f5 100644 --- a/pallets/subtensor/src/staking/helpers.rs +++ b/pallets/subtensor/src/staking/helpers.rs @@ -7,7 +7,7 @@ use frame_support::traits::{ }; use safe_math::*; use substrate_fixed::types::{U64F64, U96F32}; -use subtensor_runtime_common::{NetUid, TaoCurrency}; +use subtensor_runtime_common::{NetUid, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; use super::*; @@ -350,7 +350,7 @@ impl Pallet { Ok(credit) } - pub fn recycle_subnet_alpha(netuid: NetUid, amount: AlphaCurrency) { + pub fn recycle_subnet_alpha(netuid: NetUid, amount: AlphaBalance) { // TODO: record recycled alpha in a tracker SubnetAlphaOut::::mutate(netuid, |total| { *total = total.saturating_sub(amount); diff --git a/pallets/subtensor/src/staking/stake_utils.rs b/pallets/subtensor/src/staking/stake_utils.rs index d75f48fa51..6fb6ace2b0 100644 --- a/pallets/subtensor/src/staking/stake_utils.rs +++ b/pallets/subtensor/src/staking/stake_utils.rs @@ -3,7 +3,7 @@ use safe_math::*; use share_pool::{SharePool, SharePoolDataOperations}; use sp_std::ops::Neg; use substrate_fixed::types::{I64F64, I96F32, U64F64, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, AuthorshipInfo, NetUid, TaoBalance, Token}; use subtensor_swap_interface::{Order, SwapHandler, SwapResult}; impl Pallet { @@ -17,7 +17,7 @@ impl Pallet { /// /// # Returns /// * `u64` - The total alpha issuance for the specified subnet. - pub fn get_alpha_issuance(netuid: NetUid) -> AlphaCurrency { + pub fn get_alpha_issuance(netuid: NetUid) -> AlphaBalance { SubnetAlphaIn::::get(netuid).saturating_add(SubnetAlphaOut::::get(netuid)) } @@ -589,8 +589,8 @@ impl Pallet { SwapResult { amount_paid_in: tao, amount_paid_out: tao.to_u64().into(), - fee_paid: TaoCurrency::ZERO, - fee_to_block_author: TaoCurrency::ZERO, + fee_paid: TaoBalance::ZERO, + fee_to_block_author: TaoBalance::ZERO, } }; @@ -643,8 +643,8 @@ impl Pallet { SwapResult { amount_paid_in: alpha, amount_paid_out: alpha.to_u64().into(), - fee_paid: AlphaCurrency::ZERO, - fee_to_block_author: AlphaCurrency::ZERO, + fee_paid: AlphaBalance::ZERO, + fee_to_block_author: AlphaBalance::ZERO, } }; @@ -712,7 +712,7 @@ impl Pallet { let bb_swap_result = Self::swap_alpha_for_tao( netuid, swap_result.fee_to_block_author, - T::SwapInterface::min_price::(), + T::SwapInterface::min_price::(), true, )?; Self::add_balance_to_coldkey_account( @@ -922,7 +922,7 @@ impl Pallet { // there's no slippage in this move) let current_price = ::SwapInterface::current_alpha_price(netuid.into()); - let tao_equivalent: TaoCurrency = current_price + let tao_equivalent: TaoBalance = current_price .saturating_mul(U64F64::saturating_from_num(actual_alpha_moved)) .saturating_to_num::() .into(); @@ -1251,7 +1251,7 @@ impl Pallet { Ok(()) } - pub fn increase_provided_tao_reserve(netuid: NetUid, tao: TaoCurrency) { + pub fn increase_provided_tao_reserve(netuid: NetUid, tao: TaoBalance) { if !tao.is_zero() { SubnetTAO::::mutate(netuid, |total| { *total = total.saturating_add(tao); @@ -1259,7 +1259,7 @@ impl Pallet { } } - pub fn decrease_provided_tao_reserve(netuid: NetUid, tao: TaoCurrency) { + pub fn decrease_provided_tao_reserve(netuid: NetUid, tao: TaoBalance) { if !tao.is_zero() { SubnetTAO::::mutate(netuid, |total| { *total = total.saturating_sub(tao); @@ -1267,7 +1267,7 @@ impl Pallet { } } - pub fn increase_provided_alpha_reserve(netuid: NetUid, alpha: AlphaCurrency) { + pub fn increase_provided_alpha_reserve(netuid: NetUid, alpha: AlphaBalance) { if !alpha.is_zero() { SubnetAlphaIn::::mutate(netuid, |total| { *total = total.saturating_add(alpha); @@ -1275,7 +1275,7 @@ impl Pallet { } } - pub fn decrease_provided_alpha_reserve(netuid: NetUid, alpha: AlphaCurrency) { + pub fn decrease_provided_alpha_reserve(netuid: NetUid, alpha: AlphaBalance) { if !alpha.is_zero() { SubnetAlphaIn::::mutate(netuid, |total| { *total = total.saturating_sub(alpha); diff --git a/pallets/subtensor/src/subnets/subnet.rs b/pallets/subtensor/src/subnets/subnet.rs index 7ae59511ca..cafdd80313 100644 --- a/pallets/subtensor/src/subnets/subnet.rs +++ b/pallets/subtensor/src/subnets/subnet.rs @@ -217,7 +217,7 @@ impl Pallet { SubnetOwner::::insert(netuid_to_register, coldkey.clone()); SubnetOwnerHotkey::::insert(netuid_to_register, hotkey.clone()); SubnetLocked::::insert(netuid_to_register, actual_tao_lock_amount); - SubnetAlphaOut::::insert(netuid_to_register, AlphaCurrency::ZERO); + SubnetAlphaOut::::insert(netuid_to_register, AlphaBalance::ZERO); SubnetVolume::::insert(netuid_to_register, 0u128); RAORecycledForRegistration::::insert( netuid_to_register, diff --git a/pallets/subtensor/src/tests/claim_root.rs b/pallets/subtensor/src/tests/claim_root.rs index b3be9d6453..ad3fa507ac 100644 --- a/pallets/subtensor/src/tests/claim_root.rs +++ b/pallets/subtensor/src/tests/claim_root.rs @@ -20,7 +20,7 @@ use sp_core::{H256, U256}; use sp_runtime::DispatchError; use std::collections::BTreeSet; use substrate_fixed::types::{I96F32, U96F32}; -use subtensor_runtime_common::{AlphaCurrency, Currency, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; use subtensor_swap_interface::SwapHandler; #[test] @@ -791,8 +791,8 @@ fn test_claim_root_with_run_coinbase() { // Set moving price > 1.0 and price > 1.0 // So we turn ON root sell SubnetMovingPrice::::insert(netuid, I96F32::from_num(2)); - let tao = TaoCurrency::from(10_000_000_000_000_u64); - let alpha = AlphaCurrency::from(1_000_000_000_000_u64); + let tao = TaoBalance::from(10_000_000_000_000_u64); + let alpha = AlphaBalance::from(1_000_000_000_000_u64); SubnetTAO::::insert(netuid, tao); SubnetAlphaIn::::insert(netuid, alpha); let current_price = @@ -907,8 +907,8 @@ fn test_claim_root_with_block_emissions() { // Set moving price > 1.0 and price > 1.0 // So we turn ON root sell SubnetMovingPrice::::insert(netuid, I96F32::from_num(2)); - let tao = TaoCurrency::from(10_000_000_000_000_u64); - let alpha = AlphaCurrency::from(1_000_000_000_000_u64); + let tao = TaoBalance::from(10_000_000_000_000_u64); + let alpha = AlphaBalance::from(1_000_000_000_000_u64); SubnetTAO::::insert(netuid, tao); SubnetAlphaIn::::insert(netuid, alpha); let current_price = @@ -1034,8 +1034,8 @@ fn test_claim_root_coinbase_distribution() { // Set moving price > 1.0 and price > 1.0 // So we turn ON root sell SubnetMovingPrice::::insert(netuid, I96F32::from_num(2)); - let tao = TaoCurrency::from(100_000_000_000_u64); - let alpha = AlphaCurrency::from(100_000_000_000_u64); + let tao = TaoBalance::from(100_000_000_000_u64); + let alpha = AlphaBalance::from(100_000_000_000_u64); SubnetTAO::::insert(netuid, tao); SubnetAlphaIn::::insert(netuid, alpha); // let current_price = @@ -1045,7 +1045,7 @@ fn test_claim_root_coinbase_distribution() { RootClaimableThreshold::::insert(netuid, I96F32::from_num(0)); let initial_alpha_issuance = SubtensorModule::get_alpha_issuance(netuid); - let alpha_emissions: AlphaCurrency = 1_000_000_000u64.into(); + let alpha_emissions: AlphaBalance = 1_000_000_000u64.into(); // Make sure we are root selling, so we have root alpha divs. let root_sell_flag = SubtensorModule::get_network_root_sell_flag(&[netuid]); diff --git a/pallets/subtensor/src/tests/coinbase.rs b/pallets/subtensor/src/tests/coinbase.rs index 69803a4cd1..d058184d99 100644 --- a/pallets/subtensor/src/tests/coinbase.rs +++ b/pallets/subtensor/src/tests/coinbase.rs @@ -2958,8 +2958,8 @@ fn test_mining_emission_distribution_with_no_root_sell() { // Make root sell NOT happen // set price very low, e.g. a lot of alpha in - //SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1_000_000_000_000_000)); - let alpha = AlphaCurrency::from(1_000_000_000_000_000_000_u64); + //SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1_000_000_000_000_000)); + let alpha = AlphaBalance::from(1_000_000_000_000_000_000_u64); SubnetAlphaIn::::insert(netuid, alpha); // Make sure we ARE NOT root selling, so we do not have root alpha divs. @@ -3152,7 +3152,7 @@ fn test_mining_emission_distribution_with_root_sell() { // Make root sell happen // Set moving price > 1.0 // Set price > 1.0 - let alpha = AlphaCurrency::from(100_000_000_000_000); + let alpha = AlphaBalance::from(100_000_000_000_000_u64); SubnetAlphaIn::::insert(netuid, alpha); SubnetMovingPrice::::insert(netuid, I96F32::from_num(2)); @@ -3296,8 +3296,8 @@ fn test_coinbase_subnet_terms_with_alpha_in_gt_alpha_emission() { .saturating_add(U96F32::saturating_from_num(0.01)); // Set the price - let tao = TaoCurrency::from(1_000_000_000_u64); - let alpha = AlphaCurrency::from( + let tao = TaoBalance::from(1_000_000_000_u64); + let alpha = AlphaBalance::from( (U64F64::saturating_from_num(u64::from(tao)) / price_to_set).to_num::(), ); SubnetTAO::::insert(netuid0, tao); @@ -3777,8 +3777,8 @@ fn test_pending_emission_start_call_not_done() { // Make root sell happen // Set moving price > 1.0 // Set price > 1.0 - let tao = TaoCurrency::from(10_000_000_000_u64); - let alpha = AlphaCurrency::from(1_000_000_000_u64); + let tao = TaoBalance::from(10_000_000_000_u64); + let alpha = AlphaBalance::from(1_000_000_000_u64); SubnetTAO::::insert(netuid, tao); SubnetAlphaIn::::insert(netuid, alpha); diff --git a/pallets/subtensor/src/tests/migration.rs b/pallets/subtensor/src/tests/migration.rs index 4594e5d610..4045728a30 100644 --- a/pallets/subtensor/src/tests/migration.rs +++ b/pallets/subtensor/src/tests/migration.rs @@ -2727,7 +2727,7 @@ fn test_migrate_reset_unactive_sn() { RAORecycledForRegistration::::get(netuid), actual_tao_lock_amount_less_pool_tao ); - assert_eq!(PendingOwnerCut::::get(netuid), AlphaCurrency::ZERO); + assert_eq!(PendingOwnerCut::::get(netuid), AlphaBalance::ZERO); assert_ne!(SubnetTAO::::get(netuid), initial_tao); assert_ne!(SubnetAlphaIn::::get(netuid), initial_alpha); assert_ne!(SubnetAlphaOut::::get(netuid), AlphaBalance::ZERO); @@ -2797,7 +2797,7 @@ fn test_migrate_reset_unactive_sn() { SubnetAlphaOutEmission::::get(netuid), AlphaBalance::ZERO ); - assert_ne!(PendingOwnerCut::::get(netuid), AlphaCurrency::ZERO); + assert_ne!(PendingOwnerCut::::get(netuid), AlphaBalance::ZERO); assert_ne!(SubnetTAO::::get(netuid), initial_tao); assert_ne!(SubnetAlphaIn::::get(netuid), initial_alpha); assert_ne!(SubnetAlphaOut::::get(netuid), AlphaBalance::ZERO); @@ -2976,17 +2976,17 @@ fn test_migrate_cleanup_swap_v3() { let provided: u64 = 9876; let reserves: u64 = 1_000_000; - SubnetTAO::::insert(NetUid::from(1), TaoCurrency::from(reserves)); - SubnetAlphaIn::::insert(NetUid::from(1), AlphaCurrency::from(reserves)); + SubnetTAO::::insert(NetUid::from(1), TaoBalance::from(reserves)); + SubnetAlphaIn::::insert(NetUid::from(1), AlphaBalance::from(reserves)); // Insert deprecated maps values deprecated_swap_maps::SubnetTaoProvided::::insert( NetUid::from(1), - TaoCurrency::from(provided), + TaoBalance::from(provided), ); deprecated_swap_maps::SubnetAlphaInProvided::::insert( NetUid::from(1), - AlphaCurrency::from(provided), + AlphaBalance::from(provided), ); // Run migration diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index 85c1dcdb6e..b5795e0dcf 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -29,7 +29,7 @@ use sp_runtime::{ }; use sp_std::{cell::RefCell, cmp::Ordering, sync::OnceLock}; use sp_tracing::tracing_subscriber; -use subtensor_runtime_common::{AuthorshipInfo, NetUid, TaoCurrency}; +use subtensor_runtime_common::{AuthorshipInfo, NetUid, TaoBalance}; use subtensor_swap_interface::{Order, SwapHandler}; use tracing_subscriber::{EnvFilter, layer::SubscriberExt, util::SubscriberInitExt}; type Block = frame_system::mocking::MockBlock; diff --git a/pallets/subtensor/src/tests/networks.rs b/pallets/subtensor/src/tests/networks.rs index 720addf3da..5bd113edda 100644 --- a/pallets/subtensor/src/tests/networks.rs +++ b/pallets/subtensor/src/tests/networks.rs @@ -6,16 +6,10 @@ use crate::*; use frame_support::{assert_err, assert_ok}; use frame_system::Config; use sp_core::U256; -use sp_std::collections::{ - //btree_map::BTreeMap, - vec_deque::VecDeque, -}; +use sp_std::collections::{btree_map::BTreeMap, vec_deque::VecDeque}; use substrate_fixed::types::{I96F32, U64F64, U96F32}; -use subtensor_runtime_common::{MechId, NetUidStorageIndex, TaoCurrency}; -use subtensor_swap_interface::{ - //Order, - SwapHandler, -}; +use subtensor_runtime_common::{MechId, NetUidStorageIndex, TaoBalance}; +use subtensor_swap_interface::{Order, SwapHandler}; #[test] fn test_registration_ok() { @@ -1833,20 +1827,6 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( Emission::::insert(net, Vec::::new()); SubtensorModule::set_subnet_locked_balance(net, TaoBalance::from(0)); - assert_ok!( - pallet_subtensor_swap::Pallet::::toggle_user_liquidity( - RuntimeOrigin::root(), - net, - true - ) - ); - - // Price/tick pinned so LP math stays stable (sqrt(1)). - let ct0 = pallet_subtensor_swap::tick::TickIndex::new_unchecked(0); - let sqrt1 = ct0.try_to_sqrt_price().expect("sqrt(1) price"); - pallet_subtensor_swap::CurrentTick::::set(net, ct0); - pallet_subtensor_swap::AlphaSqrtPrice::::set(net, sqrt1); - nets.push(net); } @@ -2063,45 +2043,9 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( "subnet {net:?} still exists" ); assert!( - pallet_subtensor_swap::Ticks::::iter_prefix(net) - .next() - .is_none(), - "ticks not cleared for net {net:?}" - ); - assert!( - !pallet_subtensor_swap::Positions::::iter() - .any(|((n, _owner, _pid), _)| n == net), - "swap positions not fully cleared for net {net:?}" - ); - assert_eq!( - pallet_subtensor_swap::FeeGlobalTao::::get(net).saturating_to_num::(), - 0, - "FeeGlobalTao nonzero for net {net:?}" - ); - assert_eq!( - pallet_subtensor_swap::FeeGlobalAlpha::::get(net).saturating_to_num::(), - 0, - "FeeGlobalAlpha nonzero for net {net:?}" - ); - assert_eq!( - pallet_subtensor_swap::CurrentLiquidity::::get(net), - 0, - "CurrentLiquidity not zero for net {net:?}" - ); - assert!( - !pallet_subtensor_swap::SwapV3Initialized::::get(net), + !pallet_subtensor_swap::PalSwapInitialized::::get(net), "SwapV3Initialized still set" ); - assert!( - !pallet_subtensor_swap::EnabledUserLiquidity::::get(net), - "EnabledUserLiquidity still set" - ); - assert!( - pallet_subtensor_swap::TickIndexBitmapWords::::iter_prefix((net,)) - .next() - .is_none(), - "TickIndexBitmapWords not cleared for net {net:?}" - ); } // ──────────────────────────────────────────────────────────────────── @@ -2116,18 +2060,6 @@ fn massive_dissolve_refund_and_reregistration_flow_is_lossless_and_cleans_state( Emission::::insert(net_new, Vec::::new()); SubtensorModule::set_subnet_locked_balance(net_new, TaoBalance::from(0)); - assert_ok!( - pallet_subtensor_swap::Pallet::::toggle_user_liquidity( - RuntimeOrigin::root(), - net_new, - true - ) - ); - let ct0 = pallet_subtensor_swap::tick::TickIndex::new_unchecked(0); - let sqrt1 = ct0.try_to_sqrt_price().expect("sqrt(1)"); - pallet_subtensor_swap::CurrentTick::::set(net_new, ct0); - pallet_subtensor_swap::AlphaSqrtPrice::::set(net_new, sqrt1); - // Compute the exact min stake per the pallet rule: DefaultMinStake + fee(DefaultMinStake). let min_stake = DefaultMinStake::::get(); let order = GetAlphaForTao::::with_amount(min_stake); diff --git a/pallets/subtensor/src/tests/staking.rs b/pallets/subtensor/src/tests/staking.rs index 115c426cfd..1535cf4b98 100644 --- a/pallets/subtensor/src/tests/staking.rs +++ b/pallets/subtensor/src/tests/staking.rs @@ -907,8 +907,8 @@ fn test_remove_stake_insufficient_liquidity() { ); // Mock more liquidity - remove becomes successful - SubnetTAO::::insert(netuid, TaoCurrency::from(amount_staked + 1)); - SubnetAlphaIn::::insert(netuid, AlphaCurrency::from(1)); + SubnetTAO::::insert(netuid, TaoBalance::from(amount_staked + 1)); + SubnetAlphaIn::::insert(netuid, AlphaBalance::from(1)); assert_ok!(SubtensorModule::remove_stake( RuntimeOrigin::signed(coldkey), hotkey, @@ -1000,7 +1000,7 @@ fn test_remove_stake_total_issuance_no_change() { assert_abs_diff_eq!( SubtensorModule::get_total_stake(), SubtensorModule::get_network_min_lock() + total_fee.into(), - epsilon = TaoCurrency::from(fee) / 1000.into() + 1.into() + epsilon = TaoBalance::from(fee) / 1000.into() + 1.into() ); // Check if total issuance is equal to the added stake, even after remove stake (no fee, @@ -3716,12 +3716,12 @@ fn test_max_amount_move_dynamic_dynamic() { expected_max_swappable, precision, )| { - let expected_max_swappable = AlphaCurrency::from(expected_max_swappable); + let expected_max_swappable = AlphaBalance::from(expected_max_swappable); // Forse-set alpha in and tao reserve to achieve relative price of subnets - SubnetTAO::::insert(origin_netuid, TaoCurrency::from(tao_in_1)); - SubnetAlphaIn::::insert(origin_netuid, AlphaCurrency::from(alpha_in_1)); - SubnetTAO::::insert(destination_netuid, TaoCurrency::from(tao_in_2)); - SubnetAlphaIn::::insert(destination_netuid, AlphaCurrency::from(alpha_in_2)); + SubnetTAO::::insert(origin_netuid, TaoBalance::from(tao_in_1)); + SubnetAlphaIn::::insert(origin_netuid, AlphaBalance::from(alpha_in_1)); + SubnetTAO::::insert(destination_netuid, TaoBalance::from(tao_in_2)); + SubnetAlphaIn::::insert(destination_netuid, AlphaBalance::from(alpha_in_2)); if !alpha_in_1.is_zero() && !alpha_in_2.is_zero() { let origin_price = tao_in_1 as f64 / alpha_in_1 as f64; @@ -3853,7 +3853,7 @@ fn test_add_stake_limit_fill_or_kill() { SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, amount.into()); // Setup limit price so that it doesn't peak above 4x of current price - let limit_price = TaoCurrency::from(6_000_000_000_u64); + let limit_price = TaoBalance::from(6_000_000_000_u64); // Add stake with slippage safety and check if it fails assert_noop!( @@ -3869,7 +3869,7 @@ fn test_add_stake_limit_fill_or_kill() { ); // Lower the amount and it should succeed now - let amount_ok = TaoCurrency::from(150_000_000_000_u64); // fits the maximum + let amount_ok = TaoBalance::from(150_000_000_000_u64); // fits the maximum assert_ok!(SubtensorModule::add_stake_limit( RuntimeOrigin::signed(coldkey_account_id), hotkey_account_id, @@ -4581,7 +4581,7 @@ fn test_stake_into_subnet_low_amount() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); - // Forse-set alpha in and tao reserve to make price equal 0.01 + // Forse-set alpha in and tao reserve to make price equal 0.1 let tao_reserve = TaoBalance::from(100_000_000_000_u64); let alpha_in = AlphaBalance::from(1_000_000_000_000_u64); mock::setup_reserves(netuid, tao_reserve, alpha_in); @@ -4589,15 +4589,8 @@ fn test_stake_into_subnet_low_amount() { ::SwapInterface::current_alpha_price(netuid.into()) .to_num::(); - // Initialize swap v3 - let order = GetAlphaForTao::::with_amount(0); - assert_ok!(::SwapInterface::swap( - netuid.into(), - order, - TaoBalance::MAX, - false, - true - )); + // Initialize swap + ::SwapInterface::init_swap(netuid, None); // Add stake with slippage safety and check if the result is ok assert_ok!(SubtensorModule::stake_into_subnet( @@ -4609,15 +4602,13 @@ fn test_stake_into_subnet_low_amount() { false, false, )); - let expected_stake = AlphaBalance::from(((amount as f64) * 0.997 / current_price) as u64); + let expected_stake = AlphaBalance::from(((amount as f64) * 0.9995 / current_price) as u64); // Check if stake has increased assert_abs_diff_eq!( - u64::from(SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( - &hotkey, &coldkey, netuid - )) as f64, + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hotkey, &coldkey, netuid), expected_stake, - epsilon = expected_stake / 100. + epsilon = 1.into() ); }); } @@ -4920,7 +4911,7 @@ fn test_swap_fees_tao_correctness() { let block_builder_balance_before = SubtensorModule::get_coldkey_balance(&block_builder); let total_tao_before = user_balance_before + owner_balance_before - + SubnetTAO::::get(netuid).to_u64() + + SubnetTAO::::get(netuid) + block_builder_balance_before; // Get alpha for owner @@ -4978,7 +4969,7 @@ fn test_swap_fees_tao_correctness() { let total_tao_after = user_balance_after + owner_balance_after - + SubnetTAO::::get(netuid).to_u64() + + SubnetTAO::::get(netuid) + block_builder_balance_after; // Total TAO does not change, leave some epsilon for rounding @@ -5245,8 +5236,8 @@ fn test_large_swap() { // add network let netuid = add_dynamic_network(&owner_hotkey, &owner_coldkey); SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1_000_000_000_000_000_u64.into()); - let tao = TaoCurrency::from(100_000_000u64); - let alpha = AlphaCurrency::from(1_000_000_000_000_000_u64); + let tao = TaoBalance::from(100_000_000u64); + let alpha = AlphaBalance::from(1_000_000_000_000_000_u64); SubnetTAO::::insert(netuid, tao); SubnetAlphaIn::::insert(netuid, alpha); diff --git a/pallets/swap-interface/src/lib.rs b/pallets/swap-interface/src/lib.rs index e810e54c34..29e8382f75 100644 --- a/pallets/swap-interface/src/lib.rs +++ b/pallets/swap-interface/src/lib.rs @@ -43,9 +43,9 @@ pub trait SwapHandler { fn min_price() -> C; fn adjust_protocol_liquidity( netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, - ) -> (TaoCurrency, AlphaCurrency); + tao_delta: TaoBalance, + alpha_delta: AlphaBalance, + ) -> (TaoBalance, AlphaBalance); fn clear_protocol_liquidity(netuid: NetUid) -> DispatchResult; fn init_swap(netuid: NetUid, maybe_price: Option); } @@ -59,7 +59,7 @@ where } /// Externally used swap result (for RPC) -#[freeze_struct("58ff42da64adce1a")] +#[freeze_struct("6a03533fc53ccfb8")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SwapResult where diff --git a/pallets/swap/runtime-api/src/lib.rs b/pallets/swap/runtime-api/src/lib.rs index c526816eb7..820bc8baf5 100644 --- a/pallets/swap/runtime-api/src/lib.rs +++ b/pallets/swap/runtime-api/src/lib.rs @@ -6,15 +6,15 @@ use serde::{Deserialize, Serialize}; use subtensor_macros::freeze_struct; use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance}; -#[freeze_struct("ee2ba1ec4ee58ae6")] +#[freeze_struct("8e70f7cc0b118c6")] #[derive(Decode, Encode, PartialEq, Eq, Clone, Debug, TypeInfo)] pub struct SimSwapResult { - pub tao_amount: TaoCurrency, - pub alpha_amount: AlphaCurrency, - pub tao_fee: TaoCurrency, - pub alpha_fee: AlphaCurrency, - pub tao_slippage: TaoCurrency, - pub alpha_slippage: AlphaCurrency, + pub tao_amount: TaoBalance, + pub alpha_amount: AlphaBalance, + pub tao_fee: TaoBalance, + pub alpha_fee: AlphaBalance, + pub tao_slippage: TaoBalance, + pub alpha_slippage: AlphaBalance, } #[freeze_struct("d7bbb761fc2b2eac")] @@ -28,7 +28,7 @@ sp_api::decl_runtime_apis! { pub trait SwapRuntimeApi { fn current_alpha_price(netuid: NetUid) -> u64; fn current_alpha_price_all() -> Vec; - fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoCurrency) -> SimSwapResult; - fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaCurrency) -> SimSwapResult; + fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoBalance) -> SimSwapResult; + fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaBalance) -> SimSwapResult; } } diff --git a/pallets/swap/src/mock.rs b/pallets/swap/src/mock.rs index a4ecceac1f..ff7c07569c 100644 --- a/pallets/swap/src/mock.rs +++ b/pallets/swap/src/mock.rs @@ -16,12 +16,7 @@ use sp_runtime::{ }; use std::{cell::RefCell, collections::HashMap}; use subtensor_runtime_common::{ - AlphaCurrency, - BalanceOps, - TokenReserve, - NetUid, - SubnetInfo, - TaoCurrency, + AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, TokenReserve, }; use subtensor_swap_interface::Order; @@ -91,22 +86,36 @@ parameter_types! { thread_local! { // maps netuid -> mocked tao reserve - static MOCK_TAO_RESERVES: RefCell> = + static MOCK_TAO_RESERVES: RefCell> = RefCell::new(HashMap::new()); // maps netuid -> mocked alpha reserve - static MOCK_ALPHA_RESERVES: RefCell> = + static MOCK_ALPHA_RESERVES: RefCell> = RefCell::new(HashMap::new()); } #[derive(Clone)] pub struct TaoReserve; +impl TaoReserve { + pub fn set_mock_reserve(netuid: NetUid, value: TaoBalance) { + MOCK_TAO_RESERVES.with(|m| { + m.borrow_mut().insert(netuid, value); + }); + } +} + impl TokenReserve for TaoReserve { fn reserve(netuid: NetUid) -> TaoBalance { + // If test has set an override, use it + if let Some(val) = MOCK_TAO_RESERVES.with(|m| m.borrow().get(&netuid).cloned()) { + return val; + } + + // Otherwise, fall back to our defaults match netuid.into() { - 123u16 => 10_000_u64, - WRAPPING_FEES_NETUID => 100_000_000_000, - _ => 1_000_000_000_000, + 123u16 => 10_000, + WRAPPING_FEES_NETUID => 100_000_000_000_u64, + _ => 1_000_000_000_000_u64, } .into() } @@ -118,10 +127,24 @@ impl TokenReserve for TaoReserve { #[derive(Clone)] pub struct AlphaReserve; +impl AlphaReserve { + pub fn set_mock_reserve(netuid: NetUid, value: AlphaBalance) { + MOCK_ALPHA_RESERVES.with(|m| { + m.borrow_mut().insert(netuid, value); + }); + } +} + impl TokenReserve for AlphaReserve { fn reserve(netuid: NetUid) -> AlphaBalance { + // If test has set an override, use it + if let Some(val) = MOCK_ALPHA_RESERVES.with(|m| m.borrow().get(&netuid).cloned()) { + return val; + } + + // Otherwise, fall back to our defaults match netuid.into() { - 123u16 => 10_000_u64.into(), + 123u16 => 10_000.into(), WRAPPING_FEES_NETUID => 400_000_000_000_u64.into(), _ => 4_000_000_000_000_u64.into(), } diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 54d5bf5bb5..51c2a1ea8d 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -1,12 +1,10 @@ use frame_support::storage::{TransactionOutcome, transactional}; use frame_support::{ensure, pallet_prelude::DispatchError, traits::Get}; use safe_math::*; -use sp_arithmetic::{helpers_128bit, traits::Zero}; -use sp_runtime::{DispatchResult, Vec, traits::AccountIdConversion}; -use substrate_fixed::types::{I64F64, U64F64, U96F32}; -use subtensor_runtime_common::{ - AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve, -}; +use sp_arithmetic::{Perquintill, traits::Zero}; +use sp_runtime::{DispatchResult, traits::AccountIdConversion}; +use substrate_fixed::types::U64F64; +use subtensor_runtime_common::{AlphaBalance, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve}; use subtensor_swap_interface::{ DefaultPriceLimit, Order as OrderT, SwapEngine, SwapHandler, SwapResult, }; @@ -81,14 +79,14 @@ impl Pallet { /// Returns actually added Tao and Alpha, which includes fees pub(super) fn adjust_protocol_liquidity( netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, - ) -> (TaoCurrency, AlphaCurrency) { + tao_delta: TaoBalance, + alpha_delta: AlphaBalance, + ) -> (TaoBalance, AlphaBalance) { // Collect fees let tao_fees = FeesTao::::get(netuid); let alpha_fees = FeesAlpha::::get(netuid); - FeesTao::::insert(netuid, TaoCurrency::ZERO); - FeesAlpha::::insert(netuid, AlphaCurrency::ZERO); + FeesTao::::insert(netuid, TaoBalance::ZERO); + FeesAlpha::::insert(netuid, AlphaBalance::ZERO); let actual_tao_delta = tao_delta.saturating_add(tao_fees); let actual_alpha_delta = alpha_delta.saturating_add(alpha_fees); @@ -118,7 +116,7 @@ impl Pallet { // Return fees back into fee storage and return zeroes FeesTao::::insert(netuid, tao_fees); FeesAlpha::::insert(netuid, alpha_fees); - (TaoCurrency::ZERO, AlphaCurrency::ZERO) + (TaoBalance::ZERO, AlphaBalance::ZERO) } else { SwapBalancer::::insert(netuid, balancer); (actual_tao_delta, actual_alpha_delta) @@ -257,11 +255,11 @@ impl Pallet { } } - pub(crate) fn min_price_inner() -> C { + pub(crate) fn min_price_inner() -> C { u64::from(1_000_u64).into() } - pub(crate) fn max_price_inner() -> C { + pub(crate) fn max_price_inner() -> C { u64::from(1_000_000_000_000_000_u64).into() } @@ -391,7 +389,7 @@ impl SwapHandler for Pallet { Self::current_price(netuid.into()) } - fn min_price() -> C { + fn min_price() -> C { Self::min_price_inner() } @@ -401,9 +399,9 @@ impl SwapHandler for Pallet { fn adjust_protocol_liquidity( netuid: NetUid, - tao_delta: TaoCurrency, - alpha_delta: AlphaCurrency, - ) -> (TaoCurrency, AlphaCurrency) { + tao_delta: TaoBalance, + alpha_delta: AlphaBalance, + ) -> (TaoBalance, AlphaBalance) { Self::adjust_protocol_liquidity(netuid, tao_delta, alpha_delta) } diff --git a/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs index bc3221b363..63392da9ea 100644 --- a/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs +++ b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs @@ -79,85 +79,3 @@ pub fn migrate_swapv3_to_balancer() -> Weight { weight } - -use super::*; -use crate::HasMigrationRun; -use frame_support::{storage_alias, traits::Get, weights::Weight}; -use scale_info::prelude::string::String; -use substrate_fixed::types::U64F64; - -pub mod deprecated_swap_maps { - use super::*; - - #[storage_alias] - pub type AlphaSqrtPrice = - StorageMap, Twox64Concat, NetUid, U64F64, ValueQuery>; - - /// TAO reservoir for scraps of protocol claimed fees. - #[storage_alias] - pub type ScrapReservoirTao = - StorageMap, Twox64Concat, NetUid, TaoCurrency, ValueQuery>; - - /// Alpha reservoir for scraps of protocol claimed fees. - #[storage_alias] - pub type ScrapReservoirAlpha = - StorageMap, Twox64Concat, NetUid, AlphaCurrency, ValueQuery>; -} - -pub fn migrate_swapv3_to_balancer() -> Weight { - let migration_name = BoundedVec::truncate_from(b"migrate_swapv3_to_balancer".to_vec()); - let mut weight = T::DbWeight::get().reads(1); - - if HasMigrationRun::::get(&migration_name) { - log::info!( - "Migration '{:?}' has already run. Skipping.", - String::from_utf8_lossy(&migration_name) - ); - return weight; - } - - log::info!( - "Running migration '{}'", - String::from_utf8_lossy(&migration_name), - ); - - // ------------------------------ - // Step 1: Initialize swaps with price before price removal - // ------------------------------ - for (netuid, price_sqrt) in deprecated_swap_maps::AlphaSqrtPrice::::iter() { - let price = price_sqrt.saturating_mul(price_sqrt); - crate::Pallet::::maybe_initialize_palswap(netuid, Some(price)).unwrap_or_default(); - } - - // ------------------------------ - // Step 2: Clear Map entries - // ------------------------------ - remove_prefix::("Swap", "AlphaSqrtPrice", &mut weight); - remove_prefix::("Swap", "CurrentTick", &mut weight); - remove_prefix::("Swap", "EnabledUserLiquidity", &mut weight); - remove_prefix::("Swap", "FeeGlobalTao", &mut weight); - remove_prefix::("Swap", "FeeGlobalAlpha", &mut weight); - remove_prefix::("Swap", "LastPositionId", &mut weight); - // Scrap reservoirs can be just cleaned because they are already included in reserves - remove_prefix::("Swap", "ScrapReservoirTao", &mut weight); - remove_prefix::("Swap", "ScrapReservoirAlpha", &mut weight); - remove_prefix::("Swap", "Ticks", &mut weight); - remove_prefix::("Swap", "TickIndexBitmapWords", &mut weight); - remove_prefix::("Swap", "SwapV3Initialized", &mut weight); - remove_prefix::("Swap", "CurrentLiquidity", &mut weight); - remove_prefix::("Swap", "Positions", &mut weight); - - // ------------------------------ - // Step 3: Mark Migration as Completed - // ------------------------------ - - HasMigrationRun::::insert(&migration_name, true); - weight = weight.saturating_add(T::DbWeight::get().writes(1)); - - log::info!( - "Migration '{:?}' completed successfully.", - String::from_utf8_lossy(&migration_name) - ); - - weight -} diff --git a/pallets/swap/src/pallet/mod.rs b/pallets/swap/src/pallet/mod.rs index b0d45ea77a..ba28d44e62 100644 --- a/pallets/swap/src/pallet/mod.rs +++ b/pallets/swap/src/pallet/mod.rs @@ -4,13 +4,7 @@ use frame_support::{PalletId, pallet_prelude::*, traits::Get}; use frame_system::pallet_prelude::*; use sp_arithmetic::Perbill; use subtensor_runtime_common::{ - AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, Token, TokenReserve, -}; - -use crate::{ - position::{Position, PositionId}, - tick::{LayerLevel, Tick, TickIndex}, - weights::WeightInfo, + AlphaBalance, BalanceOps, NetUid, SubnetInfo, TaoBalance, TokenReserve, }; use crate::{pallet::balancer::Balancer, weights::WeightInfo}; @@ -111,11 +105,11 @@ mod pallet { /// Total fees in TAO per subnet due to be paid to users / protocol #[pallet::storage] - pub type FeesTao = StorageMap<_, Twox64Concat, NetUid, TaoCurrency, ValueQuery>; + pub type FeesTao = StorageMap<_, Twox64Concat, NetUid, TaoBalance, ValueQuery>; /// Total fees in Alpha per subnet due to be paid to users / protocol #[pallet::storage] - pub type FeesAlpha = StorageMap<_, Twox64Concat, NetUid, AlphaCurrency, ValueQuery>; + pub type FeesAlpha = StorageMap<_, Twox64Concat, NetUid, AlphaBalance, ValueQuery>; /// --- Storage for migration run status #[pallet::storage] diff --git a/pallets/swap/src/pallet/swap_step.rs b/pallets/swap/src/pallet/swap_step.rs index a76a388aaf..dd720652d7 100644 --- a/pallets/swap/src/pallet/swap_step.rs +++ b/pallets/swap/src/pallet/swap_step.rs @@ -2,9 +2,9 @@ use core::marker::PhantomData; use frame_support::ensure; use safe_math::*; -use sp_arithmetic::traits::Zero; -use substrate_fixed::types::{I64F64, U64F64}; -use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token}; +use sp_core::Get; +use substrate_fixed::types::U64F64; +use subtensor_runtime_common::{AlphaBalance, NetUid, TaoBalance, Token, TokenReserve}; use super::pallet::*; @@ -146,17 +146,17 @@ where impl SwapStep for BasicSwapStep { - fn delta_in(netuid: NetUid, price_curr: U64F64, price_target: U64F64) -> TaoCurrency { + fn delta_in(netuid: NetUid, price_curr: U64F64, price_target: U64F64) -> TaoBalance { let tao_reserve = T::TaoReserve::reserve(netuid.into()); let balancer = SwapBalancer::::get(netuid); - TaoCurrency::from(balancer.calculate_quote_delta_in( + TaoBalance::from(balancer.calculate_quote_delta_in( price_curr, price_target, tao_reserve.into(), )) } - fn price_target(netuid: NetUid, delta_in: TaoCurrency) -> U64F64 { + fn price_target(netuid: NetUid, delta_in: TaoBalance) -> U64F64 { let tao_reserve = T::TaoReserve::reserve(netuid.into()); let alpha_reserve = T::AlphaReserve::reserve(netuid.into()); let balancer = SwapBalancer::::get(netuid); @@ -172,18 +172,18 @@ impl SwapStep price1 <= price2 } - fn add_fees(netuid: NetUid, fee: TaoCurrency) { + fn add_fees(netuid: NetUid, fee: TaoBalance) { FeesTao::::mutate(netuid, |total| *total = total.saturating_add(fee)) } - fn convert_deltas(netuid: NetUid, delta_in: TaoCurrency) -> AlphaCurrency { + fn convert_deltas(netuid: NetUid, delta_in: TaoBalance) -> AlphaBalance { let alpha_reserve = T::AlphaReserve::reserve(netuid.into()); let tao_reserve = T::TaoReserve::reserve(netuid.into()); let balancer = SwapBalancer::::get(netuid); let e = balancer.exp_quote_base(tao_reserve.into(), delta_in.into()); let one = U64F64::from_num(1); let alpha_reserve_fixed = U64F64::from_num(alpha_reserve); - AlphaCurrency::from( + AlphaBalance::from( alpha_reserve_fixed .saturating_mul(one.saturating_sub(e)) .saturating_to_num::(), @@ -194,17 +194,17 @@ impl SwapStep impl SwapStep for BasicSwapStep { - fn delta_in(netuid: NetUid, price_curr: U64F64, price_target: U64F64) -> AlphaCurrency { + fn delta_in(netuid: NetUid, price_curr: U64F64, price_target: U64F64) -> AlphaBalance { let alpha_reserve = T::AlphaReserve::reserve(netuid); let balancer = SwapBalancer::::get(netuid); - AlphaCurrency::from(balancer.calculate_base_delta_in( + AlphaBalance::from(balancer.calculate_base_delta_in( price_curr, price_target, alpha_reserve.into(), )) } - fn price_target(netuid: NetUid, delta_in: AlphaCurrency) -> U64F64 { + fn price_target(netuid: NetUid, delta_in: AlphaBalance) -> U64F64 { let tao_reserve = T::TaoReserve::reserve(netuid.into()); let alpha_reserve = T::AlphaReserve::reserve(netuid.into()); let balancer = SwapBalancer::::get(netuid); @@ -220,18 +220,18 @@ impl SwapStep price1 >= price2 } - fn add_fees(netuid: NetUid, fee: AlphaCurrency) { + fn add_fees(netuid: NetUid, fee: AlphaBalance) { FeesAlpha::::mutate(netuid, |total| *total = total.saturating_add(fee)) } - fn convert_deltas(netuid: NetUid, delta_in: AlphaCurrency) -> TaoCurrency { + fn convert_deltas(netuid: NetUid, delta_in: AlphaBalance) -> TaoBalance { let alpha_reserve = T::AlphaReserve::reserve(netuid.into()); let tao_reserve = T::TaoReserve::reserve(netuid.into()); let balancer = SwapBalancer::::get(netuid); let e = balancer.exp_base_quote(alpha_reserve.into(), delta_in.into()); let one = U64F64::from_num(1); let tao_reserve_fixed = U64F64::from_num(u64::from(tao_reserve)); - TaoCurrency::from( + TaoBalance::from( tao_reserve_fixed .saturating_mul(one.saturating_sub(e)) .saturating_to_num::(), diff --git a/pallets/swap/src/pallet/tests.rs b/pallets/swap/src/pallet/tests.rs index e65d603e60..c478d4d1f2 100644 --- a/pallets/swap/src/pallet/tests.rs +++ b/pallets/swap/src/pallet/tests.rs @@ -10,7 +10,7 @@ use frame_support::{assert_noop, assert_ok}; use sp_arithmetic::Perquintill; use sp_runtime::DispatchError; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{Currency, NetUid}; +use subtensor_runtime_common::{NetUid, Token}; use subtensor_swap_interface::Order as OrderT; use super::*; @@ -22,13 +22,13 @@ use crate::pallet::swap_step::*; #[allow(dead_code)] fn get_min_price() -> U64F64 { - U64F64::from_num(Pallet::::min_price_inner::()) + U64F64::from_num(Pallet::::min_price_inner::()) / U64F64::from_num(1_000_000_000) } #[allow(dead_code)] fn get_max_price() -> U64F64 { - U64F64::from_num(Pallet::::max_price_inner::()) + U64F64::from_num(Pallet::::max_price_inner::()) / U64F64::from_num(1_000_000_000) } @@ -114,12 +114,12 @@ mod dispatchables { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let tao_delta = TaoCurrency::from(tao_delta); - let alpha_delta = AlphaCurrency::from(alpha_delta); + let tao_delta = TaoBalance::from(tao_delta); + let alpha_delta = AlphaBalance::from(alpha_delta); // Initialize reserves and price - let tao = TaoCurrency::from(1_000_000_000_000_u64); - let alpha = AlphaCurrency::from(4_000_000_000_000_u64); + let tao = TaoBalance::from(1_000_000_000_000_u64); + let alpha = AlphaBalance::from(4_000_000_000_000_u64); TaoReserve::set_mock_reserve(netuid, tao); AlphaReserve::set_mock_reserve(netuid, alpha); let price_before = Swap::current_price(netuid); @@ -175,8 +175,8 @@ mod dispatchables { const PREC_LARGE_DELTA: f64 = 0.001; const WEIGHT_PRECISION: f64 = 0.000_000_000_000_000_001; - let initial_tao_reserve = TaoCurrency::from(1_000_000_000_000_000_u64); - let initial_alpha_reserve = AlphaCurrency::from(10_000_000_000_000_000_u64); + let initial_tao_reserve = TaoBalance::from(1_000_000_000_000_000_u64); + let initial_alpha_reserve = AlphaBalance::from(10_000_000_000_000_000_u64); // test case: tao_delta, alpha_delta, price_precision [ @@ -207,8 +207,8 @@ mod dispatchables { new_test_ext().execute_with(|| { let netuid1 = NetUid::from(1); - let tao_delta = TaoCurrency::from(tao_delta); - let alpha_delta = AlphaCurrency::from(alpha_delta); + let tao_delta = TaoBalance::from(tao_delta); + let alpha_delta = AlphaBalance::from(alpha_delta); // Initialize realistically large reserves let mut tao = initial_tao_reserve; @@ -245,8 +245,8 @@ mod dispatchables { AlphaReserve::set_mock_reserve(netuid2, initial_alpha_reserve); // Adjust reserves by one large amount at once - let tao_delta_once = TaoCurrency::from(ITERATIONS * u64::from(tao_delta)); - let alpha_delta_once = AlphaCurrency::from(ITERATIONS * u64::from(alpha_delta)); + let tao_delta_once = TaoBalance::from(ITERATIONS * u64::from(tao_delta)); + let alpha_delta_once = AlphaBalance::from(ITERATIONS * u64::from(alpha_delta)); Swap::adjust_protocol_liquidity(netuid2, tao_delta_once, alpha_delta_once); TaoReserve::set_mock_reserve(netuid2, initial_tao_reserve + tao_delta_once); AlphaReserve::set_mock_reserve(netuid2, initial_alpha_reserve + alpha_delta_once); @@ -315,13 +315,13 @@ mod dispatchables { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let tao_delta = TaoCurrency::from(tao_delta); - let alpha_delta = AlphaCurrency::from(alpha_delta); + let tao_delta = TaoBalance::from(tao_delta); + let alpha_delta = AlphaBalance::from(alpha_delta); // Initialize reserves and price // broken state: Zero price because of zero alpha reserve - let tao = TaoCurrency::from(1_000_000_000_000_u64); - let alpha = AlphaCurrency::from(0_u64); + let tao = TaoBalance::from(1_000_000_000_000_u64); + let alpha = AlphaBalance::from(0_u64); TaoReserve::set_mock_reserve(netuid, tao); AlphaReserve::set_mock_reserve(netuid, alpha); let price_before = Swap::current_price(netuid); @@ -364,19 +364,19 @@ mod dispatchables { new_test_ext().execute_with(|| { let netuid = NetUid::from(1); - let tao_delta = TaoCurrency::ZERO; - let alpha_delta = AlphaCurrency::ZERO; + let tao_delta = TaoBalance::ZERO; + let alpha_delta = AlphaBalance::ZERO; // Initialize reserves and price // 0.1 price - let tao = TaoCurrency::from(1_000_000_000_u64); - let alpha = AlphaCurrency::from(10_000_000_000_u64); + let tao = TaoBalance::from(1_000_000_000_u64); + let alpha = AlphaBalance::from(10_000_000_000_u64); TaoReserve::set_mock_reserve(netuid, tao); AlphaReserve::set_mock_reserve(netuid, alpha); // Insert fees - let tao_fees = TaoCurrency::from(1_000); - let alpha_fees = AlphaCurrency::from(1_000); + let tao_fees = TaoBalance::from(1_000); + let alpha_fees = AlphaBalance::from(1_000); FeesTao::::insert(netuid, tao_fees); FeesAlpha::::insert(netuid, alpha_fees); @@ -391,8 +391,8 @@ mod dispatchables { assert_eq!(actual_alpha_delta, alpha_fees); // Check that fees got reset - assert_eq!(FeesTao::::get(netuid), TaoCurrency::ZERO); - assert_eq!(FeesAlpha::::get(netuid), AlphaCurrency::ZERO); + assert_eq!(FeesTao::::get(netuid), TaoBalance::ZERO); + assert_eq!(FeesAlpha::::get(netuid), AlphaBalance::ZERO); }); } } @@ -403,8 +403,8 @@ fn test_swap_initialization() { let netuid = NetUid::from(1); // Setup reserves - let tao = TaoCurrency::from(1_000_000_000u64); - let alpha = AlphaCurrency::from(4_000_000_000u64); + let tao = TaoBalance::from(1_000_000_000u64); + let alpha = AlphaBalance::from(4_000_000_000u64); TaoReserve::set_mock_reserve(netuid, tao); AlphaReserve::set_mock_reserve(netuid, alpha); @@ -435,8 +435,8 @@ fn test_swap_initialization_with_price() { let netuid = NetUid::from(1); // Setup reserves, tao / alpha = 0.25 - let tao = TaoCurrency::from(1_000_000_000u64); - let alpha = AlphaCurrency::from(4_000_000_000u64); + let tao = TaoBalance::from(1_000_000_000u64); + let alpha = AlphaBalance::from(4_000_000_000u64); TaoReserve::set_mock_reserve(netuid, tao); AlphaReserve::set_mock_reserve(netuid, alpha); @@ -476,8 +476,8 @@ fn test_swap_basic() { // Setup swap // Price is 0.25 - let initial_tao_reserve = TaoCurrency::from(1_000_000_000_u64); - let initial_alpha_reserve = AlphaCurrency::from(4_000_000_000_u64); + let initial_tao_reserve = TaoBalance::from(1_000_000_000_u64); + let initial_alpha_reserve = AlphaBalance::from(4_000_000_000_u64); TaoReserve::set_mock_reserve(netuid, initial_tao_reserve); AlphaReserve::set_mock_reserve(netuid, initial_alpha_reserve); assert_ok!(Pallet::::maybe_initialize_palswap(netuid, None)); @@ -530,14 +530,14 @@ fn test_swap_basic() { if price_should_grow { TaoReserve::set_mock_reserve( netuid, - TaoCurrency::from( + TaoBalance::from( (u64::from(initial_tao_reserve) as i128 + swap_result.paid_in_reserve_delta()) as u64, ), ); AlphaReserve::set_mock_reserve( netuid, - AlphaCurrency::from( + AlphaBalance::from( (u64::from(initial_alpha_reserve) as i128 + swap_result.paid_out_reserve_delta()) as u64, ), @@ -545,14 +545,14 @@ fn test_swap_basic() { } else { TaoReserve::set_mock_reserve( netuid, - TaoCurrency::from( + TaoBalance::from( (u64::from(initial_tao_reserve) as i128 + swap_result.paid_out_reserve_delta()) as u64, ), ); AlphaReserve::set_mock_reserve( netuid, - AlphaCurrency::from( + AlphaBalance::from( (u64::from(initial_alpha_reserve) as i128 + swap_result.paid_in_reserve_delta()) as u64, ), @@ -588,7 +588,7 @@ fn test_swap_basic() { ); perform_test( 3.into(), - GetAlphaForTao::with_amount(10_000_000_000), + GetAlphaForTao::with_amount(10_000_000_000_u64), 1000.0, true, ); @@ -610,8 +610,8 @@ fn test_swap_precision_edge_case() { let order = GetTaoForAlpha::with_amount(swap_amount); // Very low reserves - TaoReserve::set_mock_reserve(netuid, TaoCurrency::from(tao_reserve)); - AlphaReserve::set_mock_reserve(netuid, AlphaCurrency::from(alpha_reserve)); + TaoReserve::set_mock_reserve(netuid, TaoBalance::from(tao_reserve)); + AlphaReserve::set_mock_reserve(netuid, AlphaBalance::from(alpha_reserve)); // Minimum possible limit price let limit_price: U64F64 = get_min_price(); @@ -621,7 +621,7 @@ fn test_swap_precision_edge_case() { let swap_result = Pallet::::do_swap(netuid, order, limit_price, false, true).unwrap(); - assert!(swap_result.amount_paid_out > TaoCurrency::ZERO); + assert!(swap_result.amount_paid_out > TaoBalance::ZERO); }); }); } @@ -695,8 +695,8 @@ fn test_convert_deltas() { ] { // Initialize reserves and weights let netuid = NetUid::from(1); - TaoReserve::set_mock_reserve(netuid, TaoCurrency::from(tao)); - AlphaReserve::set_mock_reserve(netuid, AlphaCurrency::from(alpha)); + TaoReserve::set_mock_reserve(netuid, TaoBalance::from(tao)); + AlphaReserve::set_mock_reserve(netuid, AlphaBalance::from(alpha)); assert_ok!(Pallet::::maybe_initialize_palswap(netuid, None)); let w_accuracy = 1_000_000_000_f64; @@ -716,7 +716,7 @@ fn test_convert_deltas() { assert_abs_diff_eq!( u64::from( - BasicSwapStep::::convert_deltas( + BasicSwapStep::::convert_deltas( netuid, delta_in.into() ) @@ -726,7 +726,7 @@ fn test_convert_deltas() { ); assert_abs_diff_eq!( u64::from( - BasicSwapStep::::convert_deltas( + BasicSwapStep::::convert_deltas( netuid, delta_in.into() ) @@ -790,8 +790,8 @@ fn test_liquidate_pal_simple_ok_and_clears() { // Insert map values FeeRate::::insert(netuid, 1_000); - FeesTao::::insert(netuid, TaoCurrency::from(1_000)); - FeesAlpha::::insert(netuid, AlphaCurrency::from(1_000)); + FeesTao::::insert(netuid, TaoBalance::from(1_000)); + FeesAlpha::::insert(netuid, AlphaBalance::from(1_000)); PalSwapInitialized::::insert(netuid, true); let w_quote_pt = Perquintill::from_rational(1u128, 2u128); let bal = Balancer::new(w_quote_pt).unwrap(); @@ -870,15 +870,12 @@ fn test_migrate_swapv3_to_balancer() { // Insert deprecated maps values deprecated_swap_maps::AlphaSqrtPrice::::insert(netuid, U64F64::from_num(1.23)); - deprecated_swap_maps::ScrapReservoirTao::::insert(netuid, TaoCurrency::from(9876)); - deprecated_swap_maps::ScrapReservoirAlpha::::insert( - netuid, - AlphaCurrency::from(9876), - ); + deprecated_swap_maps::ScrapReservoirTao::::insert(netuid, TaoBalance::from(9876)); + deprecated_swap_maps::ScrapReservoirAlpha::::insert(netuid, AlphaBalance::from(9876)); // Insert reserves that do not match the 1.23 price - TaoReserve::set_mock_reserve(netuid, TaoCurrency::from(1_000_000_000)); - AlphaReserve::set_mock_reserve(netuid, AlphaCurrency::from(4_000_000_000)); + TaoReserve::set_mock_reserve(netuid, TaoBalance::from(1_000_000_000)); + AlphaReserve::set_mock_reserve(netuid, AlphaBalance::from(4_000_000_000_u64)); // Run migration migration(); diff --git a/pallets/transaction-fee/src/lib.rs b/pallets/transaction-fee/src/lib.rs index 6b4e3146ee..d4f70f320d 100644 --- a/pallets/transaction-fee/src/lib.rs +++ b/pallets/transaction-fee/src/lib.rs @@ -19,7 +19,6 @@ use sp_runtime::{ Perbill, Saturating, traits::{DispatchInfoOf, PostDispatchInfoOf}, }; -use subtensor_runtime_common::{TaoBalance, Token}; // Pallets use pallet_subtensor::Call as SubtensorCall; @@ -32,7 +31,7 @@ use core::marker::PhantomData; use smallvec::smallvec; use sp_std::vec::Vec; use substrate_fixed::types::U64F64; -use subtensor_runtime_common::{AuthorshipInfo, Balance, NetUid}; +use subtensor_runtime_common::{AuthorshipInfo, NetUid, TaoBalance, Token}; // Tests #[cfg(test)] @@ -46,9 +45,9 @@ impl WeightToFeePolynomial for LinearWeightToFee { type Balance = TaoBalance; fn polynomial() -> WeightToFeeCoefficients { - let coefficient = WeightToFeeCoefficient { - coeff_integer: 0, - coeff_frac: Perbill::from_parts(500_000), // 0.5 unit per weight + let coefficient: WeightToFeeCoefficient = WeightToFeeCoefficient { + coeff_integer: TaoBalance::new(0), + coeff_frac: Perbill::from_parts(50_000), negative: false, degree: 1, }; @@ -92,18 +91,13 @@ type BalancesImbalanceOf = FungibleImbalance< impl OnUnbalanced> for TransactionFeeHandler where - T: frame_system::Config, - T: pallet_subtensor::Config, - T: pallet_balances::Config, - T: AuthorshipInfo>, + T: frame_system::Config + + pallet_balances::Config + + pallet_subtensor::Config + + AuthorshipInfo>, + ::Balance: Into + Copy, { - fn on_nonzero_unbalanced( - imbalance: FungibleImbalance< - u64, - DecreaseIssuance, pallet_balances::Pallet>, - IncreaseIssuance, pallet_balances::Pallet>, - >, - ) { + fn on_nonzero_unbalanced(imbalance: BalancesImbalanceOf) { if let Some(author) = T::author() { // Pay block author instead of burning. // One of these is the right call depending on your exact fungible API: diff --git a/pallets/transaction-fee/src/tests/mock.rs b/pallets/transaction-fee/src/tests/mock.rs index 942e03d320..f4d4c1d227 100644 --- a/pallets/transaction-fee/src/tests/mock.rs +++ b/pallets/transaction-fee/src/tests/mock.rs @@ -22,7 +22,9 @@ use sp_runtime::{ }; use sp_std::cmp::Ordering; use sp_weights::Weight; -pub use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, Currency, NetUid, TaoCurrency}; +pub use subtensor_runtime_common::{ + AlphaBalance, AuthorshipInfo, ConstTao, NetUid, TaoBalance, Token, +}; use subtensor_swap_interface::{Order, SwapHandler}; use crate::SubtensorTxFeeHandler; @@ -646,7 +648,7 @@ pub(crate) fn swap_alpha_to_tao(netuid: NetUid, alpha: AlphaBalance) -> (u64, u6 pub(crate) fn swap_tao_to_alpha_ext( netuid: NetUid, - tao: TaoCurrency, + tao: TaoBalance, drop_fees: bool, ) -> (u64, u64) { if netuid.is_root() { @@ -672,7 +674,7 @@ pub(crate) fn swap_tao_to_alpha_ext( (result.amount_paid_out.to_u64(), result.fee_paid.to_u64()) } -pub(crate) fn swap_tao_to_alpha(netuid: NetUid, tao: TaoCurrency) -> (u64, u64) { +pub(crate) fn swap_tao_to_alpha(netuid: NetUid, tao: TaoBalance) -> (u64, u64) { swap_tao_to_alpha_ext(netuid, tao, false) } diff --git a/pallets/transaction-fee/src/tests/mod.rs b/pallets/transaction-fee/src/tests/mod.rs index 59dc61b9cb..e5a8568216 100644 --- a/pallets/transaction-fee/src/tests/mod.rs +++ b/pallets/transaction-fee/src/tests/mod.rs @@ -2,11 +2,11 @@ use crate::TransactionSource; use frame_support::assert_ok; use frame_support::dispatch::GetDispatchInfo; +use frame_support::pallet_prelude::Zero; use sp_runtime::{ traits::{DispatchTransaction, TransactionExtension, TxBaseImplication}, transaction_validity::{InvalidTransaction, TransactionValidityError}, }; -use substrate_fixed::types::U64F64; use subtensor_runtime_common::AlphaBalance; use mock::*; @@ -445,8 +445,8 @@ fn test_remove_stake_edge_alpha() { assert_ok!(result); // Lower Alpha price to 0.0001 so that there is not enough alpha to cover tx fees - SubnetTAO::::insert(sn.subnets[0].netuid, TaoCurrency::from(1_000_000)); - SubnetAlphaIn::::insert(sn.subnets[0].netuid, AlphaCurrency::from(10_000_000_000)); + SubnetTAO::::insert(sn.subnets[0].netuid, TaoBalance::from(1_000_000)); + SubnetAlphaIn::::insert(sn.subnets[0].netuid, AlphaBalance::from(10_000_000_000_u64)); let result_low_alpha_price = ext.validate( RuntimeOrigin::signed(sn.coldkey).into(), @@ -1230,7 +1230,7 @@ fn test_add_stake_fees_go_to_block_builder() { // Simulate add stake to get the expected TAO fee let (_, swap_fee) = mock::swap_tao_to_alpha(sn.subnets[0].netuid, stake_amount.into()); - SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, stake_amount * 10_u64); + SubtensorModule::add_balance_to_coldkey_account(&sn.coldkey, (stake_amount * 10).into()); remove_stake_rate_limit_for_tests(&sn.hotkeys[0], &sn.coldkey, sn.subnets[0].netuid); // Stake @@ -1243,7 +1243,7 @@ fn test_add_stake_fees_go_to_block_builder() { // Dispatch the extrinsic with ChargeTransactionPayment extension let info = call.get_dispatch_info(); - let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0); + let ext = pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()); assert_ok!(ext.dispatch_transaction( RuntimeOrigin::signed(sn.coldkey).into(), call, @@ -1253,14 +1253,16 @@ fn test_add_stake_fees_go_to_block_builder() { )); let final_balance = Balances::free_balance(sn.coldkey); - let actual_tao_fee = balance_before - stake_amount - final_balance; - assert!(actual_tao_fee > 0); + let actual_tao_fee = balance_before - stake_amount.into() - final_balance; + assert!(!actual_tao_fee.is_zero()); // Expect that block builder balance has increased by both the swap fee and the transaction fee let expected_block_builder_swap_reward = swap_fee as f64 * block_builder_fee_portion; let expected_tx_fee = 0.000136; // Use very low value for less test flakiness let block_builder_balance_after = Balances::free_balance(block_builder); let actual_reward = block_builder_balance_after - block_builder_balance_before; - assert!(actual_reward as f64 >= expected_block_builder_swap_reward + expected_tx_fee); + assert!( + u64::from(actual_reward) as f64 >= expected_block_builder_swap_reward + expected_tx_fee + ); }); } diff --git a/precompiles/src/alpha.rs b/precompiles/src/alpha.rs index 5a13b9ac29..61610c3371 100644 --- a/precompiles/src/alpha.rs +++ b/precompiles/src/alpha.rs @@ -5,7 +5,7 @@ use pallet_evm::{BalanceConverter, PrecompileHandle, SubstrateBalance}; use precompile_utils::EvmResult; use sp_core::U256; use sp_std::vec::Vec; -use substrate_fixed::types::U96F32; +use substrate_fixed::types::{U64F64, U96F32}; use subtensor_runtime_common::{NetUid, Token}; use subtensor_swap_interface::{Order, SwapHandler}; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ca1f36d931..ecbe85856e 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -2511,9 +2511,10 @@ impl_runtime_apis! { .collect() } - fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoCurrency) -> SimSwapResult { + fn sim_swap_tao_for_alpha(netuid: NetUid, tao: TaoBalance) -> SimSwapResult { let price = pallet_subtensor_swap::Pallet::::current_price(netuid.into()); - let no_slippage_alpha = U64F64::saturating_from_num(u64::from(tao)).safe_div(price).saturating_to_num::(); + let tao_u64: u64 = tao.into(); + let no_slippage_alpha = U64F64::saturating_from_num(tao_u64).safe_div(price).saturating_to_num::(); let order = pallet_subtensor::GetAlphaForTao::::with_amount(tao); // fee_to_block_author is included in sr.fee_paid, so it is absent in this calculation pallet_subtensor_swap::Pallet::::sim_swap( @@ -2540,9 +2541,10 @@ impl_runtime_apis! { ) } - fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaCurrency) -> SimSwapResult { + fn sim_swap_alpha_for_tao(netuid: NetUid, alpha: AlphaBalance) -> SimSwapResult { let price = pallet_subtensor_swap::Pallet::::current_price(netuid.into()); - let no_slippage_tao = U64F64::saturating_from_num(u64::from(alpha)).saturating_mul(price).saturating_to_num::(); + let alpha_u64: u64 = alpha.into(); + let no_slippage_tao = U64F64::saturating_from_num(alpha_u64).saturating_mul(price).saturating_to_num::(); let order = pallet_subtensor::GetTaoForAlpha::::with_amount(alpha); // fee_to_block_author is included in sr.fee_paid, so it is absent in this calculation pallet_subtensor_swap::Pallet::::sim_swap( diff --git a/runtime/tests/precompiles.rs b/runtime/tests/precompiles.rs index 5565aa8f7f..70e4ffcd2e 100644 --- a/runtime/tests/precompiles.rs +++ b/runtime/tests/precompiles.rs @@ -149,10 +149,10 @@ mod balance_transfer { let destination_balance_after = pallet_balances::Pallet::::free_balance(&destination_account); - assert_eq!(source_balance_after, source_balance_before - amount); + assert_eq!(source_balance_after, source_balance_before - amount.into()); assert_eq!( destination_balance_after, - destination_balance_before + amount + destination_balance_before + amount.into() ); }); } From 14b7928ccd2b28c00e39ed39999288ae5b3b4c19 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 19 Feb 2026 13:14:58 -0500 Subject: [PATCH 009/204] Spec bump --- 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 ecbe85856e..284485bf88 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -245,7 +245,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: 380, + spec_version: 381, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From aedc1af9158d59bc923d6b6f8e64510888f2db5a Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 19 Feb 2026 13:49:43 -0500 Subject: [PATCH 010/204] Implement ExistentialDeposit with parameter_types --- runtime/src/lib.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 284485bf88..cececb926e 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -433,11 +433,8 @@ impl pallet_safe_mode::Config for Runtime { // Existential deposit. pub const EXISTENTIAL_DEPOSIT: u64 = 500; -pub struct ExistentialDeposit; -impl frame_support::traits::Get for ExistentialDeposit { - fn get() -> TaoBalance { - TaoBalance::new(500) - } +parameter_types! { + pub const ExistentialDeposit: TaoBalance = TaoBalance::new(500); } impl pallet_balances::Config for Runtime { From 3ec39f7683ca72fc51d13d48fa93be8f96695692 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Thu, 19 Feb 2026 14:20:54 -0500 Subject: [PATCH 011/204] Add a TODO comment --- common/src/currency.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/common/src/currency.rs b/common/src/currency.rs index 58b61dbeb5..8a39086d37 100644 --- a/common/src/currency.rs +++ b/common/src/currency.rs @@ -129,6 +129,7 @@ macro_rules! impl_currency_reqs { } } + // TODO: This is a lossy conversion, maybe it should use try_from impl From for $currency_type { fn from(value: i32) -> Self { Self(value.unsigned_abs().into()) From b96a6ced4a5d109dbc5cb2de43889dc06d1579e5 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Tue, 24 Feb 2026 15:01:43 -0500 Subject: [PATCH 012/204] Fix swap_coldkey weights --- pallets/subtensor/src/macros/dispatches.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index da28168173..23a391e030 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -1070,8 +1070,8 @@ mod dispatches { /// Only callable by root as it doesn't require an announcement and can be used to swap any coldkey. #[pallet::call_index(71)] #[pallet::weight(Weight::from_parts(161_700_000, 0) - .saturating_add(T::DbWeight::get().reads(16_u64)) - .saturating_add(T::DbWeight::get().writes(11_u64)))] + .saturating_add(T::DbWeight::get().reads(17_u64)) + .saturating_add(T::DbWeight::get().writes(10_u64)))] pub fn swap_coldkey( origin: OriginFor, old_coldkey: T::AccountId, From c2e3dcbf2868799120d051155e8d168c6c6de27c Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 25 Feb 2026 17:32:08 -0500 Subject: [PATCH 013/204] Fix ink e2e tests build --- contract-tests/bittensor/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract-tests/bittensor/lib.rs b/contract-tests/bittensor/lib.rs index fd8161000b..2cde92c085 100755 --- a/contract-tests/bittensor/lib.rs +++ b/contract-tests/bittensor/lib.rs @@ -154,7 +154,7 @@ impl ink::env::Environment for CustomEnvironment { const MAX_EVENT_TOPICS: usize = 4; type AccountId = ink::primitives::AccountId; - type Balance = TaoBalance; + type Balance = u64; type Hash = ink::primitives::Hash; type BlockNumber = u32; type Timestamp = u64; From c089f209fe96f1c639cd2166b872f8baf395a9a6 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Fri, 27 Feb 2026 12:24:48 -0500 Subject: [PATCH 014/204] Cleanup merge --- pallets/subtensor/src/guards/check_coldkey_swap.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/guards/check_coldkey_swap.rs b/pallets/subtensor/src/guards/check_coldkey_swap.rs index 95a640b9dc..5f234d2d65 100644 --- a/pallets/subtensor/src/guards/check_coldkey_swap.rs +++ b/pallets/subtensor/src/guards/check_coldkey_swap.rs @@ -231,8 +231,8 @@ mod tests { ColdkeySwapAnnouncements::::insert(real, (now, hash)); // Give delegate enough balance for proxy deposit - SubtensorModule::add_balance_to_coldkey_account(&real, 1_000_000_000); - SubtensorModule::add_balance_to_coldkey_account(&delegate, 1_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&real, 1_000_000_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate, 1_000_000_000.into()); // Register proxy: delegate can act on behalf of real assert_ok!(Proxy::add_proxy( @@ -270,9 +270,9 @@ mod tests { let hash = HashingOf::::hash_of(&U256::from(42)); ColdkeySwapAnnouncements::::insert(real, (now, hash)); - SubtensorModule::add_balance_to_coldkey_account(&real, 1_000_000_000); - SubtensorModule::add_balance_to_coldkey_account(&delegate1, 1_000_000_000); - SubtensorModule::add_balance_to_coldkey_account(&delegate2, 1_000_000_000); + SubtensorModule::add_balance_to_coldkey_account(&real, 1_000_000_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate1, 1_000_000_000.into()); + SubtensorModule::add_balance_to_coldkey_account(&delegate2, 1_000_000_000.into()); // delegate1 can proxy for real, delegate2 can proxy for delegate1 assert_ok!(Proxy::add_proxy( From 63ed411b4aad430b77640e7ffb9d032c86ef214f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 27 Feb 2026 16:02:13 -0300 Subject: [PATCH 015/204] disable mev shield temporarily --- pallets/shield/src/benchmarking.rs | 66 +++--- pallets/shield/src/lib.rs | 25 +- pallets/shield/src/tests.rs | 357 ++++++++++++++--------------- 3 files changed, 216 insertions(+), 232 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index e3890bae76..c6d663465f 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -14,10 +14,10 @@ use sp_std::vec; // } /// Helper to build bounded bytes (ciphertext) of a given length. -fn bounded_ct(len: usize) -> BoundedVec> { - let v = vec![0u8; len]; - BoundedVec::>::try_from(v).expect("within bound; qed") -} +// fn bounded_ct(len: usize) -> BoundedVec> { +// let v = vec![0u8; len]; +// BoundedVec::>::try_from(v).expect("within bound; qed") +// } // /// Seed Aura authorities so `EnsureAuraAuthority` passes for a given sr25519 pubkey. // /// @@ -72,38 +72,38 @@ mod benches { // assert_eq!(stored, public_key); // } - /// Benchmark `submit_encrypted`. - #[benchmark] - fn submit_encrypted() { - // Any whitelisted caller is fine (no authority requirement). - let who: T::AccountId = whitelisted_caller(); + // Benchmark `submit_encrypted`. + // #[benchmark] + // fn submit_encrypted() { + // // Any whitelisted caller is fine (no authority requirement). + // let who: T::AccountId = whitelisted_caller(); - // Dummy commitment and ciphertext (bounded to 8192). - let commitment: T::Hash = ::Hashing::hash(b"bench-commitment"); - const CT_DEFAULT_LEN: usize = 256; - let ciphertext: BoundedVec> = super::bounded_ct::<8192>(CT_DEFAULT_LEN); + // // Dummy commitment and ciphertext (bounded to 8192). + // let commitment: T::Hash = ::Hashing::hash(b"bench-commitment"); + // const CT_DEFAULT_LEN: usize = 256; + // let ciphertext: BoundedVec> = super::bounded_ct::<8192>(CT_DEFAULT_LEN); - // Pre-compute expected id to assert postconditions. - let id: T::Hash = - ::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); + // // Pre-compute expected id to assert postconditions. + // let id: T::Hash = + // ::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); - // Measure: dispatch the extrinsic. - #[extrinsic_call] - submit_encrypted( - RawOrigin::Signed(who.clone()), - commitment, - ciphertext.clone(), - ); - - // Assert: stored under expected id. - let got = Submissions::::get(id).expect("submission must exist"); - assert_eq!(got.author, who); - assert_eq!( - got.commitment, - ::Hashing::hash(b"bench-commitment") - ); - assert_eq!(got.ciphertext.as_slice(), ciphertext.as_slice()); - } + // // Measure: dispatch the extrinsic. + // #[extrinsic_call] + // submit_encrypted( + // RawOrigin::Signed(who.clone()), + // commitment, + // ciphertext.clone(), + // ); + + // // Assert: stored under expected id. + // let got = Submissions::::get(id).expect("submission must exist"); + // assert_eq!(got.author, who); + // assert_eq!( + // got.commitment, + // ::Hashing::hash(b"bench-commitment") + // ); + // assert_eq!(got.ciphertext.as_slice(), ciphertext.as_slice()); + // } /// Benchmark `mark_decryption_failed`. #[benchmark] diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index e0fc250058..4166ac8812 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -165,6 +165,8 @@ pub mod pallet { KeyExpired, /// The provided `key_hash` does not match the expected epoch key hash. KeyHashMismatch, + /// The shield is disabled while upgrading. + ShieldDisabledWhileUpgrading, } // ----------------- Hooks ----------------- @@ -295,26 +297,11 @@ pub mod pallet { Pays::Yes, ))] pub fn submit_encrypted( - origin: OriginFor, - commitment: T::Hash, - ciphertext: BoundedVec>, + _origin: OriginFor, + _commitment: T::Hash, + _ciphertext: BoundedVec>, ) -> DispatchResult { - let who = ensure_signed(origin)?; - - let id: T::Hash = T::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); - let sub = Submission::, T::Hash> { - author: who.clone(), - commitment, - ciphertext, - submitted_in: >::block_number(), - }; - ensure!( - !Submissions::::contains_key(id), - Error::::SubmissionAlreadyExists - ); - Submissions::::insert(id, sub); - Self::deposit_event(Event::EncryptedSubmitted { id, who }); - Ok(()) + Err(Error::::ShieldDisabledWhileUpgrading.into()) } /// Marks a submission as failed to decrypt and removes it from storage. diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 18eda7eacc..d438aeef8c 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -6,10 +6,7 @@ use frame_support::{ traits::{ConstU32 as FrameConstU32, Hooks}, }; use frame_system::pallet_prelude::BlockNumberFor; -use pallet_mev_shield::{ - Call as MevShieldCall, CurrentKey, Event as MevShieldEvent, KeyHashByBlock, NextKey, - Submissions, -}; +use pallet_mev_shield::{Call as MevShieldCall, CurrentKey, KeyHashByBlock, NextKey}; use sp_core::{Pair, sr25519}; use sp_runtime::{ AccountId32, @@ -138,53 +135,53 @@ fn announce_next_key_rejects_non_validator_origins() { }); } -#[test] -fn submit_encrypted_stores_submission_and_emits_event() { - new_test_ext().execute_with(|| { - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); - - System::set_block_number(10); - - let commitment = - ::Hashing::hash(b"test-mevshield-commitment"); - let ciphertext_bytes = vec![1u8, 2, 3, 4]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes.clone()); - - assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, - ciphertext.clone(), - )); - - let id = ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, - )); - - let stored = Submissions::::get(id).expect("submission stored"); - assert_eq!(stored.author, who); - assert_eq!(stored.commitment, commitment); - assert_eq!(stored.ciphertext.to_vec(), ciphertext_bytes); - assert_eq!(stored.submitted_in, 10); - - let events = System::events(); - let last = events.last().expect("at least one event").event.clone(); - - assert!( - matches!( - last, - RuntimeEvent::MevShield( - MevShieldEvent::::EncryptedSubmitted { id: ev_id, who: ev_who } - ) - if ev_id == id && ev_who == who - ), - "expected EncryptedSubmitted event with correct id & who", - ); - }); -} +// #[test] +// fn submit_encrypted_stores_submission_and_emits_event() { +// new_test_ext().execute_with(|| { +// let pair = test_sr25519_pair(); +// let who: AccountId32 = pair.public().into(); + +// System::set_block_number(10); + +// let commitment = +// ::Hashing::hash(b"test-mevshield-commitment"); +// let ciphertext_bytes = vec![1u8, 2, 3, 4]; +// let ciphertext: BoundedVec> = +// BoundedVec::truncate_from(ciphertext_bytes.clone()); + +// assert_ok!(MevShield::submit_encrypted( +// RuntimeOrigin::signed(who.clone()), +// commitment, +// ciphertext.clone(), +// )); + +// let id = ::Hashing::hash_of(&( +// who.clone(), +// commitment, +// &ciphertext, +// )); + +// let stored = Submissions::::get(id).expect("submission stored"); +// assert_eq!(stored.author, who); +// assert_eq!(stored.commitment, commitment); +// assert_eq!(stored.ciphertext.to_vec(), ciphertext_bytes); +// assert_eq!(stored.submitted_in, 10); + +// let events = System::events(); +// let last = events.last().expect("at least one event").event.clone(); + +// assert!( +// matches!( +// last, +// RuntimeEvent::MevShield( +// MevShieldEvent::::EncryptedSubmitted { id: ev_id, who: ev_who } +// ) +// if ev_id == id && ev_who == who +// ), +// "expected EncryptedSubmitted event with correct id & who", +// ); +// }); +// } #[test] fn key_hash_by_block_prunes_old_entries() { @@ -243,135 +240,135 @@ fn key_hash_by_block_prunes_old_entries() { }); } -#[test] -fn submissions_pruned_after_ttl_window() { - new_test_ext().execute_with(|| { - // This must match KEY_EPOCH_HISTORY in the pallet. - const KEEP: u64 = 100; - const TOTAL: u64 = KEEP + 5; - - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); - - // Helper: create a submission at a specific block with a tagged commitment. - let make_submission = |block: u64, tag: &[u8]| -> TestHash { - System::set_block_number(block); - let commitment: TestHash = ::Hashing::hash(tag); - let ciphertext_bytes = vec![block as u8; 4]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes); - - assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, - ciphertext.clone(), - )); - - ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, - )) - }; - - // With n = TOTAL and depth = KEEP, prune_before = n - KEEP = 5. - let stale_block1: u64 = 1; // < 5, should be pruned - let stale_block2: u64 = 4; // < 5, should be pruned - let keep_block1: u64 = 5; // == prune_before, should be kept - let keep_block2: u64 = TOTAL; // latest, should be kept - - let id_stale1 = make_submission(stale_block1, b"stale-1"); - let id_stale2 = make_submission(stale_block2, b"stale-2"); - let id_keep1 = make_submission(keep_block1, b"keep-1"); - let id_keep2 = make_submission(keep_block2, b"keep-2"); - - // Sanity: all are present before pruning. - assert!(Submissions::::get(id_stale1).is_some()); - assert!(Submissions::::get(id_stale2).is_some()); - assert!(Submissions::::get(id_keep1).is_some()); - assert!(Submissions::::get(id_keep2).is_some()); - - // Run on_initialize at block TOTAL, triggering TTL pruning over Submissions. - let n_final: TestBlockNumber = TOTAL.saturated_into(); - MevShield::on_initialize(n_final); - - // Submissions with submitted_in < prune_before (5) should be gone. - assert!(Submissions::::get(id_stale1).is_none()); - assert!(Submissions::::get(id_stale2).is_none()); - - // Submissions at or after prune_before should remain. - assert!(Submissions::::get(id_keep1).is_some()); - assert!(Submissions::::get(id_keep2).is_some()); - }); -} - -#[test] -fn mark_decryption_failed_removes_submission_and_emits_event() { - new_test_ext().execute_with(|| { - System::set_block_number(42); - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); - - let commitment: TestHash = - ::Hashing::hash(b"failed-decryption-commitment"); - let ciphertext_bytes = vec![5u8; 8]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes.clone()); - - assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, - ciphertext.clone(), - )); - - let id: TestHash = ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, - )); - - // Sanity: submission exists. - assert!(Submissions::::get(id).is_some()); - - // Reason we will pass into mark_decryption_failed. - let reason_bytes = b"AEAD decrypt failed".to_vec(); - let reason: BoundedVec> = - BoundedVec::truncate_from(reason_bytes.clone()); - - // Call mark_decryption_failed as unsigned (RuntimeOrigin::none()). - assert_ok!(MevShield::mark_decryption_failed( - RuntimeOrigin::none(), - id, - reason.clone(), - )); - - // Submission should be removed. - assert!(Submissions::::get(id).is_none()); - - // Last event should be DecryptionFailed with the correct id and reason. - let events = System::events(); - let last = events - .last() - .expect("an event should be emitted") - .event - .clone(); - - assert!( - matches!( - last, - RuntimeEvent::MevShield( - MevShieldEvent::::DecryptionFailed { id: ev_id, reason: ev_reason } - ) - if ev_id == id && ev_reason.to_vec() == reason_bytes - ), - "expected DecryptionFailed event with correct id & reason" - ); - - // A second call with the same id should now fail with MissingSubmission. - let res = MevShield::mark_decryption_failed(RuntimeOrigin::none(), id, reason); - assert_noop!(res, pallet_mev_shield::Error::::MissingSubmission); - }); -} +// #[test] +// fn submissions_pruned_after_ttl_window() { +// new_test_ext().execute_with(|| { +// // This must match KEY_EPOCH_HISTORY in the pallet. +// const KEEP: u64 = 100; +// const TOTAL: u64 = KEEP + 5; + +// let pair = test_sr25519_pair(); +// let who: AccountId32 = pair.public().into(); + +// // Helper: create a submission at a specific block with a tagged commitment. +// let make_submission = |block: u64, tag: &[u8]| -> TestHash { +// System::set_block_number(block); +// let commitment: TestHash = ::Hashing::hash(tag); +// let ciphertext_bytes = vec![block as u8; 4]; +// let ciphertext: BoundedVec> = +// BoundedVec::truncate_from(ciphertext_bytes); + +// assert_ok!(MevShield::submit_encrypted( +// RuntimeOrigin::signed(who.clone()), +// commitment, +// ciphertext.clone(), +// )); + +// ::Hashing::hash_of(&( +// who.clone(), +// commitment, +// &ciphertext, +// )) +// }; + +// // With n = TOTAL and depth = KEEP, prune_before = n - KEEP = 5. +// let stale_block1: u64 = 1; // < 5, should be pruned +// let stale_block2: u64 = 4; // < 5, should be pruned +// let keep_block1: u64 = 5; // == prune_before, should be kept +// let keep_block2: u64 = TOTAL; // latest, should be kept + +// let id_stale1 = make_submission(stale_block1, b"stale-1"); +// let id_stale2 = make_submission(stale_block2, b"stale-2"); +// let id_keep1 = make_submission(keep_block1, b"keep-1"); +// let id_keep2 = make_submission(keep_block2, b"keep-2"); + +// // Sanity: all are present before pruning. +// assert!(Submissions::::get(id_stale1).is_some()); +// assert!(Submissions::::get(id_stale2).is_some()); +// assert!(Submissions::::get(id_keep1).is_some()); +// assert!(Submissions::::get(id_keep2).is_some()); + +// // Run on_initialize at block TOTAL, triggering TTL pruning over Submissions. +// let n_final: TestBlockNumber = TOTAL.saturated_into(); +// MevShield::on_initialize(n_final); + +// // Submissions with submitted_in < prune_before (5) should be gone. +// assert!(Submissions::::get(id_stale1).is_none()); +// assert!(Submissions::::get(id_stale2).is_none()); + +// // Submissions at or after prune_before should remain. +// assert!(Submissions::::get(id_keep1).is_some()); +// assert!(Submissions::::get(id_keep2).is_some()); +// }); +// } + +// #[test] +// fn mark_decryption_failed_removes_submission_and_emits_event() { +// new_test_ext().execute_with(|| { +// System::set_block_number(42); +// let pair = test_sr25519_pair(); +// let who: AccountId32 = pair.public().into(); + +// let commitment: TestHash = +// ::Hashing::hash(b"failed-decryption-commitment"); +// let ciphertext_bytes = vec![5u8; 8]; +// let ciphertext: BoundedVec> = +// BoundedVec::truncate_from(ciphertext_bytes.clone()); + +// assert_ok!(MevShield::submit_encrypted( +// RuntimeOrigin::signed(who.clone()), +// commitment, +// ciphertext.clone(), +// )); + +// let id: TestHash = ::Hashing::hash_of(&( +// who.clone(), +// commitment, +// &ciphertext, +// )); + +// // Sanity: submission exists. +// assert!(Submissions::::get(id).is_some()); + +// // Reason we will pass into mark_decryption_failed. +// let reason_bytes = b"AEAD decrypt failed".to_vec(); +// let reason: BoundedVec> = +// BoundedVec::truncate_from(reason_bytes.clone()); + +// // Call mark_decryption_failed as unsigned (RuntimeOrigin::none()). +// assert_ok!(MevShield::mark_decryption_failed( +// RuntimeOrigin::none(), +// id, +// reason.clone(), +// )); + +// // Submission should be removed. +// assert!(Submissions::::get(id).is_none()); + +// // Last event should be DecryptionFailed with the correct id and reason. +// let events = System::events(); +// let last = events +// .last() +// .expect("an event should be emitted") +// .event +// .clone(); + +// assert!( +// matches!( +// last, +// RuntimeEvent::MevShield( +// MevShieldEvent::::DecryptionFailed { id: ev_id, reason: ev_reason } +// ) +// if ev_id == id && ev_reason.to_vec() == reason_bytes +// ), +// "expected DecryptionFailed event with correct id & reason" +// ); + +// // A second call with the same id should now fail with MissingSubmission. +// let res = MevShield::mark_decryption_failed(RuntimeOrigin::none(), id, reason); +// assert_noop!(res, pallet_mev_shield::Error::::MissingSubmission); +// }); +// } #[test] fn announce_next_key_charges_then_refunds_fee() { From 706addd107ddd413bdc42c1d8f8fa03600ef50ba Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Fri, 27 Feb 2026 16:14:06 -0500 Subject: [PATCH 016/204] Fix undefined behavior on i64::MIN in modify_position --- pallets/swap/src/pallet/impls.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/swap/src/pallet/impls.rs b/pallets/swap/src/pallet/impls.rs index 38830ec688..be5e99263d 100644 --- a/pallets/swap/src/pallet/impls.rs +++ b/pallets/swap/src/pallet/impls.rs @@ -580,7 +580,7 @@ impl Pallet { // Small delta is not allowed ensure!( - liquidity_delta.abs() >= T::MinimumLiquidity::get() as i64, + liquidity_delta.unsigned_abs() >= T::MinimumLiquidity::get(), Error::::InvalidLiquidityValue ); let mut delta_liquidity_abs = liquidity_delta.unsigned_abs(); From 8da0930550735b23708d41308907cc6509273037 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:33:13 -0300 Subject: [PATCH 017/204] hoist crypto dependencies and add zeroize --- node/Cargo.toml | 14 ++++++-------- runtime/Cargo.toml | 7 +++++++ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/node/Cargo.toml b/node/Cargo.toml index 1d2351c265..ae210601ad 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -26,6 +26,7 @@ clap = { workspace = true, features = ["derive"] } futures = { workspace = true, features = ["thread-pool"] } serde = { workspace = true, features = ["derive"] } hex.workspace = true +zeroize.workspace = true # Storage import memmap2.workspace = true @@ -116,18 +117,15 @@ num-traits = { workspace = true, features = ["std"] } # Mev Shield pallet-shield.workspace = true -tokio = { version = "1.38", features = ["time"] } -x25519-dalek = "2" -hkdf = "0.12" -chacha20poly1305 = { version = "0.10", features = ["std"] } +tokio = { workspace = true, features = ["time"] } +chacha20poly1305 = { workspace = true, features = ["std"] } codec.workspace = true rand.workspace = true -sha2.workspace = true anyhow.workspace = true pallet-subtensor.workspace = true -ml-kem.workspace = true -rand_core = "0.9.3" -blake2 = "0.10.6" +ml-kem = { workspace = true, features = ["zeroize"] } +rand_core.workspace = true +blake2.workspace = true # Local Dependencies node-subtensor-runtime = { workspace = true, features = ["std"] } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 623846de12..6287820c0b 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -58,6 +58,7 @@ sp-version.workspace = true sp-authority-discovery.workspace = true subtensor-runtime-common.workspace = true subtensor-precompiles.workspace = true +sp-debug-derive = { workspace = true, features = ["force-debug"] } # Temporary sudo pallet-sudo.workspace = true @@ -151,6 +152,9 @@ pallet-crowdloan.workspace = true # Mev Shield pallet-shield.workspace = true +pallet-shield-runtime-api.workspace = true +chacha20poly1305.workspace = true +ml-kem.workspace = true ethereum.workspace = true @@ -276,6 +280,9 @@ std = [ "subtensor-chain-extensions/std", "ethereum/std", "pallet-shield/std", + "pallet-shield-runtime-api/std", + "chacha20poly1305/std", + "ml-kem/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", From e74a6da730467fcfb58f27531ae61af7d05b9bbe Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:34:09 -0300 Subject: [PATCH 018/204] introduce ShieldKeystore on node side --- Cargo.toml | 7 ++- node/src/mev_shield/keystore.rs | 96 +++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 node/src/mev_shield/keystore.rs diff --git a/Cargo.toml b/Cargo.toml index 32bcacf4c3..469f444cdb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -119,6 +119,8 @@ regex = { version = "1.11.1", default-features = false } ethereum = { version = "0.18.2", default-features = false } num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } +tokio = { version = "1.38", default-features = false } +zeroize = { version = "1.8.2", default-features = false } frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } @@ -286,7 +288,10 @@ rand_chacha = { version = "0.3.1", default-features = false } tle = { git = "https://github.com/ideal-lab5/timelock", rev = "5416406cfd32799e31e1795393d4916894de4468", default-features = false } pallet-shield = { path = "pallets/shield", default-features = false } -ml-kem = { version = "0.2.0", default-features = true } +ml-kem = { version = "0.2.2", default-features = false } +chacha20poly1305 = { version = "0.10", default-features = false } +rand_core = "0.9.3" +blake2 = "0.10.6" # Primitives diff --git a/node/src/mev_shield/keystore.rs b/node/src/mev_shield/keystore.rs new file mode 100644 index 0000000000..8434698b8c --- /dev/null +++ b/node/src/mev_shield/keystore.rs @@ -0,0 +1,96 @@ +use codec::Encode; +use ml_kem::{ + EncodedSizeUser, KemCore, MlKem768, MlKem768Params, + kem::{DecapsulationKey, EncapsulationKey}, +}; +use rand::rngs::OsRng; +use std::sync::Mutex; +use zeroize::{Zeroize, ZeroizeOnDrop}; + +/// The keystore for the MEV-Shield. +pub struct ShieldKeystore(Mutex); + +impl ShieldKeystore { + pub fn new() -> Self { + Self(Mutex::new(ShieldKeys::new())) + } + + pub fn roll_for_next_slot(&self) -> Result<(), anyhow::Error> { + let mut keys = self + .0 + .lock() + .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; + + keys.current_sk.zeroize(); + keys.current_sk = core::mem::take(&mut keys.next_sk); + keys.current_pk = core::mem::take(&mut keys.next_pk); + + let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); + keys.next_sk = next_sk.into(); + keys.next_pk = next_pk.into(); + + Ok(()) + } + + pub fn next_public_key(&self) -> Result { + let keys = self + .0 + .lock() + .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; + Ok(keys.next_pk.clone()) + } +} + +#[derive(Default, Zeroize, ZeroizeOnDrop)] +struct PrivateKey(Vec); + +impl From> for PrivateKey { + fn from(key: DecapsulationKey) -> Self { + PrivateKey(key.as_bytes().to_vec()) + } +} + +#[derive(Default, Clone, Encode)] +pub struct PublicKey(Vec); + +impl From> for PublicKey { + fn from(key: EncapsulationKey) -> Self { + PublicKey(key.as_bytes().to_vec()) + } +} + +/// Holds the current/next ML‑KEM keypairs. +pub struct ShieldKeys { + current_sk: PrivateKey, + current_pk: PublicKey, + next_sk: PrivateKey, + next_pk: PublicKey, +} + +impl ShieldKeys { + pub fn new() -> Self { + let (current_sk, current_pk) = MlKem768::generate(&mut OsRng); + let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); + Self { + current_sk: PrivateKey::from(current_sk), + current_pk: PublicKey::from(current_pk), + next_sk: PrivateKey::from(next_sk), + next_pk: PublicKey::from(next_pk), + } + } +} + +impl Default for ShieldKeys { + fn default() -> Self { + Self::new() + } +} + +impl Zeroize for ShieldKeys { + fn zeroize(&mut self) { + self.current_sk.zeroize(); + self.next_sk.zeroize(); + } +} + +impl ZeroizeOnDrop for ShieldKeys {} From 9a839dc9d403315819b8535cfffade23afec0a66 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:38:50 -0300 Subject: [PATCH 019/204] add InherentDatapProvider for MEV shield --- node/src/consensus/aura_consensus.rs | 10 ++- node/src/consensus/babe_consensus.rs | 10 ++- node/src/consensus/consensus_mechanism.rs | 3 + node/src/mev_shield/inherents.rs | 35 ++++++++++ node/src/service.rs | 79 ++++------------------- 5 files changed, 66 insertions(+), 71 deletions(-) create mode 100644 node/src/mev_shield/inherents.rs diff --git a/node/src/consensus/aura_consensus.rs b/node/src/consensus/aura_consensus.rs index 16bdae6c01..e11f69d05b 100644 --- a/node/src/consensus/aura_consensus.rs +++ b/node/src/consensus/aura_consensus.rs @@ -3,6 +3,7 @@ use crate::consensus::{ConsensusMechanism, StartAuthoringParams}; use crate::{ client::{FullBackend, FullClient}, ethereum::EthConfiguration, + mev_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}, service::{BIQ, FullSelectChain, GrandpaBlockImport}, }; use jsonrpsee::tokio; @@ -36,6 +37,7 @@ impl ConsensusMechanism for AuraConsensus { type InherentDataProviders = ( sp_consensus_aura::inherents::InherentDataProvider, sp_timestamp::InherentDataProvider, + ShieldInherentDataProvider, ); fn start_authoring( @@ -101,6 +103,7 @@ impl ConsensusMechanism for AuraConsensus { fn create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result> { let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -108,11 +111,13 @@ impl ConsensusMechanism for AuraConsensus { *timestamp, slot_duration, ); - Ok((slot, timestamp)) + let shield = ShieldInherentDataProvider::new(shield_keystore); + Ok((slot, timestamp, shield)) } fn pending_create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result> { let current = sp_timestamp::InherentDataProvider::from_system_time(); let next_slot = current @@ -125,7 +130,8 @@ impl ConsensusMechanism for AuraConsensus { *timestamp, slot_duration, ); - Ok((slot, timestamp)) + let shield = ShieldInherentDataProvider::new(shield_keystore); + Ok((slot, timestamp, shield)) } fn new() -> Self { diff --git a/node/src/consensus/babe_consensus.rs b/node/src/consensus/babe_consensus.rs index 490a505f4d..af73a1925d 100644 --- a/node/src/consensus/babe_consensus.rs +++ b/node/src/consensus/babe_consensus.rs @@ -4,6 +4,7 @@ use crate::{ client::{FullBackend, FullClient}, conditional_evm_block_import::ConditionalEVMBlockImport, ethereum::EthConfiguration, + mev_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}, service::{BIQ, FullSelectChain, GrandpaBlockImport}, }; use fc_consensus::FrontierBlockImport; @@ -42,6 +43,7 @@ impl ConsensusMechanism for BabeConsensus { type InherentDataProviders = ( sp_consensus_babe::inherents::InherentDataProvider, sp_timestamp::InherentDataProvider, + ShieldInherentDataProvider, ); #[allow(clippy::expect_used)] @@ -111,6 +113,7 @@ impl ConsensusMechanism for BabeConsensus { fn create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result> { let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -118,11 +121,13 @@ impl ConsensusMechanism for BabeConsensus { *timestamp, slot_duration, ); - Ok((slot, timestamp)) + let shield = ShieldInherentDataProvider::new(shield_keystore); + Ok((slot, timestamp, shield)) } fn pending_create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result> { let current = sp_timestamp::InherentDataProvider::from_system_time(); let next_slot = current @@ -135,7 +140,8 @@ impl ConsensusMechanism for BabeConsensus { *timestamp, slot_duration, ); - Ok((slot, timestamp)) + let shield = ShieldInherentDataProvider::new(shield_keystore); + Ok((slot, timestamp, shield)) } fn new() -> Self { diff --git a/node/src/consensus/consensus_mechanism.rs b/node/src/consensus/consensus_mechanism.rs index b88e2d0462..82f7c99dce 100644 --- a/node/src/consensus/consensus_mechanism.rs +++ b/node/src/consensus/consensus_mechanism.rs @@ -26,6 +26,7 @@ use std::sync::Arc; use std::sync::atomic::AtomicBool; use crate::client::FullClient; +use crate::mev_shield::ShieldKeystore; use crate::service::BIQ; use crate::service::FullSelectChain; @@ -85,11 +86,13 @@ pub trait ConsensusMechanism { /// Creates IDPs for the consensus mechanism. fn create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result>; /// Creates IDPs for the consensus mechanism for pending blocks. fn pending_create_inherent_data_providers( slot_duration: SlotDuration, + shield_keystore: Arc, ) -> Result>; /// Creates the frontier consensus data provider with this mechanism. diff --git a/node/src/mev_shield/inherents.rs b/node/src/mev_shield/inherents.rs new file mode 100644 index 0000000000..80ce59a722 --- /dev/null +++ b/node/src/mev_shield/inherents.rs @@ -0,0 +1,35 @@ +use super::ShieldKeystore; +use sp_inherents::{Error, InherentData, InherentIdentifier}; +use std::sync::Arc; + +// The inherent identifier for the next MEV-Shield public key. +pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; + +/// The inherent type for the next MEV-Shield public key. +pub type InherentType = Vec; + +pub struct InherentDataProvider { + keystore: Arc, +} + +impl InherentDataProvider { + pub fn new(keystore: Arc) -> Self { + Self { keystore } + } +} + +#[async_trait::async_trait] +impl sp_inherents::InherentDataProvider for InherentDataProvider { + async fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), Error> { + let public_key = self.keystore.next_public_key().ok().unwrap_or_default(); + inherent_data.put_data(INHERENT_IDENTIFIER, &public_key) + } + + async fn try_handle_error( + &self, + _: &InherentIdentifier, + _: &[u8], + ) -> Option> { + None + } +} diff --git a/node/src/service.rs b/node/src/service.rs index 7b2ee0e75f..91a72c88e5 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -34,7 +34,7 @@ use crate::ethereum::{ BackendType, EthConfiguration, FrontierBackend, FrontierPartialComponents, StorageOverride, StorageOverrideHandler, db_config_dir, new_frontier_partial, spawn_frontier_tasks, }; -use crate::mev_shield::{author, proposer}; +use crate::mev_shield::{self, ShieldKeystore}; const LOG_TARGET: &str = "node-service"; @@ -452,9 +452,12 @@ where prometheus_registry.clone(), )); + let shield_keystore = Arc::new(ShieldKeystore::new()); let slot_duration = consensus_mechanism.slot_duration(&client)?; - let pending_create_inherent_data_providers = - move |_, ()| async move { CM::pending_create_inherent_data_providers(slot_duration) }; + let pending_create_inherent_data_providers = move |_, ()| { + let keystore = shield_keystore.clone(); + async move { CM::pending_create_inherent_data_providers(slot_duration, keystore) } + }; let rpc_methods = consensus_mechanism.rpc_methods( client.clone(), @@ -483,7 +486,8 @@ where fee_history_cache_limit, execute_gas_limit_multiplier, forced_parent_hashes: None, - pending_create_inherent_data_providers, + pending_create_inherent_data_providers: pending_create_inherent_data_providers + .clone(), }; let deps = crate::rpc::FullDeps { client: client.clone(), @@ -535,48 +539,6 @@ where ) .await; - // ==== MEV-SHIELD HOOKS ==== - let mut mev_timing: Option = None; - - if role.is_authority() { - let slot_duration = consensus_mechanism.slot_duration(&client)?; - let slot_duration_ms: u64 = u64::try_from(slot_duration.as_millis()).unwrap_or(u64::MAX); - - // For 12s blocks: announce ≈ 7s, decrypt window ≈ 3s. - // For 250ms blocks: announce ≈ 145ms, decrypt window ≈ 62ms, etc. - let announce_at_ms_raw = slot_duration_ms.saturating_mul(7).saturating_div(12); - - let decrypt_window_ms = slot_duration_ms.saturating_mul(3).saturating_div(12); - - // Ensure announce_at_ms + decrypt_window_ms never exceeds slot_ms. - let max_announce = slot_duration_ms.saturating_sub(decrypt_window_ms); - let announce_at_ms = announce_at_ms_raw.min(max_announce); - - let timing = author::TimeParams { - slot_ms: slot_duration_ms, - announce_at_ms, - decrypt_window_ms, - }; - mev_timing = Some(timing.clone()); - - // Start author-side tasks with dynamic timing. - let mev_ctx = author::spawn_author_tasks::( - &task_manager.spawn_handle(), - client.clone(), - transaction_pool.clone(), - keystore_container.keystore(), - timing.clone(), - ); - - // Start last-portion-of-slot revealer (decrypt -> submit_one). - proposer::spawn_revealer::( - &task_manager.spawn_handle(), - client.clone(), - transaction_pool.clone(), - mev_ctx.clone(), - ); - } - if role.is_authority() { // manual-seal authorship if let Some(sealing) = sealing { @@ -605,28 +567,11 @@ where let slot_duration = consensus_mechanism.slot_duration(&client)?; - let start_fraction: f32 = { - let (slot_ms, decrypt_ms) = mev_timing - .as_ref() - .map(|t| (t.slot_ms, t.decrypt_window_ms)) - .unwrap_or((slot_duration.as_millis(), 3_000)); - - let guard_ms: u64 = 200; // small cushion so reveals hit the pool first - let after_decrypt_ms = slot_ms.saturating_sub(decrypt_ms).saturating_add(guard_ms); - - let f_raw = if slot_ms > 0 { - (after_decrypt_ms as f32) / (slot_ms as f32) - } else { - // Extremely defensive fallback; should never happen in practice. - 0.75 - }; - - f_raw.clamp(0.50, 0.98) + let create_inherent_data_providers = move |_, ()| { + let keystore = shield_keystore.clone(); + async move { CM::create_inherent_data_providers(slot_duration, keystore) } }; - let create_inherent_data_providers = - move |_, ()| async move { CM::create_inherent_data_providers(slot_duration) }; - consensus_mechanism.start_authoring( &mut task_manager, crate::consensus::StartAuthoringParams { @@ -641,7 +586,7 @@ where force_authoring, backoff_authoring_blocks, keystore: keystore_container.keystore(), - block_proposal_slot_portion: SlotProportion::new(start_fraction), + block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), max_block_proposal_slot_portion: None, telemetry: telemetry.as_ref().map(|x| x.handle()), }, From 0f8b685c9e8d108afbcbcc5c33aa6e8b9aa7da05 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:41:36 -0300 Subject: [PATCH 020/204] add key rotation task on own block import --- node/src/mev_shield/key_rotation.rs | 39 +++++++++++++++++++++++++++++ node/src/service.rs | 7 ++++++ 2 files changed, 46 insertions(+) create mode 100644 node/src/mev_shield/key_rotation.rs diff --git a/node/src/mev_shield/key_rotation.rs b/node/src/mev_shield/key_rotation.rs new file mode 100644 index 0000000000..a8fc1b5779 --- /dev/null +++ b/node/src/mev_shield/key_rotation.rs @@ -0,0 +1,39 @@ +use super::ShieldKeystore; +use futures::StreamExt; +use sc_service::SpawnTaskHandle; +use sp_consensus::BlockOrigin; +use sp_runtime::traits::Header; +use std::sync::Arc; + +pub fn spawn_key_rotation_on_own_import( + task_spawner: &SpawnTaskHandle, + client: Arc, + keystore: Arc, +) where + B: sp_runtime::traits::Block, + C: sc_client_api::BlockchainEvents + Send + Sync + 'static, +{ + task_spawner.spawn("mev-shield-key-rotation", None, async move { + log::debug!(target: "mev-shield", "Key-rotation task started"); + let mut import_stream = client.import_notification_stream(); + + while let Some(notif) = import_stream.next().await { + if notif.origin != BlockOrigin::Own { + continue; + } + + if keystore.roll_for_next_slot().is_ok() { + log::debug!( + target: "mev-shield", + "Rotated shield key after importing own block #{}", + notif.header.number() + ); + } else { + log::warn!( + target: "mev-shield", + "Key rotation: failed to roll for next slot" + ); + } + } + }); +} diff --git a/node/src/service.rs b/node/src/service.rs index 91a72c88e5..72e37f5418 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -557,6 +557,13 @@ where return Ok(task_manager); } + let shield_keystore = Arc::new(ShieldKeystore::new()); + mev_shield::spawn_key_rotation_on_own_import( + &task_manager.spawn_handle(), + client.clone(), + shield_keystore.clone(), + ); + let proposer_factory = sc_basic_authorship::ProposerFactory::new( task_manager.spawn_handle(), client.clone(), From abf16a6b8c99a5548963307f478d75d235815a45 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:42:06 -0300 Subject: [PATCH 021/204] remove old author/proposer tasks --- node/src/mev_shield/author.rs | 469 ------------------ node/src/mev_shield/mod.rs | 9 +- node/src/mev_shield/proposer.rs | 847 -------------------------------- 3 files changed, 7 insertions(+), 1318 deletions(-) delete mode 100644 node/src/mev_shield/author.rs delete mode 100644 node/src/mev_shield/proposer.rs diff --git a/node/src/mev_shield/author.rs b/node/src/mev_shield/author.rs deleted file mode 100644 index 35f362df3d..0000000000 --- a/node/src/mev_shield/author.rs +++ /dev/null @@ -1,469 +0,0 @@ -use chacha20poly1305::{ - KeyInit, XChaCha20Poly1305, XNonce, - aead::{Aead, Payload}, -}; -use frame_system_rpc_runtime_api::AccountNonceApi; -use ml_kem::{EncodedSizeUser, KemCore, MlKem768}; -use node_subtensor_runtime as runtime; -use rand::rngs::OsRng; -use sp_api::ProvideRuntimeApi; -use sp_core::blake2_256; -use sp_runtime::{AccountId32, KeyTypeId}; -use std::sync::{Arc, Mutex}; -use subtensor_macros::freeze_struct; -use tokio::time::sleep; - -/// Parameters controlling time windows inside the slot. -#[freeze_struct("5c7ce101b36950de")] -#[derive(Clone)] -pub struct TimeParams { - pub slot_ms: u64, - pub announce_at_ms: u64, - pub decrypt_window_ms: u64, -} - -/// Holds the current/next ML‑KEM keypairs and their 32‑byte fingerprints. -#[freeze_struct("5e3c8209248282c3")] -#[derive(Clone)] -pub struct ShieldKeys { - pub current_sk: Vec, // ML‑KEM secret key bytes (encoded form) - pub current_pk: Vec, // ML‑KEM public key bytes (encoded form) - pub current_fp: [u8; 32], // blake2_256(pk) - pub next_sk: Vec, - pub next_pk: Vec, - pub next_fp: [u8; 32], -} - -impl ShieldKeys { - pub fn new() -> Self { - let (sk, pk) = MlKem768::generate(&mut OsRng); - - let sk_bytes = sk.as_bytes(); - let pk_bytes = pk.as_bytes(); - let sk_slice: &[u8] = sk_bytes.as_ref(); - let pk_slice: &[u8] = pk_bytes.as_ref(); - - let current_sk = sk_slice.to_vec(); - let current_pk = pk_slice.to_vec(); - let current_fp = blake2_256(pk_slice); - - let (nsk, npk) = MlKem768::generate(&mut OsRng); - let nsk_bytes = nsk.as_bytes(); - let npk_bytes = npk.as_bytes(); - let nsk_slice: &[u8] = nsk_bytes.as_ref(); - let npk_slice: &[u8] = npk_bytes.as_ref(); - let next_sk = nsk_slice.to_vec(); - let next_pk = npk_slice.to_vec(); - let next_fp = blake2_256(npk_slice); - - Self { - current_sk, - current_pk, - current_fp, - next_sk, - next_pk, - next_fp, - } - } - - pub fn roll_for_next_slot(&mut self) { - // Move next -> current - self.current_sk = core::mem::take(&mut self.next_sk); - self.current_pk = core::mem::take(&mut self.next_pk); - self.current_fp = self.next_fp; - - // Generate fresh next - let (nsk, npk) = MlKem768::generate(&mut OsRng); - let nsk_bytes = nsk.as_bytes(); - let npk_bytes = npk.as_bytes(); - let nsk_slice: &[u8] = nsk_bytes.as_ref(); - let npk_slice: &[u8] = npk_bytes.as_ref(); - self.next_sk = nsk_slice.to_vec(); - self.next_pk = npk_slice.to_vec(); - self.next_fp = blake2_256(npk_slice); - } -} - -impl Default for ShieldKeys { - fn default() -> Self { - Self::new() - } -} - -/// Shared context state. -#[freeze_struct("245b565abca7d403")] -#[derive(Clone)] -pub struct ShieldContext { - pub keys: Arc>, -} - -/// Derive AEAD key directly from the 32‑byte ML‑KEM shared secret. -pub fn derive_aead_key(ss: &[u8]) -> [u8; 32] { - let mut key = [0u8; 32]; - let n = ss.len().min(32); - - if let (Some(dst), Some(src)) = (key.get_mut(..n), ss.get(..n)) { - dst.copy_from_slice(src); - } - key -} - -/// Plain XChaCha20-Poly1305 decrypt helper -pub fn aead_decrypt( - key: [u8; 32], - nonce24: [u8; 24], - ciphertext: &[u8], - aad: &[u8], -) -> Option> { - let aead = XChaCha20Poly1305::new((&key).into()); - aead.decrypt( - XNonce::from_slice(&nonce24), - Payload { - msg: ciphertext, - aad, - }, - ) - .ok() -} - -const AURA_KEY_TYPE: KeyTypeId = KeyTypeId(*b"aura"); - -/// Start background tasks: -/// - per-slot ML‑KEM key rotation -/// - at ~announce_at_ms announce the next key bytes on chain, -pub fn spawn_author_tasks( - task_spawner: &sc_service::SpawnTaskHandle, - client: Arc, - pool: Arc, - keystore: sp_keystore::KeystorePtr, - timing: TimeParams, -) -> ShieldContext -where - B: sp_runtime::traits::Block, - C: sc_client_api::HeaderBackend - + sc_client_api::BlockchainEvents - + ProvideRuntimeApi - + Send - + Sync - + 'static, - C::Api: AccountNonceApi, - Pool: sc_transaction_pool_api::TransactionPool + Send + Sync + 'static, - B::Extrinsic: From, -{ - let ctx = ShieldContext { - keys: Arc::new(Mutex::new(ShieldKeys::new())), - }; - - let aura_keys: Vec = keystore.sr25519_public_keys(AURA_KEY_TYPE); - - let local_aura_pub = match aura_keys.first().copied() { - Some(k) => k, - None => { - log::warn!( - target: "mev-shield", - "spawn_author_tasks: no local Aura sr25519 key in keystore; \ - this node will NOT announce MEV-Shield keys" - ); - return ctx; - } - }; - - let aura_account: AccountId32 = local_aura_pub.into(); - let ctx_clone = ctx.clone(); - let client_clone = client.clone(); - let pool_clone = pool.clone(); - let keystore_clone = keystore.clone(); - - // Slot tick / key-announce loop. - task_spawner.spawn( - "mev-shield-keys-and-announce", - None, - async move { - use futures::StreamExt; - use sp_consensus::BlockOrigin; - - let slot_ms = timing.slot_ms; - - // Clamp announce_at_ms so it never exceeds slot_ms. - let mut announce_at_ms = timing.announce_at_ms; - if announce_at_ms > slot_ms { - log::warn!( - target: "mev-shield", - "spawn_author_tasks: announce_at_ms ({announce_at_ms}) > slot_ms ({slot_ms}); clamping to slot_ms", - ); - announce_at_ms = slot_ms; - } - let tail_ms = slot_ms.saturating_sub(announce_at_ms); - - log::debug!( - target: "mev-shield", - "author timing: slot_ms={slot_ms} announce_at_ms={announce_at_ms} (effective) tail_ms={tail_ms}", - ); - - let mut import_stream = client_clone.import_notification_stream(); - - while let Some(notif) = import_stream.next().await { - // Only act on blocks that this node authored. - if notif.origin != BlockOrigin::Own { - continue; - } - - let (curr_pk_len, next_pk_len) = match ctx_clone.keys.lock() { - Ok(k) => (k.current_pk.len(), k.next_pk.len()), - Err(e) => { - log::debug!( - target: "mev-shield", - "spawn_author_tasks: failed to lock ShieldKeys (poisoned?): {e:?}", - ); - continue; - } - }; - - log::debug!( - target: "mev-shield", - "Slot start (local author): (pk sizes: curr={curr_pk_len}B, next={next_pk_len}B)", - ); - - // Wait until the announce window in this slot. - if announce_at_ms > 0 { - sleep(std::time::Duration::from_millis(announce_at_ms)).await; - } - - // Read the next key we intend to use for the following block. - let next_pk = match ctx_clone.keys.lock() { - Ok(k) => k.next_pk.clone(), - Err(e) => { - log::debug!( - target: "mev-shield", - "spawn_author_tasks: failed to lock ShieldKeys for next_pk: {e:?}", - ); - continue; - } - }; - - // 🔑 Fetch the current on-chain nonce for the Aura account using the best block hash. - let best_hash = client_clone.info().best_hash; - - let nonce: u32 = match client_clone - .runtime_api() - .account_nonce(best_hash, aura_account.clone()) - { - Ok(n) => n, - Err(e) => { - log::debug!( - target: "mev-shield", - "spawn_author_tasks: failed to fetch account nonce for MEV-Shield author: {e:?}", - ); - continue; - } - }; - - // Submit announce_next_key signed with the Aura key using the correct nonce. - if let Err(e) = submit_announce_extrinsic::( - client_clone.clone(), - pool_clone.clone(), - keystore_clone.clone(), - local_aura_pub, - next_pk.clone(), - nonce, - ) - .await - { - log::debug!( - target: "mev-shield", - "announce_next_key submit error (nonce={nonce:?}): {e:?}" - ); - } - - // Sleep the remainder of the slot (if any). - if tail_ms > 0 { - sleep(std::time::Duration::from_millis(tail_ms)).await; - } - - // Roll keys for the next block. - match ctx_clone.keys.lock() { - Ok(mut k) => { - k.roll_for_next_slot(); - log::debug!( - target: "mev-shield", - "Rolled ML-KEM key at slot boundary", - ); - } - Err(e) => { - log::debug!( - target: "mev-shield", - "spawn_author_tasks: failed to lock ShieldKeys for roll_for_next_slot: {e:?}", - ); - } - } - } - }, - ); - - ctx -} - -/// Build & submit the signed `announce_next_key` extrinsic OFF-CHAIN -pub async fn submit_announce_extrinsic( - client: Arc, - pool: Arc, - keystore: sp_keystore::KeystorePtr, - aura_pub: sp_core::sr25519::Public, - next_public_key: Vec, - nonce: u32, -) -> anyhow::Result<()> -where - B: sp_runtime::traits::Block, - C: sc_client_api::HeaderBackend + sp_api::ProvideRuntimeApi + Send + Sync + 'static, - C::Api: sp_api::Core, - Pool: sc_transaction_pool_api::TransactionPool + Send + Sync + 'static, - B::Extrinsic: From, - B::Hash: AsRef<[u8]>, -{ - use node_subtensor_runtime as runtime; - use runtime::{RuntimeCall, SignedPayload, UncheckedExtrinsic}; - - use sc_transaction_pool_api::TransactionSource; - use sp_api::Core as _; - use sp_core::H256; - use sp_runtime::codec::Encode; - use sp_runtime::{ - BoundedVec, MultiSignature, - generic::Era, - traits::{ConstU32, SaturatedConversion, TransactionExtension}, - }; - - fn to_h256>(h: H) -> H256 { - let bytes = h.as_ref(); - let mut out = [0u8; 32]; - - if bytes.is_empty() { - return H256(out); - } - - let n = bytes.len().min(32); - let src_start = bytes.len().saturating_sub(n); - let dst_start = 32usize.saturating_sub(n); - - let src_slice = bytes.get(src_start..).and_then(|s| s.get(..n)); - - if let (Some(dst), Some(src)) = (out.get_mut(dst_start..32), src_slice) { - dst.copy_from_slice(src); - H256(out) - } else { - // Extremely defensive fallback. - H256([0u8; 32]) - } - } - - type MaxPk = ConstU32<2048>; - let public_key: BoundedVec = BoundedVec::try_from(next_public_key) - .map_err(|_| anyhow::anyhow!("public key too long (>2048 bytes)"))?; - - // 1) Runtime call carrying the public key bytes. - let call = RuntimeCall::MevShield(pallet_shield::Call::announce_next_key { public_key }); - - // 2) Build the transaction extensions exactly like the runtime. - type Extra = runtime::TransactionExtensions; - - let info = client.info(); - let at_hash = info.best_hash; - let at_hash_h256: H256 = to_h256(at_hash); - let genesis_h256: H256 = to_h256(info.genesis_hash); - - const ERA_PERIOD: u64 = 12; - let current_block: u64 = info.best_number.saturated_into(); - let era = Era::mortal(ERA_PERIOD, current_block); - - let extra: Extra = ( - frame_system::CheckNonZeroSender::::new(), - frame_system::CheckSpecVersion::::new(), - frame_system::CheckTxVersion::::new(), - frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(era), - node_subtensor_runtime::check_nonce::CheckNonce::::from(nonce).into(), - frame_system::CheckWeight::::new(), - node_subtensor_runtime::transaction_payment_wrapper::ChargeTransactionPaymentWrapper::< - runtime::Runtime, - >::new(pallet_transaction_payment::ChargeTransactionPayment::< - runtime::Runtime, - >::from(0u64)), - node_subtensor_runtime::sudo_wrapper::SudoTransactionExtension::::new(), - pallet_subtensor::SubtensorTransactionExtension::::new(), - pallet_drand::drand_priority::DrandPriority::::new(), - frame_metadata_hash_extension::CheckMetadataHash::::new(false), - ); - - // 3) Manually construct the `Implicit` tuple that the runtime will also derive. - type Implicit = >::Implicit; - - // Try to get the *current* runtime version from on-chain WASM; if that fails, - // fall back to the compiled runtime::VERSION. - let (spec_version, tx_version) = match client.runtime_api().version(at_hash) { - Ok(v) => (v.spec_version, v.transaction_version), - Err(e) => { - log::debug!( - target: "mev-shield", - "runtime_api::version failed at_hash={at_hash:?}: {e:?}; \ - falling back to compiled runtime::VERSION", - ); - ( - runtime::VERSION.spec_version, - runtime::VERSION.transaction_version, - ) - } - }; - - let implicit: Implicit = ( - (), // CheckNonZeroSender - spec_version, // dynamic or fallback spec_version - tx_version, // dynamic or fallback transaction_version - genesis_h256, // CheckGenesis::Implicit = Hash - at_hash_h256, // CheckEra::Implicit = hash of the block the tx is created at - (), // CheckNonce::Implicit = () - (), // CheckWeight::Implicit = () - (), // ChargeTransactionPaymentWrapper::Implicit = () - (), // SudoTransactionExtension::Implicit = () - (), // SubtensorTransactionExtension::Implicit = () - (), // DrandPriority::Implicit = () - None, // CheckMetadataHash::Implicit = Option<[u8; 32]> - ); - - // 4) Build the exact signable payload from call + extra + implicit. - let payload: SignedPayload = SignedPayload::from_raw(call.clone(), extra.clone(), implicit); - - // 5) Sign with the local Aura key using the same SCALE bytes the runtime expects. - let sig_opt = payload - .using_encoded(|bytes| keystore.sr25519_sign(AURA_KEY_TYPE, &aura_pub, bytes)) - .map_err(|e| anyhow::anyhow!("keystore sr25519_sign error: {e:?}"))?; - - let sig = sig_opt - .ok_or_else(|| anyhow::anyhow!("keystore sr25519_sign returned None for Aura key"))?; - - let signature: MultiSignature = sig.into(); - - // 6) Sender address = AccountId32 derived from the Aura sr25519 public key. - let who: AccountId32 = aura_pub.into(); - let address = sp_runtime::MultiAddress::Id(who); - - // 7) Assemble the signed extrinsic and submit it to the pool. - let uxt: UncheckedExtrinsic = UncheckedExtrinsic::new_signed(call, address, signature, extra); - - let xt_bytes = uxt.encode(); - let xt_hash = sp_core::hashing::blake2_256(&xt_bytes); - let xt_hash_hex = hex::encode(xt_hash); - - let opaque: sp_runtime::OpaqueExtrinsic = uxt.into(); - let xt: ::Extrinsic = opaque.into(); - - pool.submit_one(at_hash, TransactionSource::Local, xt) - .await?; - - log::debug!( - target: "mev-shield", - "announce_next_key submitted: xt=0x{xt_hash_hex}, nonce={nonce:?}, \ - spec_version={spec_version}, tx_version={tx_version}, era={era:?}", - ); - - Ok(()) -} diff --git a/node/src/mev_shield/mod.rs b/node/src/mev_shield/mod.rs index 91817097bf..6c62c5e8a4 100644 --- a/node/src/mev_shield/mod.rs +++ b/node/src/mev_shield/mod.rs @@ -1,2 +1,7 @@ -pub mod author; -pub mod proposer; +pub mod inherents; +pub mod key_rotation; +pub mod keystore; + +pub use inherents::*; +pub use key_rotation::*; +pub use keystore::*; diff --git a/node/src/mev_shield/proposer.rs b/node/src/mev_shield/proposer.rs deleted file mode 100644 index a9a854e362..0000000000 --- a/node/src/mev_shield/proposer.rs +++ /dev/null @@ -1,847 +0,0 @@ -use super::author::ShieldContext; -use futures::StreamExt; -use ml_kem::kem::{Decapsulate, DecapsulationKey}; -use ml_kem::{Ciphertext, Encoded, EncodedSizeUser, MlKem768, MlKem768Params}; -use sc_service::SpawnTaskHandle; -use sc_transaction_pool_api::{TransactionPool, TransactionSource}; -use sp_core::H256; -use sp_runtime::traits::{Header, SaturatedConversion}; -use sp_runtime::{AccountId32, OpaqueExtrinsic}; -use std::{ - collections::HashMap, - sync::{Arc, Mutex}, -}; - -/// Truncate a UTF-8 string to at most `max_bytes` bytes without splitting codepoints. -fn truncate_utf8_to_bytes(s: &str, max_bytes: usize) -> String { - if s.len() <= max_bytes { - return s.to_string(); - } - - let mut end = max_bytes.min(s.len()); - - // Decrement until we find a valid UTF-8 boundary. - while end > 0 { - if let Some(prefix) = s.get(..end) { - return prefix.to_string(); - } - end = end.saturating_sub(1); - } - - // If max_bytes was 0 or we couldn't find a boundary (extremely defensive), return empty. - String::new() -} - -/// Helper to build a `mark_decryption_failed` runtime call with a bounded reason string. -fn create_failed_call(id: H256, reason: &str) -> node_subtensor_runtime::RuntimeCall { - use sp_runtime::BoundedVec; - - let reason_bytes = reason.as_bytes(); - let reason_bounded = BoundedVec::try_from(reason_bytes.to_vec()).unwrap_or_else(|_| { - // Fallback if the reason is too long for the bounded vector. - BoundedVec::try_from(b"Decryption failed".to_vec()).unwrap_or_default() - }); - - node_subtensor_runtime::RuntimeCall::MevShield(pallet_shield::Call::mark_decryption_failed { - id, - reason: reason_bounded, - }) -} - -/// Buffer of wrappers keyed by the block number in which they were included. -#[derive(Default, Clone)] -struct WrapperBuffer { - by_id: HashMap< - H256, - ( - Vec, // ciphertext blob - u64, // originating block number - AccountId32, // wrapper author - ), - >, -} - -impl WrapperBuffer { - fn upsert(&mut self, id: H256, block_number: u64, author: AccountId32, ciphertext: Vec) { - self.by_id.insert(id, (ciphertext, block_number, author)); - } - - /// Drain only wrappers whose `block_number` matches the given `block`. - /// - Wrappers with `block_number > block` are kept for future decrypt passes. - /// - Wrappers with `block_number < block` are considered stale and dropped, and - /// we emit `mark_decryption_failed` calls for them so they are visible on-chain. - fn drain_for_block( - &mut self, - block: u64, - failed_calls: &mut Vec<(H256, node_subtensor_runtime::RuntimeCall)>, - ) -> Vec<(H256, u64, sp_runtime::AccountId32, Vec)> { - let mut ready = Vec::new(); - let mut kept_future: usize = 0; - let mut dropped_past: usize = 0; - - self.by_id.retain(|id, (ct, block_number, who)| { - if *block_number == block { - // Ready to process now; remove from buffer. - ready.push((*id, *block_number, who.clone(), ct.clone())); - false - } else if *block_number > block { - // Not yet reveal time; keep for future blocks. - kept_future = kept_future.saturating_add(1); - true - } else { - // block_number < block => stale / missed decrypt opportunity; drop and mark failed. - dropped_past = dropped_past.saturating_add(1); - log::debug!( - target: "mev-shield", - "revealer: dropping stale wrapper id=0x{} block_number={} < block={}", - hex::encode(id.as_bytes()), - *block_number, - block - ); - - // Mark decryption failed on-chain so clients can observe the missed wrapper. - failed_calls.push(( - *id, - create_failed_call( - *id, - "missed decrypt window (wrapper submitted in an earlier block)", - ), - )); - - false - } - }); - - log::debug!( - target: "mev-shield", - "revealer: drain_for_block(block={}): ready={}, kept_future={}, dropped_past={}", - block, - ready.len(), - kept_future, - dropped_past - ); - - ready - } -} - -/// Start a background worker that: -/// • watches imported blocks and captures `MevShield::submit_encrypted` -/// • buffers those wrappers per originating block, -/// • on each **locally authored** block: decrypt & submit wrappers for that block. -/// -pub fn spawn_revealer( - task_spawner: &SpawnTaskHandle, - client: Arc, - pool: Arc, - ctx: ShieldContext, -) where - B: sp_runtime::traits::Block, - C: sc_client_api::HeaderBackend - + sc_client_api::BlockchainEvents - + sc_client_api::BlockBackend - + Send - + Sync - + 'static, - Pool: TransactionPool + Send + Sync + 'static, -{ - use codec::{Decode, Encode}; - - type Address = sp_runtime::MultiAddress; - type RUnchecked = node_subtensor_runtime::UncheckedExtrinsic; - - let buffer: Arc> = Arc::new(Mutex::new(WrapperBuffer::default())); - - { - let client = Arc::clone(&client); - let pool = Arc::clone(&pool); - let buffer = Arc::clone(&buffer); - let ctx = ctx.clone(); - - task_spawner.spawn( - "mev-shield-block-revealer", - None, - async move { - log::debug!(target: "mev-shield", "Revealer task started"); - let mut import_stream = client.import_notification_stream(); - - while let Some(notif) = import_stream.next().await { - - let at_hash = notif.hash; - let block_number_u64: u64 = (*notif.header.number()).saturated_into(); - - log::debug!( - target: "mev-shield", - "imported block hash={:?} number={} origin={:?}", - at_hash, - block_number_u64, - notif.origin - ); - - // ── 1) buffer wrappers from this (locally authored) block ─────────── - match client.block_body(at_hash) { - Ok(Some(body)) => { - log::debug!( - target: "mev-shield", - " block has {} extrinsics", - body.len() - ); - - for (idx, opaque_xt) in body.into_iter().enumerate() { - let encoded = opaque_xt.encode(); - log::debug!( - target: "mev-shield", - " [xt #{idx}] opaque len={} bytes", - encoded.len() - ); - - let uxt: RUnchecked = match RUnchecked::decode(&mut &encoded[..]) { - Ok(u) => u, - Err(e) => { - log::debug!( - target: "mev-shield", - " [xt #{idx}] failed to decode UncheckedExtrinsic: {e:?}", - ); - continue; - } - }; - - log::debug!( - target: "mev-shield", - " [xt #{idx}] decoded call: {:?}", - &uxt.0.function - ); - - let author_opt: Option = - match &uxt.0.preamble { - sp_runtime::generic::Preamble::Signed( - addr, - _sig, - _ext, - ) => match addr.clone() { - Address::Id(acc) => Some(acc), - Address::Address32(bytes) => { - Some(sp_runtime::AccountId32::new(bytes)) - } - _ => None, - }, - _ => None, - }; - - let Some(author) = author_opt else { - log::debug!( - target: "mev-shield", - " [xt #{idx}] not a Signed(AccountId32) extrinsic; skipping" - ); - continue; - }; - - if let node_subtensor_runtime::RuntimeCall::MevShield( - pallet_shield::Call::submit_encrypted { - commitment, - ciphertext, - }, - ) = &uxt.0.function - { - let payload = - (author.clone(), *commitment, ciphertext).encode(); - let id = H256(sp_core::hashing::blake2_256(&payload)); - - log::debug!( - target: "mev-shield", - " [xt #{idx}] buffered submit_encrypted: id=0x{}, block_number={}, author={}, ct_len={}, commitment={:?}", - hex::encode(id.as_bytes()), - block_number_u64, - author, - ciphertext.len(), - commitment - ); - - if let Ok(mut buf) = buffer.lock() { - buf.upsert( - id, - block_number_u64, - author, - ciphertext.to_vec(), - ); - } else { - log::debug!( - target: "mev-shield", - " [xt #{idx}] failed to lock WrapperBuffer; dropping wrapper" - ); - } - } - } - } - Ok(None) => log::debug!( - target: "mev-shield", - " block_body returned None for hash={at_hash:?}", - ), - Err(e) => log::debug!( - target: "mev-shield", - " block_body error for hash={at_hash:?}: {e:?}", - ), - } - - // ── 2) snapshot current ML‑KEM secret for this block ──────────────── - let snapshot_opt = match ctx.keys.lock() { - Ok(k) => { - let sk_hash = sp_core::hashing::blake2_256(&k.current_sk); - Some(( - k.current_sk.clone(), - k.current_pk.len(), - k.next_pk.len(), - sk_hash, - )) - } - Err(e) => { - log::debug!( - target: "mev-shield", - "revealer: failed to lock ShieldKeys (poisoned?): {e:?}", - ); - None - } - }; - - let (curr_sk_bytes, curr_pk_len, next_pk_len, sk_hash) = match snapshot_opt { - Some(v) => v, - None => { - log::debug!( - target: "mev-shield", - "revealer: Cannot snapshot key for this block", - ); - continue; - } - }; - - // Use this block as the reveal block. - let curr_block: u64 = block_number_u64; - - log::debug!( - target: "mev-shield", - "revealer: decrypt for block {}. sk_len={} sk_hash=0x{} curr_pk_len={} next_pk_len={}", - curr_block, - curr_sk_bytes.len(), - hex::encode(sk_hash), - curr_pk_len, - next_pk_len - ); - - // ── 3) drain & decrypt wrappers for this block ───────────────────── - let mut to_submit: Vec<(H256, node_subtensor_runtime::UncheckedExtrinsic)> = - Vec::new(); - let mut failed_calls: Vec<(H256, node_subtensor_runtime::RuntimeCall)> = - Vec::new(); - - // Only process wrappers whose originating block matches this block. - let drained: Vec<(H256, u64, sp_runtime::AccountId32, Vec)> = - match buffer.lock() { - Ok(mut buf) => buf.drain_for_block(curr_block, &mut failed_calls), - Err(e) => { - log::debug!( - target: "mev-shield", - "revealer: failed to lock WrapperBuffer for drain_for_block: {e:?}", - ); - Vec::new() - } - }; - - log::debug!( - target: "mev-shield", - "revealer: drained {} buffered wrappers for block={}", - drained.len(), - curr_block - ); - - for (id, block_number, author, blob) in drained.into_iter() { - log::debug!( - target: "mev-shield", - "revealer: candidate id=0x{} submitted_in={} (block={}) author={} blob_len={}", - hex::encode(id.as_bytes()), - block_number, - curr_block, - author, - blob.len() - ); - - // Safely parse blob: [u16 kem_len][kem_ct][nonce24][aead_ct] - if blob.len() < 2 { - let error_message = "blob too short to contain kem_len"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}", - hex::encode(id.as_bytes()), - error_message - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - - let mut cursor: usize = 0; - - // 1) kem_len (u16 LE) - let kem_len_end = match cursor.checked_add(2usize) { - Some(e) => e, - None => { - let error_message = "kem_len range overflow"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}", - hex::encode(id.as_bytes()), - error_message - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let kem_len_slice = match blob.get(cursor..kem_len_end) { - Some(s) => s, - None => { - let error_message = "blob too short for kem_len bytes"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={} end={})", - hex::encode(id.as_bytes()), - error_message, - cursor, - kem_len_end - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let kem_len_bytes: [u8; 2] = match kem_len_slice.try_into() { - Ok(arr) => arr, - Err(_) => { - let error_message = "kem_len slice not 2 bytes"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}", - hex::encode(id.as_bytes()), - error_message - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let kem_len = u16::from_le_bytes(kem_len_bytes) as usize; - cursor = kem_len_end; - - // 2) KEM ciphertext - let kem_ct_end = match cursor.checked_add(kem_len) { - Some(e) => e, - None => { - let error_message = "kem_ct range overflow"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={} kem_len={})", - hex::encode(id.as_bytes()), - error_message, - cursor, - kem_len - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let kem_ct_bytes = match blob.get(cursor..kem_ct_end) { - Some(s) => s, - None => { - let error_message = "blob too short for kem_ct"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={} end={})", - hex::encode(id.as_bytes()), - error_message, - cursor, - kem_ct_end - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - cursor = kem_ct_end; - - // 3) Nonce (24 bytes) - const NONCE_LEN: usize = 24; - let nonce_end = match cursor.checked_add(NONCE_LEN) { - Some(e) => e, - None => { - let error_message = "nonce range overflow"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={})", - hex::encode(id.as_bytes()), - error_message, - cursor - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let nonce_bytes = match blob.get(cursor..nonce_end) { - Some(s) => s, - None => { - let error_message = "blob too short for nonce24"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={} end={})", - hex::encode(id.as_bytes()), - error_message, - cursor, - nonce_end - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - cursor = nonce_end; - - // 4) AEAD body (rest) - let aead_body = match blob.get(cursor..) { - Some(s) => s, - None => { - let error_message = "blob too short for aead_body"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (cursor={})", - hex::encode(id.as_bytes()), - error_message, - cursor - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let kem_ct_hash = sp_core::hashing::blake2_256(kem_ct_bytes); - let aead_body_hash = sp_core::hashing::blake2_256(aead_body); - - log::debug!( - target: "mev-shield", - " id=0x{}: kem_len={} kem_ct_hash=0x{} nonce=0x{} aead_body_len={} aead_body_hash=0x{}", - hex::encode(id.as_bytes()), - kem_len, - hex::encode(kem_ct_hash), - hex::encode(nonce_bytes), - aead_body.len(), - hex::encode(aead_body_hash), - ); - - // Rebuild DecapsulationKey and decapsulate. - let enc_sk = - match Encoded::>::try_from( - &curr_sk_bytes[..], - ) { - Ok(e) => e, - Err(e) => { - let error_message = "DecapsulationKey::try_from failed"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (len={}, err={:?})", - hex::encode(id.as_bytes()), - error_message, - curr_sk_bytes.len(), - e - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - let sk = DecapsulationKey::::from_bytes(&enc_sk); - - let ct = match Ciphertext::::try_from(kem_ct_bytes) { - Ok(c) => c, - Err(e) => { - let error_message = "Ciphertext::try_from failed"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}: {:?}", - hex::encode(id.as_bytes()), - error_message, - e - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let ss = match sk.decapsulate(&ct) { - Ok(s) => s, - Err(_) => { - let error_message = "ML-KEM decapsulate failed"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}", - hex::encode(id.as_bytes()), - error_message - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let ss_bytes: &[u8] = ss.as_ref(); - if ss_bytes.len() != 32 { - let error_message = "shared secret length != 32"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (len={})", - hex::encode(id.as_bytes()), - error_message, - ss_bytes.len() - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - let mut ss32 = [0u8; 32]; - ss32.copy_from_slice(ss_bytes); - - let ss_hash = sp_core::hashing::blake2_256(&ss32); - let aead_key = crate::mev_shield::author::derive_aead_key(&ss32); - let key_hash_dbg = sp_core::hashing::blake2_256(&aead_key); - - log::debug!( - target: "mev-shield", - " id=0x{}: decapsulated shared_secret_len=32 shared_secret_hash=0x{}", - hex::encode(id.as_bytes()), - hex::encode(ss_hash) - ); - log::debug!( - target: "mev-shield", - " id=0x{}: derived AEAD key hash=0x{} (direct-from-ss)", - hex::encode(id.as_bytes()), - hex::encode(key_hash_dbg) - ); - - let mut nonce24 = [0u8; 24]; - nonce24.copy_from_slice(nonce_bytes); - - log::debug!( - target: "mev-shield", - " id=0x{}: attempting AEAD decrypt nonce=0x{} ct_len={}", - hex::encode(id.as_bytes()), - hex::encode(nonce24), - aead_body.len() - ); - - let plaintext = match crate::mev_shield::author::aead_decrypt( - aead_key, - nonce24, - aead_body, - &[], - ) { - Some(pt) => pt, - None => { - let error_message = "AEAD decrypt failed"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}; ct_hash=0x{}", - hex::encode(id.as_bytes()), - error_message, - hex::encode(aead_body_hash), - ); - //failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - log::debug!( - target: "mev-shield", - " id=0x{}: AEAD decrypt OK, plaintext_len={}", - hex::encode(id.as_bytes()), - plaintext.len() - ); - - if plaintext.is_empty() { - let error_message = "plaintext too short"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (len={}, min={})", - hex::encode(id.as_bytes()), - error_message, - plaintext.len(), - 1 - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - - let signed_extrinsic_bytes = match plaintext.get(0..plaintext.len()) { - Some(s) if !s.is_empty() => s, - _ => { - let error_message = "missing signed extrinsic bytes"; - log::debug!( - target: "mev-shield", - " id=0x{}: {}", - hex::encode(id.as_bytes()), - error_message - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - let signed_extrinsic: node_subtensor_runtime::UncheckedExtrinsic = - match Decode::decode(&mut &signed_extrinsic_bytes[..]) { - Ok(c) => c, - Err(e) => { - let error_message = "failed to decode UncheckedExtrinsic"; - log::debug!( - target: "mev-shield", - " id=0x{}: {} (len={}): {:?}", - hex::encode(id.as_bytes()), - error_message, - signed_extrinsic_bytes.len(), - e - ); - failed_calls.push((id, create_failed_call(id, error_message))); - continue; - } - }; - - to_submit.push((id, signed_extrinsic)); - } - - // ── 4) submit decrypted extrinsics to pool ────────────────────────── - let at = client.info().best_hash; - log::debug!( - target: "mev-shield", - "revealer: submitting {} extrinsics to pool at best_hash={:?}", - to_submit.len(), - at - ); - - for (id, uxt) in to_submit.into_iter() { - let xt_bytes = uxt.encode(); - - log::debug!( - target: "mev-shield", - " id=0x{}: encoded UncheckedExtrinsic len={}", - hex::encode(id.as_bytes()), - xt_bytes.len() - ); - - match OpaqueExtrinsic::from_bytes(&xt_bytes) { - Ok(opaque) => { - match pool - .submit_one(at, TransactionSource::External, opaque) - .await - { - Ok(_) => { - let xt_hash = - sp_core::hashing::blake2_256(&xt_bytes); - log::debug!( - target: "mev-shield", - " id=0x{}: submit_one(...) OK, xt_hash=0x{}", - hex::encode(id.as_bytes()), - hex::encode(xt_hash) - ); - } - Err(e) => { - // Emit an on-chain failure event even when the *inner* - // transaction fails pre-dispatch validation in the pool. - let err_dbg = format!("{e:?}"); - let reason = truncate_utf8_to_bytes( - &format!( - "inner extrinsic rejected by tx-pool (pre-dispatch): {err_dbg}" - ), - 240, - ); - log::debug!( - target: "mev-shield", - " id=0x{}: submit_one(...) FAILED (will mark_decryption_failed): {:?}", - hex::encode(id.as_bytes()), - e - ); - failed_calls.push((id, create_failed_call(id, &reason))); - } - } - } - Err(e) => { - let err_dbg = format!("{e:?}"); - let reason = truncate_utf8_to_bytes( - &format!( - "invalid decrypted extrinsic bytes (OpaqueExtrinsic::from_bytes): {err_dbg}" - ), - 240, - ); - log::debug!( - target: "mev-shield", - " id=0x{}: OpaqueExtrinsic::from_bytes failed (will mark_decryption_failed): {:?}", - hex::encode(id.as_bytes()), - e - ); - failed_calls.push((id, create_failed_call(id, &reason))); - } - } - } - - // ── 5) submit decryption-failed markers ───────────────────────────── - if !failed_calls.is_empty() { - log::debug!( - target: "mev-shield", - "revealer: submitting {} mark_decryption_failed calls at best_hash={:?}", - failed_calls.len(), - at - ); - - for (id, call) in failed_calls.into_iter() { - let uxt: node_subtensor_runtime::UncheckedExtrinsic = - node_subtensor_runtime::UncheckedExtrinsic::new_bare(call); - let xt_bytes = uxt.encode(); - - log::debug!( - target: "mev-shield", - " id=0x{}: encoded mark_decryption_failed UncheckedExtrinsic len={}", - hex::encode(id.as_bytes()), - xt_bytes.len() - ); - - match OpaqueExtrinsic::from_bytes(&xt_bytes) { - Ok(opaque) => { - match pool - .submit_one(at, TransactionSource::Local, opaque) - .await - { - Ok(_) => { - let xt_hash = - sp_core::hashing::blake2_256(&xt_bytes); - log::debug!( - target: "mev-shield", - " id=0x{}: submit_one(mark_decryption_failed) OK, xt_hash=0x{}", - hex::encode(id.as_bytes()), - hex::encode(xt_hash) - ); - } - Err(e) => { - log::warn!( - target: "mev-shield", - " id=0x{}: submit_one(mark_decryption_failed) FAILED: {:?}", - hex::encode(id.as_bytes()), - e - ); - } - } - } - Err(e) => { - log::warn!( - target: "mev-shield", - " id=0x{}: OpaqueExtrinsic::from_bytes(mark_decryption_failed) failed: {:?}", - hex::encode(id.as_bytes()), - e - ); - } - } - } - } - } - }, - ); - } -} From d037cd4e90ebcc2d0bb15e144d30d0fe44be9096 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sun, 8 Feb 2026 23:44:25 -0300 Subject: [PATCH 022/204] extract Executive Context --- runtime/src/lib.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index b324934caa..5f87de9108 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1668,15 +1668,12 @@ pub type CheckedExtrinsic = // The payload being signed in transactions. pub type SignedPayload = generic::SignedPayload; + +// Context for the executive. +pub type Context = frame_system::ChainContext; // Executive: handles dispatch to the various modules. -pub type Executive = frame_executive::Executive< - Runtime, - Block, - frame_system::ChainContext, - Runtime, - AllPalletsWithSystem, - Migrations, ->; +pub type Executive = + frame_executive::Executive; #[cfg(feature = "runtime-benchmarks")] #[macro_use] From fa310e9b3051febc1f07f8aab7c56275e4a1d541 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 10:49:06 -0300 Subject: [PATCH 023/204] remove keys default and swap safely --- node/src/mev_shield/keystore.rs | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/node/src/mev_shield/keystore.rs b/node/src/mev_shield/keystore.rs index 8434698b8c..2f6d4d5289 100644 --- a/node/src/mev_shield/keystore.rs +++ b/node/src/mev_shield/keystore.rs @@ -12,7 +12,7 @@ pub struct ShieldKeystore(Mutex); impl ShieldKeystore { pub fn new() -> Self { - Self(Mutex::new(ShieldKeys::new())) + Self(Mutex::new(ShieldKeys::generate())) } pub fn roll_for_next_slot(&self) -> Result<(), anyhow::Error> { @@ -22,8 +22,13 @@ impl ShieldKeystore { .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; keys.current_sk.zeroize(); - keys.current_sk = core::mem::take(&mut keys.next_sk); - keys.current_pk = core::mem::take(&mut keys.next_pk); + + // SAFETY: We are swapping the private keys and public keys in a safe way + // without intermediate variables or implementing "Default" for the key types. + unsafe { + std::ptr::swap(&raw mut keys.current_sk, &raw mut keys.next_sk); + std::ptr::swap(&raw mut keys.current_pk, &raw mut keys.next_pk); + } let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); keys.next_sk = next_sk.into(); @@ -32,16 +37,16 @@ impl ShieldKeystore { Ok(()) } - pub fn next_public_key(&self) -> Result { + pub fn next_public_key(&self) -> Result, anyhow::Error> { let keys = self .0 .lock() .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; - Ok(keys.next_pk.clone()) + Ok(keys.next_pk.0.clone()) } } -#[derive(Default, Zeroize, ZeroizeOnDrop)] +#[derive(Zeroize, ZeroizeOnDrop)] struct PrivateKey(Vec); impl From> for PrivateKey { @@ -50,7 +55,7 @@ impl From> for PrivateKey { } } -#[derive(Default, Clone, Encode)] +#[derive(Clone, Encode)] pub struct PublicKey(Vec); impl From> for PublicKey { @@ -59,8 +64,8 @@ impl From> for PublicKey { } } -/// Holds the current/next ML‑KEM keypairs. -pub struct ShieldKeys { +/// Holds the current/next ML‑KEM keypairs in-memory for a single author. +struct ShieldKeys { current_sk: PrivateKey, current_pk: PublicKey, next_sk: PrivateKey, @@ -68,7 +73,7 @@ pub struct ShieldKeys { } impl ShieldKeys { - pub fn new() -> Self { + fn generate() -> Self { let (current_sk, current_pk) = MlKem768::generate(&mut OsRng); let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); Self { @@ -80,12 +85,6 @@ impl ShieldKeys { } } -impl Default for ShieldKeys { - fn default() -> Self { - Self::new() - } -} - impl Zeroize for ShieldKeys { fn zeroize(&mut self) { self.current_sk.zeroize(); From b6f943072a51d24ff5bdce7244c5a9990822cfba Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 11:01:37 -0300 Subject: [PATCH 024/204] make inherent public key possibly none in case of node failure --- node/src/mev_shield/inherents.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/node/src/mev_shield/inherents.rs b/node/src/mev_shield/inherents.rs index 80ce59a722..b930d0bb6c 100644 --- a/node/src/mev_shield/inherents.rs +++ b/node/src/mev_shield/inherents.rs @@ -6,7 +6,7 @@ use std::sync::Arc; pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; /// The inherent type for the next MEV-Shield public key. -pub type InherentType = Vec; +pub type InherentType = Option>; pub struct InherentDataProvider { keystore: Arc, @@ -21,8 +21,8 @@ impl InherentDataProvider { #[async_trait::async_trait] impl sp_inherents::InherentDataProvider for InherentDataProvider { async fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), Error> { - let public_key = self.keystore.next_public_key().ok().unwrap_or_default(); - inherent_data.put_data(INHERENT_IDENTIFIER, &public_key) + let public_key = self.keystore.next_public_key().ok(); + inherent_data.put_data::(INHERENT_IDENTIFIER, &public_key) } async fn try_handle_error( From a7f1a00c295470e13840077ddae30a7f4bfa6e33 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 14:59:07 -0300 Subject: [PATCH 025/204] move shield client logic to own stc-shield crate --- Cargo.toml | 3 ++ client/shield/Cargo.toml | 32 +++++++++++++++++++ .../shield/src}/inherents.rs | 0 .../shield/src}/key_rotation.rs | 7 ++-- .../shield/src}/keystore.rs | 0 .../mod.rs => client/shield/src/lib.rs | 0 node/Cargo.toml | 1 + node/src/consensus/aura_consensus.rs | 2 +- node/src/consensus/babe_consensus.rs | 2 +- node/src/consensus/consensus_mechanism.rs | 2 +- node/src/lib.rs | 1 - node/src/main.rs | 1 - node/src/service.rs | 4 +-- 13 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 client/shield/Cargo.toml rename {node/src/mev_shield => client/shield/src}/inherents.rs (100%) rename {node/src/mev_shield => client/shield/src}/key_rotation.rs (88%) rename {node/src/mev_shield => client/shield/src}/keystore.rs (100%) rename node/src/mev_shield/mod.rs => client/shield/src/lib.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 469f444cdb..16b51b3861 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,6 +33,7 @@ members = [ "runtime", "support/*", "chain-extensions", + "client/shield" ] resolver = "2" @@ -236,6 +237,8 @@ polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = " runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +stc-shield = { path = "client/shield", default-features = false } + # Frontier fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } diff --git a/client/shield/Cargo.toml b/client/shield/Cargo.toml new file mode 100644 index 0000000000..d8ec783da7 --- /dev/null +++ b/client/shield/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "stc-shield" +description = "MEV Shield client implementation" +version = "0.1.0" +edition.workspace = true + +[dependencies] +log.workspace = true +async-trait.workspace = true +anyhow.workspace = true +codec.workspace = true +futures.workspace = true + +# Crypto +rand.workspace = true +chacha20poly1305 = { workspace = true, features = ["std"] } +ml-kem = { workspace = true, features = ["zeroize"] } +zeroize.workspace = true + +# Substrate +sc-service.workspace = true +sc-client-api.workspace = true +sp-runtime.workspace = true +sp-consensus.workspace = true +sp-inherents.workspace = true + +[lints] +workspace = true + +[features] +default = ["std"] +std = [] diff --git a/node/src/mev_shield/inherents.rs b/client/shield/src/inherents.rs similarity index 100% rename from node/src/mev_shield/inherents.rs rename to client/shield/src/inherents.rs diff --git a/node/src/mev_shield/key_rotation.rs b/client/shield/src/key_rotation.rs similarity index 88% rename from node/src/mev_shield/key_rotation.rs rename to client/shield/src/key_rotation.rs index a8fc1b5779..ca6bf05b13 100644 --- a/node/src/mev_shield/key_rotation.rs +++ b/client/shield/src/key_rotation.rs @@ -1,8 +1,9 @@ use super::ShieldKeystore; use futures::StreamExt; +use sc_client_api::BlockchainEvents; use sc_service::SpawnTaskHandle; use sp_consensus::BlockOrigin; -use sp_runtime::traits::Header; +use sp_runtime::traits::{Block, Header}; use std::sync::Arc; pub fn spawn_key_rotation_on_own_import( @@ -10,8 +11,8 @@ pub fn spawn_key_rotation_on_own_import( client: Arc, keystore: Arc, ) where - B: sp_runtime::traits::Block, - C: sc_client_api::BlockchainEvents + Send + Sync + 'static, + B: Block, + C: BlockchainEvents + Send + Sync + 'static, { task_spawner.spawn("mev-shield-key-rotation", None, async move { log::debug!(target: "mev-shield", "Key-rotation task started"); diff --git a/node/src/mev_shield/keystore.rs b/client/shield/src/keystore.rs similarity index 100% rename from node/src/mev_shield/keystore.rs rename to client/shield/src/keystore.rs diff --git a/node/src/mev_shield/mod.rs b/client/shield/src/lib.rs similarity index 100% rename from node/src/mev_shield/mod.rs rename to client/shield/src/lib.rs diff --git a/node/Cargo.toml b/node/Cargo.toml index ae210601ad..3c6d63f449 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -78,6 +78,7 @@ sp-keystore.workspace = true polkadot-sdk = { workspace = true, features = [ "cumulus-primitives-proof-size-hostfunction", ] } +stc-shield = { workspace = true } # These dependencies are used for the subtensor's RPCs jsonrpsee = { workspace = true, features = ["server"] } diff --git a/node/src/consensus/aura_consensus.rs b/node/src/consensus/aura_consensus.rs index e11f69d05b..2bfeaea621 100644 --- a/node/src/consensus/aura_consensus.rs +++ b/node/src/consensus/aura_consensus.rs @@ -3,7 +3,6 @@ use crate::consensus::{ConsensusMechanism, StartAuthoringParams}; use crate::{ client::{FullBackend, FullClient}, ethereum::EthConfiguration, - mev_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}, service::{BIQ, FullSelectChain, GrandpaBlockImport}, }; use jsonrpsee::tokio; @@ -29,6 +28,7 @@ use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::Block as BlockT; use sp_runtime::traits::NumberFor; +use stc_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}; use std::{error::Error, sync::Arc}; pub struct AuraConsensus; diff --git a/node/src/consensus/babe_consensus.rs b/node/src/consensus/babe_consensus.rs index af73a1925d..3f6a292638 100644 --- a/node/src/consensus/babe_consensus.rs +++ b/node/src/consensus/babe_consensus.rs @@ -4,7 +4,6 @@ use crate::{ client::{FullBackend, FullClient}, conditional_evm_block_import::ConditionalEVMBlockImport, ethereum::EthConfiguration, - mev_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}, service::{BIQ, FullSelectChain, GrandpaBlockImport}, }; use fc_consensus::FrontierBlockImport; @@ -32,6 +31,7 @@ use sp_consensus_slots::SlotDuration; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::NumberFor; +use stc_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}; use std::{error::Error, sync::Arc}; pub struct BabeConsensus { diff --git a/node/src/consensus/consensus_mechanism.rs b/node/src/consensus/consensus_mechanism.rs index 82f7c99dce..a581ccb561 100644 --- a/node/src/consensus/consensus_mechanism.rs +++ b/node/src/consensus/consensus_mechanism.rs @@ -22,11 +22,11 @@ use sp_consensus_slots::SlotDuration; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::NumberFor; +use stc::ShieldKeystore; use std::sync::Arc; use std::sync::atomic::AtomicBool; use crate::client::FullClient; -use crate::mev_shield::ShieldKeystore; use crate::service::BIQ; use crate::service::FullSelectChain; diff --git a/node/src/lib.rs b/node/src/lib.rs index ab4a409e1b..c447a07309 100644 --- a/node/src/lib.rs +++ b/node/src/lib.rs @@ -4,6 +4,5 @@ pub mod client; pub mod conditional_evm_block_import; pub mod consensus; pub mod ethereum; -pub mod mev_shield; pub mod rpc; pub mod service; diff --git a/node/src/main.rs b/node/src/main.rs index 7adffa0ae9..64f25acc67 100644 --- a/node/src/main.rs +++ b/node/src/main.rs @@ -10,7 +10,6 @@ mod command; mod conditional_evm_block_import; mod consensus; mod ethereum; -mod mev_shield; mod rpc; mod service; diff --git a/node/src/service.rs b/node/src/service.rs index 72e37f5418..e0a893b10a 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -21,6 +21,7 @@ use sp_core::crypto::KeyTypeId; use sp_keystore::Keystore; use sp_runtime::key_types; use sp_runtime::traits::{Block as BlockT, NumberFor}; +use stc_shield::{self, ShieldKeystore}; use std::collections::HashSet; use std::str::FromStr; use std::sync::atomic::AtomicBool; @@ -34,7 +35,6 @@ use crate::ethereum::{ BackendType, EthConfiguration, FrontierBackend, FrontierPartialComponents, StorageOverride, StorageOverrideHandler, db_config_dir, new_frontier_partial, spawn_frontier_tasks, }; -use crate::mev_shield::{self, ShieldKeystore}; const LOG_TARGET: &str = "node-service"; @@ -558,7 +558,7 @@ where } let shield_keystore = Arc::new(ShieldKeystore::new()); - mev_shield::spawn_key_rotation_on_own_import( + stc_shield::spawn_key_rotation_on_own_import( &task_manager.spawn_handle(), client.clone(), shield_keystore.clone(), From dec0bc1db5a7113a139b0433c0a9cb22a575abff Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 15:01:32 -0300 Subject: [PATCH 026/204] added shield primitives crate (stp-shield) --- Cargo.toml | 1 + primitives/shield/Cargo.toml | 17 ++++++++ primitives/shield/src/lib.rs | 80 ++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 primitives/shield/Cargo.toml create mode 100644 primitives/shield/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 16b51b3861..fe0ad8c7a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,6 +71,7 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } +stp-shield = { path = "primitives/shield", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml new file mode 100644 index 0000000000..ed9cd7ebb6 --- /dev/null +++ b/primitives/shield/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "stp-shield" +description = "MEV Shield primitives for Subtensor runtime" +version = "0.1.0" +edition.workspace = true + + +[dependencies] +codec.workspace = true +sp-externalities.workspace = true + +[lints] +workspace = true + +[features] +default = ["std"] +std = [] diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs new file mode 100644 index 0000000000..6351d7f6fd --- /dev/null +++ b/primitives/shield/src/lib.rs @@ -0,0 +1,80 @@ +//! MEV Shield Keystore traits + +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +use codec::{Decode, Encode}; + +use alloc::{string::String, sync::Arc, vec::Vec}; + +#[derive(Debug, Encode, Decode)] +pub enum Error { + /// Keystore unavailable + Unavailable, + /// Validation error + ValidationError(String), + /// Other error + Other(String), +} + +pub type Result = core::result::Result; + +/// Something that generates, stores and provides access to secret keys +/// and operations used by the MEV Shield. +pub trait ShieldKeystore: Send + Sync { + /// Roll for the next slot and update the current/next keys. + fn roll_for_next_slot(&self) -> Result<()>; + + /// Get the next public key. + fn next_public_key(&self) -> Result>; + + /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]>; + + /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> Result>; +} + +impl ShieldKeystore for Arc { + fn roll_for_next_slot(&self) -> Result<()> { + (**self).roll_for_next_slot() + } + + fn next_public_key(&self) -> Result> { + (**self).next_public_key() + } + + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]> { + (**self).mlkem768_decapsulate(ciphertext) + } + + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> Result> { + (**self).aead_decrypt(key, nonce, msg, aad) + } +} + +pub type ShieldKeystorePtr = Arc; + +sp_externalities::decl_extension! { + /// The shield keystore extension to register/retrieve from the externalities. + pub struct ShieldKeystoreExt(ShieldKeystorePtr); +} + +impl ShieldKeystoreExt { + pub fn new(keystore: T) -> Self { + Self(Arc::new(keystore)) + } +} From 4c31686c95b8932e033e038915c83c1b3fa27299 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 16:51:11 -0300 Subject: [PATCH 027/204] refactor MemoryShieldKeystore and implement ShieldKeystore --- client/shield/Cargo.toml | 4 +- client/shield/src/keystore.rs | 167 ++++++++++++++++++++-------------- 2 files changed, 102 insertions(+), 69 deletions(-) diff --git a/client/shield/Cargo.toml b/client/shield/Cargo.toml index d8ec783da7..88baa4bf01 100644 --- a/client/shield/Cargo.toml +++ b/client/shield/Cargo.toml @@ -15,7 +15,6 @@ futures.workspace = true rand.workspace = true chacha20poly1305 = { workspace = true, features = ["std"] } ml-kem = { workspace = true, features = ["zeroize"] } -zeroize.workspace = true # Substrate sc-service.workspace = true @@ -24,6 +23,9 @@ sp-runtime.workspace = true sp-consensus.workspace = true sp-inherents.workspace = true +# Subtensor +stp-shield.workspace = true + [lints] workspace = true diff --git a/client/shield/src/keystore.rs b/client/shield/src/keystore.rs index 2f6d4d5289..aeaea04fdd 100644 --- a/client/shield/src/keystore.rs +++ b/client/shield/src/keystore.rs @@ -1,95 +1,126 @@ -use codec::Encode; +use chacha20poly1305::{ + KeyInit, XChaCha20Poly1305, XNonce, + aead::{Aead, Payload}, +}; use ml_kem::{ - EncodedSizeUser, KemCore, MlKem768, MlKem768Params, - kem::{DecapsulationKey, EncapsulationKey}, + Ciphertext, EncodedSizeUser, KemCore, MlKem768, MlKem768Params, + kem::{Decapsulate, DecapsulationKey, EncapsulationKey}, }; use rand::rngs::OsRng; -use std::sync::Mutex; -use zeroize::{Zeroize, ZeroizeOnDrop}; +use std::sync::RwLock; +use stp_shield::{Error as TraitError, Result as TraitResult, ShieldKeystore}; -/// The keystore for the MEV-Shield. -pub struct ShieldKeystore(Mutex); +/// An memory-based keystore for the MEV-Shield. +pub struct MemoryShieldKeystore(RwLock); -impl ShieldKeystore { +impl MemoryShieldKeystore { pub fn new() -> Self { - Self(Mutex::new(ShieldKeys::generate())) + Self(RwLock::new(ShieldKeystoreInner::new())) } +} - pub fn roll_for_next_slot(&self) -> Result<(), anyhow::Error> { - let mut keys = self - .0 - .lock() - .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; - - keys.current_sk.zeroize(); - - // SAFETY: We are swapping the private keys and public keys in a safe way - // without intermediate variables or implementing "Default" for the key types. - unsafe { - std::ptr::swap(&raw mut keys.current_sk, &raw mut keys.next_sk); - std::ptr::swap(&raw mut keys.current_pk, &raw mut keys.next_pk); - } - - let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); - keys.next_sk = next_sk.into(); - keys.next_pk = next_pk.into(); - - Ok(()) +impl ShieldKeystore for MemoryShieldKeystore { + fn roll_for_next_slot(&self) -> TraitResult<()> { + self.0 + .write() + .map_err(|_| TraitError::Unavailable)? + .roll_for_next_slot() } - pub fn next_public_key(&self) -> Result, anyhow::Error> { - let keys = self - .0 - .lock() - .map_err(|e| anyhow::anyhow!("Failed to lock shield keystore: {}", e))?; - Ok(keys.next_pk.0.clone()) + fn next_public_key(&self) -> TraitResult> { + self.0 + .read() + .map_err(|_| TraitError::Unavailable)? + .next_public_key() } -} - -#[derive(Zeroize, ZeroizeOnDrop)] -struct PrivateKey(Vec); -impl From> for PrivateKey { - fn from(key: DecapsulationKey) -> Self { - PrivateKey(key.as_bytes().to_vec()) + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> TraitResult<[u8; 32]> { + self.0 + .read() + .map_err(|_| TraitError::Unavailable)? + .mlkem768_decapsulate(ciphertext) } -} - -#[derive(Clone, Encode)] -pub struct PublicKey(Vec); -impl From> for PublicKey { - fn from(key: EncapsulationKey) -> Self { - PublicKey(key.as_bytes().to_vec()) + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> TraitResult> { + self.0 + .read() + .map_err(|_| TraitError::Unavailable)? + .aead_decrypt(key, nonce, msg, aad) } } /// Holds the current/next ML‑KEM keypairs in-memory for a single author. -struct ShieldKeys { - current_sk: PrivateKey, - current_pk: PublicKey, - next_sk: PrivateKey, - next_pk: PublicKey, +pub struct ShieldKeystoreInner { + current_pair: ShieldKeyPair, + next_pair: ShieldKeyPair, } -impl ShieldKeys { - fn generate() -> Self { - let (current_sk, current_pk) = MlKem768::generate(&mut OsRng); - let (next_sk, next_pk) = MlKem768::generate(&mut OsRng); +impl ShieldKeystoreInner { + fn new() -> Self { Self { - current_sk: PrivateKey::from(current_sk), - current_pk: PublicKey::from(current_pk), - next_sk: PrivateKey::from(next_sk), - next_pk: PublicKey::from(next_pk), + current_pair: ShieldKeyPair::generate(), + next_pair: ShieldKeyPair::generate(), } } -} -impl Zeroize for ShieldKeys { - fn zeroize(&mut self) { - self.current_sk.zeroize(); - self.next_sk.zeroize(); + fn roll_for_next_slot(&mut self) -> TraitResult<()> { + std::mem::swap(&mut self.current_pair, &mut self.next_pair); + self.next_pair = ShieldKeyPair::generate(); + Ok(()) + } + + fn next_public_key(&self) -> TraitResult> { + Ok(self.next_pair.enc_key.as_bytes().to_vec()) } + + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> TraitResult<[u8; 32]> { + let ciphertext = Ciphertext::::try_from(ciphertext) + .map_err(|e| TraitError::ValidationError(e.to_string()))?; + let shared_secret = self + .current_pair + .dec_key + .decapsulate(&ciphertext) + .map_err(|_| { + TraitError::Other("Failed to decapsulate ciphertext using ML-KEM 768".into()) + })?; + + Ok(shared_secret.into()) + } + + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> TraitResult> { + let aead = XChaCha20Poly1305::new((&key).into()); + let nonce = XNonce::from_slice(&nonce); + let payload = Payload { msg, aad }; + let decrypted = aead + .decrypt(nonce, payload) + .map_err(|_| TraitError::Other("Failed to decrypt message using AEAD".into()))?; + + Ok(decrypted) + } +} + +/// A pair of ML‑KEM‑768 decapsulation and encapsulation keys. +#[derive(Debug, Clone)] +struct ShieldKeyPair { + dec_key: DecapsulationKey, + enc_key: EncapsulationKey, } -impl ZeroizeOnDrop for ShieldKeys {} +impl ShieldKeyPair { + fn generate() -> Self { + let (dec_key, enc_key) = MlKem768::generate(&mut OsRng); + Self { dec_key, enc_key } + } +} From 0e595fd2f35619e2dd1d5feef8bf84d9b3664eb8 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 16:52:39 -0300 Subject: [PATCH 028/204] fix types following stp-shield crate creation --- client/shield/src/inherents.rs | 7 +++---- client/shield/src/key_rotation.rs | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/client/shield/src/inherents.rs b/client/shield/src/inherents.rs index b930d0bb6c..54c6cf9fad 100644 --- a/client/shield/src/inherents.rs +++ b/client/shield/src/inherents.rs @@ -1,6 +1,5 @@ -use super::ShieldKeystore; use sp_inherents::{Error, InherentData, InherentIdentifier}; -use std::sync::Arc; +use stp_shield::ShieldKeystorePtr; // The inherent identifier for the next MEV-Shield public key. pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; @@ -9,11 +8,11 @@ pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; pub type InherentType = Option>; pub struct InherentDataProvider { - keystore: Arc, + keystore: ShieldKeystorePtr, } impl InherentDataProvider { - pub fn new(keystore: Arc) -> Self { + pub fn new(keystore: ShieldKeystorePtr) -> Self { Self { keystore } } } diff --git a/client/shield/src/key_rotation.rs b/client/shield/src/key_rotation.rs index ca6bf05b13..b5151bc7b6 100644 --- a/client/shield/src/key_rotation.rs +++ b/client/shield/src/key_rotation.rs @@ -1,15 +1,15 @@ -use super::ShieldKeystore; use futures::StreamExt; use sc_client_api::BlockchainEvents; use sc_service::SpawnTaskHandle; use sp_consensus::BlockOrigin; use sp_runtime::traits::{Block, Header}; use std::sync::Arc; +use stp_shield::ShieldKeystorePtr; pub fn spawn_key_rotation_on_own_import( task_spawner: &SpawnTaskHandle, client: Arc, - keystore: Arc, + keystore: ShieldKeystorePtr, ) where B: Block, C: BlockchainEvents + Send + Sync + 'static, From 21f35863a70ab102cb5ddf84c3e13e024cfb6e7e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 16:52:51 -0300 Subject: [PATCH 029/204] remove unused deps from node --- node/Cargo.toml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/node/Cargo.toml b/node/Cargo.toml index 3c6d63f449..69d98e5e9d 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -26,7 +26,6 @@ clap = { workspace = true, features = ["derive"] } futures = { workspace = true, features = ["thread-pool"] } serde = { workspace = true, features = ["derive"] } hex.workspace = true -zeroize.workspace = true # Storage import memmap2.workspace = true @@ -117,16 +116,9 @@ fp-consensus.workspace = true num-traits = { workspace = true, features = ["std"] } # Mev Shield -pallet-shield.workspace = true tokio = { workspace = true, features = ["time"] } -chacha20poly1305 = { workspace = true, features = ["std"] } codec.workspace = true -rand.workspace = true -anyhow.workspace = true pallet-subtensor.workspace = true -ml-kem = { workspace = true, features = ["zeroize"] } -rand_core.workspace = true -blake2.workspace = true # Local Dependencies node-subtensor-runtime = { workspace = true, features = ["std"] } @@ -171,7 +163,6 @@ runtime-benchmarks = [ "pallet-transaction-payment/runtime-benchmarks", "polkadot-sdk/runtime-benchmarks", "pallet-subtensor/runtime-benchmarks", - "pallet-shield/runtime-benchmarks", ] pow-faucet = [] @@ -186,7 +177,6 @@ try-runtime = [ "pallet-commitments/try-runtime", "pallet-drand/try-runtime", "polkadot-sdk/try-runtime", - "pallet-shield/try-runtime", "pallet-subtensor/try-runtime", ] From fcf003c36e24eba35365fc67f50c96422121013e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 18:50:03 -0300 Subject: [PATCH 030/204] added subtensor primitives for I/O aka custom host functions (stp-io) --- primitives/io/Cargo.toml | 19 ++++++++++ primitives/io/src/lib.rs | 72 ++++++++++++++++++++++++++++++++++++ primitives/shield/src/lib.rs | 10 +++++ 3 files changed, 101 insertions(+) create mode 100644 primitives/io/Cargo.toml create mode 100644 primitives/io/src/lib.rs diff --git a/primitives/io/Cargo.toml b/primitives/io/Cargo.toml new file mode 100644 index 0000000000..e795fb18c3 --- /dev/null +++ b/primitives/io/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "stp-io" +description = "Subtensor runtime primitives for I/O" +version = "0.1.0" +edition.workspace = true + + +[dependencies] +codec.workspace = true +sp-runtime-interface.workspace = true +sp-externalities.workspace = true +stp-shield.workspace = true + +[lints] +workspace = true + +[features] +default = ["std"] +std = [] diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs new file mode 100644 index 0000000000..9e4028f281 --- /dev/null +++ b/primitives/io/src/lib.rs @@ -0,0 +1,72 @@ +//! Subtensor Primitives for IO +//! +//! This crate contains interfaces for the runtime to communicate with the outside world, ergo `io`. +//! In other context, such interfaces are referred to as "**host functions**". +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +use codec::{Decode, Encode}; +use sp_runtime_interface::{ + pass_by::{ + AllocateAndReturnByCodec, PassFatPointerAndRead, PassFatPointerAndReadWrite, + PassPointerAndRead, PassPointerAndWrite, + }, + runtime_interface, +}; +use stp_shield::ShieldKeystoreExt; + +use alloc::string::String; + +#[cfg(not(substrate_runtime))] +use sp_externalities::ExternalitiesExt; + +#[derive(Debug, Encode, Decode)] +pub enum Error { + Crypto(String), +} + +impl core::fmt::Display for Error { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Error::Crypto(e) => write!(f, "Crypto error: {}", e), + } + } +} + +/// Interfaces for working with crypto withing the runtime. +#[runtime_interface] +pub trait Crypto { + /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. + fn mlkem768_decapsulate( + &mut self, + ciphertext: PassFatPointerAndRead<&[u8]>, + buffer: PassPointerAndWrite<&mut [u8; 32], 32>, + ) -> AllocateAndReturnByCodec> { + let result = &self + .extension::() + .expect("No `shield keystore` associated for the current context!") + .mlkem768_decapsulate(ciphertext) + .map_err(|e| Error::Crypto(e.to_string()))?; + buffer.copy_from_slice(result); + Ok(()) + } + + /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. + fn aead_decrypt( + &mut self, + key: PassPointerAndRead<&[u8; 32], 32>, + nonce: PassPointerAndRead<&[u8; 24], 24>, + msg: PassFatPointerAndRead<&[u8]>, + aad: PassFatPointerAndRead<&[u8]>, + buffer: PassFatPointerAndReadWrite<&mut [u8]>, + ) -> AllocateAndReturnByCodec> { + let result = &self + .extension::() + .expect("No `shield keystore` associated for the current context!") + .aead_decrypt(*key, *nonce, msg, aad) + .map_err(|e| Error::Crypto(e.to_string()))?; + buffer.copy_from_slice(result); + Ok(()) + } +} diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs index 6351d7f6fd..d01c204b5d 100644 --- a/primitives/shield/src/lib.rs +++ b/primitives/shield/src/lib.rs @@ -18,6 +18,16 @@ pub enum Error { Other(String), } +impl core::fmt::Display for Error { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Error::Unavailable => write!(f, "Keystore unavailable"), + Error::ValidationError(e) => write!(f, "Validation error: {}", e), + Error::Other(e) => write!(f, "Other error: {}", e), + } + } +} + pub type Result = core::result::Result; /// Something that generates, stores and provides access to secret keys From 7514f44b8921517692e0b4011bf86987e32e235e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 19:14:02 -0300 Subject: [PATCH 031/204] fix imports and features --- primitives/io/Cargo.toml | 7 ++++++- primitives/io/src/lib.rs | 5 ++++- primitives/shield/Cargo.toml | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/primitives/io/Cargo.toml b/primitives/io/Cargo.toml index e795fb18c3..d82921105c 100644 --- a/primitives/io/Cargo.toml +++ b/primitives/io/Cargo.toml @@ -16,4 +16,9 @@ workspace = true [features] default = ["std"] -std = [] +std = [ + "codec/std", + "sp-runtime-interface/std", + "sp-externalities/std", + "stp-shield/std", +] diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index 9e4028f281..77db82f1c9 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -16,7 +16,10 @@ use sp_runtime_interface::{ }; use stp_shield::ShieldKeystoreExt; -use alloc::string::String; +use alloc::{ + string::{String, ToString}, + vec::Vec, +}; #[cfg(not(substrate_runtime))] use sp_externalities::ExternalitiesExt; diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml index ed9cd7ebb6..6bd90a3554 100644 --- a/primitives/shield/Cargo.toml +++ b/primitives/shield/Cargo.toml @@ -14,4 +14,4 @@ workspace = true [features] default = ["std"] -std = [] +std = ["codec/std", "sp-externalities/std"] From 08862082ae344e5d4a3feccb390683e88b69a27f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 20:34:48 -0300 Subject: [PATCH 032/204] stp-shield: added basic shield runtime API --- primitives/shield/Cargo.toml | 4 +++- primitives/shield/src/lib.rs | 4 ++++ primitives/shield/src/runtime_api.rs | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 primitives/shield/src/runtime_api.rs diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml index 6bd90a3554..52edc0a6f3 100644 --- a/primitives/shield/Cargo.toml +++ b/primitives/shield/Cargo.toml @@ -8,10 +8,12 @@ edition.workspace = true [dependencies] codec.workspace = true sp-externalities.workspace = true +sp-api.workspace = true +sp-runtime.workspace = true [lints] workspace = true [features] default = ["std"] -std = ["codec/std", "sp-externalities/std"] +std = ["codec/std", "sp-externalities/std", "sp-api/std", "sp-runtime/std"] diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs index d01c204b5d..f5afb3e809 100644 --- a/primitives/shield/src/lib.rs +++ b/primitives/shield/src/lib.rs @@ -4,6 +4,10 @@ extern crate alloc; +mod runtime_api; + +pub use runtime_api::*; + use codec::{Decode, Encode}; use alloc::{string::String, sync::Arc, vec::Vec}; diff --git a/primitives/shield/src/runtime_api.rs b/primitives/shield/src/runtime_api.rs new file mode 100644 index 0000000000..cc4ae487d9 --- /dev/null +++ b/primitives/shield/src/runtime_api.rs @@ -0,0 +1,13 @@ +//! Runtime API definition for the MEV Shield. + +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +use sp_runtime::traits::Block as BlockT; + +sp_api::decl_runtime_apis! { + pub trait ShieldApi { + fn try_decrypt_extrinsic(uxt: ::Extrinsic) -> Option<::Extrinsic>; + } +} From 2deb9e4df051c5d035055722b1b2700fb879715b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Feb 2026 20:35:46 -0300 Subject: [PATCH 033/204] fix type errors in node consensus --- node/Cargo.toml | 8 ++++---- node/src/consensus/aura_consensus.rs | 8 ++++---- node/src/consensus/babe_consensus.rs | 8 ++++---- node/src/consensus/consensus_mechanism.rs | 4 ++-- node/src/service.rs | 12 +++++++++--- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/node/Cargo.toml b/node/Cargo.toml index 69d98e5e9d..e994559168 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -26,6 +26,7 @@ clap = { workspace = true, features = ["derive"] } futures = { workspace = true, features = ["thread-pool"] } serde = { workspace = true, features = ["derive"] } hex.workspace = true +tokio = { workspace = true, features = ["time"] } # Storage import memmap2.workspace = true @@ -77,7 +78,6 @@ sp-keystore.workspace = true polkadot-sdk = { workspace = true, features = [ "cumulus-primitives-proof-size-hostfunction", ] } -stc-shield = { workspace = true } # These dependencies are used for the subtensor's RPCs jsonrpsee = { workspace = true, features = ["server"] } @@ -95,6 +95,7 @@ pallet-transaction-payment-rpc-runtime-api.workspace = true # These dependencies are used for runtime benchmarking frame-benchmarking.workspace = true frame-benchmarking-cli.workspace = true +pallet-subtensor.workspace = true # Needed for Frontier fc-mapping-sync.workspace = true @@ -116,9 +117,8 @@ fp-consensus.workspace = true num-traits = { workspace = true, features = ["std"] } # Mev Shield -tokio = { workspace = true, features = ["time"] } -codec.workspace = true -pallet-subtensor.workspace = true +stp-shield.workspace = true +stc-shield.workspace = true # Local Dependencies node-subtensor-runtime = { workspace = true, features = ["std"] } diff --git a/node/src/consensus/aura_consensus.rs b/node/src/consensus/aura_consensus.rs index 2bfeaea621..85731afbce 100644 --- a/node/src/consensus/aura_consensus.rs +++ b/node/src/consensus/aura_consensus.rs @@ -28,8 +28,8 @@ use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::Block as BlockT; use sp_runtime::traits::NumberFor; -use stc_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}; use std::{error::Error, sync::Arc}; +use stp_shield::ShieldKeystorePtr; pub struct AuraConsensus; @@ -37,7 +37,7 @@ impl ConsensusMechanism for AuraConsensus { type InherentDataProviders = ( sp_consensus_aura::inherents::InherentDataProvider, sp_timestamp::InherentDataProvider, - ShieldInherentDataProvider, + stc_shield::InherentDataProvider, ); fn start_authoring( @@ -103,7 +103,7 @@ impl ConsensusMechanism for AuraConsensus { fn create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result> { let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -130,7 +130,7 @@ impl ConsensusMechanism for AuraConsensus { *timestamp, slot_duration, ); - let shield = ShieldInherentDataProvider::new(shield_keystore); + let shield = stc_shield::InherentDataProvider::new(shield_keystore); Ok((slot, timestamp, shield)) } diff --git a/node/src/consensus/babe_consensus.rs b/node/src/consensus/babe_consensus.rs index 3f6a292638..8b067197ed 100644 --- a/node/src/consensus/babe_consensus.rs +++ b/node/src/consensus/babe_consensus.rs @@ -31,8 +31,8 @@ use sp_consensus_slots::SlotDuration; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::NumberFor; -use stc_shield::{InherentDataProvider as ShieldInherentDataProvider, ShieldKeystore}; use std::{error::Error, sync::Arc}; +use stp_shield::ShieldKeystorePtr; pub struct BabeConsensus { babe_link: Option>, @@ -43,7 +43,7 @@ impl ConsensusMechanism for BabeConsensus { type InherentDataProviders = ( sp_consensus_babe::inherents::InherentDataProvider, sp_timestamp::InherentDataProvider, - ShieldInherentDataProvider, + stc_shield::InherentDataProvider, ); #[allow(clippy::expect_used)] @@ -113,7 +113,7 @@ impl ConsensusMechanism for BabeConsensus { fn create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result> { let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -121,7 +121,7 @@ impl ConsensusMechanism for BabeConsensus { *timestamp, slot_duration, ); - let shield = ShieldInherentDataProvider::new(shield_keystore); + let shield = stc_shield::InherentDataProvider::new(shield_keystore); Ok((slot, timestamp, shield)) } diff --git a/node/src/consensus/consensus_mechanism.rs b/node/src/consensus/consensus_mechanism.rs index a581ccb561..de32ce91ac 100644 --- a/node/src/consensus/consensus_mechanism.rs +++ b/node/src/consensus/consensus_mechanism.rs @@ -22,9 +22,9 @@ use sp_consensus_slots::SlotDuration; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::NumberFor; -use stc::ShieldKeystore; use std::sync::Arc; use std::sync::atomic::AtomicBool; +use stp_shield::ShieldKeystorePtr; use crate::client::FullClient; use crate::service::BIQ; @@ -86,7 +86,7 @@ pub trait ConsensusMechanism { /// Creates IDPs for the consensus mechanism. fn create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result>; /// Creates IDPs for the consensus mechanism for pending blocks. diff --git a/node/src/service.rs b/node/src/service.rs index e0a893b10a..f33931d210 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -21,12 +21,13 @@ use sp_core::crypto::KeyTypeId; use sp_keystore::Keystore; use sp_runtime::key_types; use sp_runtime::traits::{Block as BlockT, NumberFor}; -use stc_shield::{self, ShieldKeystore}; +use stc_shield::{self, MemoryShieldKeystore}; use std::collections::HashSet; use std::str::FromStr; use std::sync::atomic::AtomicBool; use std::{cell::RefCell, path::Path}; use std::{sync::Arc, time::Duration}; +use stp_shield::ShieldKeystorePtr; use substrate_prometheus_endpoint::Registry; use crate::cli::Sealing; @@ -452,7 +453,7 @@ where prometheus_registry.clone(), )); - let shield_keystore = Arc::new(ShieldKeystore::new()); + let shield_keystore = Arc::new(MemoryShieldKeystore::new()); let slot_duration = consensus_mechanism.slot_duration(&client)?; let pending_create_inherent_data_providers = move |_, ()| { let keystore = shield_keystore.clone(); @@ -540,6 +541,8 @@ where .await; if role.is_authority() { + let shield_keystore = Arc::new(MemoryShieldKeystore::new()); + // manual-seal authorship if let Some(sealing) = sealing { run_manual_seal_authorship( @@ -552,12 +555,12 @@ where prometheus_registry.as_ref(), telemetry.as_ref(), commands_stream, + shield_keystore.clone(), )?; log::info!("Manual Seal Ready"); return Ok(task_manager); } - let shield_keystore = Arc::new(ShieldKeystore::new()); stc_shield::spawn_key_rotation_on_own_import( &task_manager.spawn_handle(), client.clone(), @@ -570,6 +573,7 @@ where transaction_pool.clone(), prometheus_registry.as_ref(), telemetry.as_ref().map(|x| x.handle()), + shield_keystore.clone(), ); let slot_duration = consensus_mechanism.slot_duration(&client)?; @@ -718,6 +722,7 @@ fn run_manual_seal_authorship( commands_stream: mpsc::Receiver< sc_consensus_manual_seal::rpc::EngineCommand<::Hash>, >, + shield_keystore: ShieldKeystorePtr, ) -> Result<(), ServiceError> { let proposer_factory = sc_basic_authorship::ProposerFactory::new( task_manager.spawn_handle(), @@ -725,6 +730,7 @@ fn run_manual_seal_authorship( transaction_pool.clone(), prometheus_registry, telemetry.as_ref().map(|x| x.handle()), + shield_keystore, ); thread_local!(static TIMESTAMP: RefCell = const { RefCell::new(0) }); From fc50cf5be7f35cb0bcf2d6ce87179709cb96b66b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 11:51:01 -0300 Subject: [PATCH 034/204] stp-io: aead_decrypt now returns Vec because unknown result size --- primitives/io/src/lib.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index 77db82f1c9..e2ace080a9 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -62,14 +62,17 @@ pub trait Crypto { nonce: PassPointerAndRead<&[u8; 24], 24>, msg: PassFatPointerAndRead<&[u8]>, aad: PassFatPointerAndRead<&[u8]>, - buffer: PassFatPointerAndReadWrite<&mut [u8]>, - ) -> AllocateAndReturnByCodec> { - let result = &self + ) -> AllocateAndReturnByCodec, Error>> { + Ok(self .extension::() .expect("No `shield keystore` associated for the current context!") .aead_decrypt(*key, *nonce, msg, aad) - .map_err(|e| Error::Crypto(e.to_string()))?; - buffer.copy_from_slice(result); - Ok(()) + .map_err(|e| Error::Crypto(e.to_string()))?) } } + +/// The host functions Subtensor provides for the Wasm runtime environment. +/// +/// All these host functions will be callable from inside the Wasm environment. +#[cfg(not(substrate_runtime))] +pub type SubtensorHostFunctions = (crypto::HostFunctions,); From 20560b02807dfb29ce8e5b18b6fc32f1df81c138 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 11:51:26 -0300 Subject: [PATCH 035/204] add SubtensorHostFunctions to node --- node/Cargo.toml | 1 + node/src/client.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/node/Cargo.toml b/node/Cargo.toml index e994559168..6087b9b6ce 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -78,6 +78,7 @@ sp-keystore.workspace = true polkadot-sdk = { workspace = true, features = [ "cumulus-primitives-proof-size-hostfunction", ] } +stp-io.workspace = true # These dependencies are used for the subtensor's RPCs jsonrpsee = { workspace = true, features = ["server"] } diff --git a/node/src/client.rs b/node/src/client.rs index e65683933b..94b0e90e15 100644 --- a/node/src/client.rs +++ b/node/src/client.rs @@ -16,5 +16,6 @@ pub type HostFunctions = ( frame_benchmarking::benchmarking::HostFunctions, sp_crypto_ec_utils::bls12_381::host_calls::HostFunctions, ProofSize, + stp_io::SubtensorHostFunctions, ); pub type RuntimeExecutor = WasmExecutor; From f97ffef9af4449b0beb9e926594e9b53b13d95d9 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 11:53:23 -0300 Subject: [PATCH 036/204] rework the pallet-shield --- pallets/shield/Cargo.toml | 18 +- pallets/shield/src/lib.rs | 533 ++++++++++++----------------------- primitives/shield/src/lib.rs | 4 +- 3 files changed, 194 insertions(+), 361 deletions(-) diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 1a0d9ef1f5..368cb559b2 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -15,6 +15,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { workspace = true, features = ["derive", "max-encoded-len"] } scale-info = { workspace = true, features = ["derive"] } +log.workspace = true subtensor-macros.workspace = true @@ -29,13 +30,10 @@ sp-runtime.workspace = true sp-io.workspace = true sp-std.workspace = true sp-weights.workspace = true +sp-inherents.workspace = true -# Pallets used in Config -pallet-timestamp.workspace = true -pallet-aura.workspace = true -sp-consensus-aura.workspace = true - -[dev-dependencies] +# Subtensor primitives +stp-io.workspace = true [features] default = ["std"] @@ -43,6 +41,7 @@ default = ["std"] std = [ "codec/std", "scale-info/std", + "log/std", "frame-support/std", "frame-system/std", "frame-benchmarking?/std", @@ -51,9 +50,7 @@ std = [ "sp-io/std", "sp-std/std", "sp-weights/std", - "pallet-timestamp/std", - "pallet-aura/std", - "sp-consensus-aura/std", + "stp-io/std", ] runtime-benchmarks = [ @@ -61,13 +58,10 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks", ] try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime", - "pallet-aura/try-runtime", - "pallet-timestamp/try-runtime", ] diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index e0fc250058..7044fda3fe 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -1,7 +1,20 @@ // pallets/mev-shield/src/lib.rs #![cfg_attr(not(feature = "std"), no_std)] +extern crate alloc; + +use frame_support::traits::IsSubType; +use frame_support::{pallet_prelude::*, sp_runtime::traits::Hash, traits::FindAuthor}; +use frame_system::{ensure_none, ensure_signed, pallet_prelude::*}; +use sp_runtime::Vec; +use sp_runtime::traits::Applyable; +use sp_runtime::traits::Block as BlockT; +use sp_runtime::traits::Checkable; + +use alloc::vec; + pub use pallet::*; + #[cfg(feature = "runtime-benchmarks")] mod benchmarking; @@ -11,90 +24,25 @@ pub mod mock; #[cfg(test)] mod tests; -#[frame_support::pallet] -pub mod pallet { - use super::*; - use codec::Encode; - use frame_support::{ - dispatch::{DispatchInfo, GetDispatchInfo, PostDispatchInfo}, - pallet_prelude::*, - traits::ConstU32, - traits::IsSubType, - weights::Weight, - }; - use frame_system::pallet_prelude::*; - use sp_consensus_aura::sr25519::AuthorityId as AuraAuthorityId; - use sp_core::ByteArray; - use sp_runtime::{ - AccountId32, DispatchErrorWithPostInfo, RuntimeDebug, Saturating, - traits::{ - BadOrigin, DispatchInfoOf, DispatchOriginOf, Dispatchable, Hash, Implication, - TransactionExtension, - }, - transaction_validity::{InvalidTransaction, TransactionSource, ValidTransaction}, - }; - use sp_std::{marker::PhantomData, prelude::*}; - use subtensor_macros::freeze_struct; - - /// Origin helper: ensure the signer is an Aura authority (no session/authorship). - pub struct EnsureAuraAuthority(PhantomData); - - pub trait AuthorityOriginExt { - type AccountId; - - fn ensure_validator(origin: Origin) -> Result; - } - - impl AuthorityOriginExt> for EnsureAuraAuthority - where - T: frame_system::Config - + pallet_aura::Config, - { - type AccountId = AccountId32; - - fn ensure_validator(origin: OriginFor) -> Result { - let who: AccountId32 = frame_system::ensure_signed(origin)?; +type PublicKey = BoundedVec>; - let aura_id = - ::from_slice(who.as_ref()).map_err(|_| BadOrigin)?; +type InherentType = Option>; - let is_validator = pallet_aura::Authorities::::get() - .into_iter() - .any(|id| id == aura_id); +type ExtrinsicOf = ::Extrinsic; +type CheckedOf = >::Checked; +type ApplyableCallOf = ::Call; - if is_validator { - Ok(who) - } else { - Err(BadOrigin) - } - } - } - - // ----------------- Types ----------------- - - /// AEAD‑independent commitment over the revealed payload. - #[freeze_struct("66e393c88124f360")] - #[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo, MaxEncodedLen)] - pub struct Submission { - pub author: AccountId, - pub commitment: Hash, - pub ciphertext: BoundedVec>, - pub submitted_in: BlockNumber, - } - - // ----------------- Config ----------------- +#[frame_support::pallet] +pub mod pallet { + use super::*; #[pallet::config] - pub trait Config: - frame_system::Config>> + pallet_aura::Config - { - type RuntimeCall: Parameter - + sp_runtime::traits::Dispatchable< - RuntimeOrigin = Self::RuntimeOrigin, - PostInfo = PostDispatchInfo, - > + GetDispatchInfo; + pub trait Config: frame_system::Config { + /// The identifier type for an authority. + type AuthorityId: Member + Parameter + MaybeSerializeDeserialize + MaxEncodedLen; - type AuthorityOrigin: AuthorityOriginExt; + /// A way to find the author of a block. + type FindAuthor: FindAuthor; } #[pallet::pallet] @@ -102,32 +50,20 @@ pub mod pallet { // ----------------- Storage ----------------- - /// Current ML‑KEM‑768 public key bytes (encoded form). + /// Current block author ML‑KEM‑768 public key bytes. #[pallet::storage] - pub type CurrentKey = StorageValue<_, BoundedVec>, OptionQuery>; + pub type CurrentKey = StorageValue<_, PublicKey, OptionQuery>; - /// Next ML‑KEM‑768 public key bytes, announced by the block author. + /// Current and next ML‑KEM‑768 public key bytes of all block authors. #[pallet::storage] - pub type NextKey = StorageValue<_, BoundedVec>, OptionQuery>; - - /// Buffered encrypted submissions, indexed by wrapper id. - #[pallet::storage] - pub type Submissions = StorageMap< + pub type AuthorKeys = StorageMap< _, - Blake2_128Concat, - T::Hash, - Submission, T::Hash>, + Twox64Concat, + T::AuthorityId, + (Option, Option), OptionQuery, >; - /// Hash(CurrentKey) per block, used to bind `key_hash` to the epoch at submit time. - #[pallet::storage] - pub type KeyHashByBlock = - StorageMap<_, Blake2_128Concat, BlockNumberFor, T::Hash, OptionQuery>; - - /// How many recent blocks of key-epoch hashes we retain. - const KEY_EPOCH_HISTORY: u32 = 100; - // ----------------- Events & Errors ----------------- #[pallet::event] @@ -135,36 +71,14 @@ pub mod pallet { pub enum Event { /// Encrypted wrapper accepted. EncryptedSubmitted { id: T::Hash, who: T::AccountId }, - /// Decrypted call executed. - DecryptedExecuted { id: T::Hash, signer: T::AccountId }, - /// Decrypted execution rejected. - DecryptedRejected { - id: T::Hash, - reason: DispatchErrorWithPostInfo, - }, - /// Decryption failed - validator could not decrypt the submission. - DecryptionFailed { - id: T::Hash, - reason: BoundedVec>, - }, } #[pallet::error] pub enum Error { - /// A submission with the same id already exists in `Submissions`. - SubmissionAlreadyExists, - /// The referenced submission id does not exist in `Submissions`. - MissingSubmission, - /// The recomputed commitment does not match the stored commitment. - CommitmentMismatch, - /// The provided signature over the payload is invalid. - SignatureInvalid, /// The announced ML‑KEM public key length is invalid. BadPublicKeyLen, - /// The MEV‑Shield key epoch for this submission has expired and is no longer accepted. - KeyExpired, - /// The provided `key_hash` does not match the expected epoch key hash. - KeyHashMismatch, + /// Unreachable. + Unreachable, } // ----------------- Hooks ----------------- @@ -172,68 +86,26 @@ pub mod pallet { #[pallet::hooks] impl Hooks> for Pallet { fn on_initialize(n: BlockNumberFor) -> Weight { - let db_weight = T::DbWeight::get(); - let mut reads: u64 = 0; - let mut writes: u64 = 0; - - // 1) Roll NextKey -> CurrentKey if a next key is present. - reads = reads.saturating_add(1); - writes = writes.saturating_add(1); - let mut current_opt: Option>> = - if let Some(next) = NextKey::::take() { - CurrentKey::::put(&next); - writes = writes.saturating_add(1); - Some(next) - } else { - None - }; + let mut weight = Weight::zero(); - // 2) If we didn't roll, read the existing CurrentKey exactly once. - if current_opt.is_none() { - reads = reads.saturating_add(1); - current_opt = CurrentKey::::get(); - } - - // 3) Maintain KeyHashByBlock entry for this block: - match current_opt { - Some(current) => { - let epoch_hash: T::Hash = T::Hashing::hash(current.as_ref()); - KeyHashByBlock::::insert(n, epoch_hash); - writes = writes.saturating_add(1); - } - None => { - KeyHashByBlock::::remove(n); - writes = writes.saturating_add(1); - } - } + // We clear the current key no matter what. + CurrentKey::::kill(); + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); - // 4) Prune old epoch hashes with a sliding window of size KEY_EPOCH_HISTORY. - let depth: BlockNumberFor = KEY_EPOCH_HISTORY.into(); - if n >= depth { - let prune_bn = n.saturating_sub(depth); - KeyHashByBlock::::remove(prune_bn); - writes = writes.saturating_add(1); - } - - // 5) TTL-based pruning of stale submissions. - let ttl: BlockNumberFor = KEY_EPOCH_HISTORY.into(); - let threshold: BlockNumberFor = n.saturating_sub(ttl); + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some(author) = Self::block_author() else { + return weight; + }; - let mut to_remove: Vec = Vec::new(); + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some((Some(current_key), _)) = AuthorKeys::::get(author) else { + return weight; + }; - for (id, sub) in Submissions::::iter() { - reads = reads.saturating_add(1); - if sub.submitted_in < threshold { - to_remove.push(id); - } - } + CurrentKey::::put(current_key); + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); - for id in to_remove { - Submissions::::remove(id); - writes = writes.saturating_add(1); - } - - db_weight.reads_writes(reads, writes) + weight } } @@ -242,7 +114,12 @@ pub mod pallet { #[pallet::call] impl Pallet { /// Announce the ML‑KEM public key that will become `CurrentKey` in - /// the following block. + /// the next block the current author will produce. + /// + /// Note: The public key can be `None` if the author failed to include the key in the + /// inherent data (which should never happen except node failure). In that case, we + /// store the next key as `None` to reflect that this author will not be able + /// handle encrypted transactions in his next block. #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(20_999_999_999, 0) .saturating_add(T::DbWeight::get().reads(1_u64)) @@ -250,24 +127,34 @@ pub mod pallet { #[allow(clippy::useless_conversion)] pub fn announce_next_key( origin: OriginFor, - public_key: BoundedVec>, - ) -> DispatchResultWithPostInfo { - // Only a current Aura validator may call this (signed account ∈ Aura authorities) - T::AuthorityOrigin::ensure_validator(origin)?; - - const MAX_KYBER768_PK_LENGTH: usize = 1184; - ensure!( - public_key.len() == MAX_KYBER768_PK_LENGTH, - Error::::BadPublicKeyLen - ); - - NextKey::::put(public_key); - - // Refund the fee on success by setting pays_fee = Pays::No - Ok(PostDispatchInfo { - actual_weight: None, - pays_fee: Pays::No, - }) + public_key: Option, + ) -> DispatchResult { + ensure_none(origin)?; + + let Some(author) = Self::block_author() else { + // This should never happen as we are in an inherent. + return Err(Error::::Unreachable.into()); + }; + + if let Some(public_key) = &public_key { + const MAX_KYBER768_PK_LENGTH: usize = 1184; + ensure!( + public_key.len() == MAX_KYBER768_PK_LENGTH, + Error::::BadPublicKeyLen + ); + } + + AuthorKeys::::mutate(author, |keys| { + if let Some((current_key, next_key)) = keys { + *current_key = next_key.clone(); + *next_key = public_key; + } else { + // First time we see this author. + *keys = Some((None, public_key)); + } + }); + + Ok(()) } /// Users submit an encrypted wrapper. @@ -277,8 +164,7 @@ pub mod pallet { /// 1. Read `NextKey` (ML‑KEM public key bytes) from storage. /// 2. Sign your extrinsic so that it can be executed when added to the pool, /// i.e. you may need to increment the nonce if you submit using the same account. - /// 3. `commitment = Hashing::hash(signed_extrinsic)`. - /// 4. Encrypt: + /// 3. Encrypt: /// /// plaintext = signed_extrinsic /// @@ -287,184 +173,137 @@ pub mod pallet { /// ciphertext = [u16 kem_len] || kem_ct || nonce24 || aead_ct /// #[pallet::call_index(1)] - #[pallet::weight(( - Weight::from_parts(13_980_000, 0) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)), - DispatchClass::Normal, - Pays::Yes, - ))] + #[pallet::weight(Weight::from_parts(13_980_000, 0) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)))] pub fn submit_encrypted( origin: OriginFor, - commitment: T::Hash, ciphertext: BoundedVec>, ) -> DispatchResult { let who = ensure_signed(origin)?; + let id: T::Hash = T::Hashing::hash_of(&(who.clone(), &ciphertext)); - let id: T::Hash = T::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); - let sub = Submission::, T::Hash> { - author: who.clone(), - commitment, - ciphertext, - submitted_in: >::block_number(), - }; - ensure!( - !Submissions::::contains_key(id), - Error::::SubmissionAlreadyExists - ); - Submissions::::insert(id, sub); Self::deposit_event(Event::EncryptedSubmitted { id, who }); Ok(()) } + } - /// Marks a submission as failed to decrypt and removes it from storage. - /// - /// Called by the block author when decryption fails at any stage (e.g., ML-KEM decapsulate - /// failed, AEAD decrypt failed, invalid ciphertext format, etc.). This allows clients to be - /// notified of decryption failures through on-chain events. - /// - /// # Arguments - /// - /// * `id` - The wrapper id (hash of (author, commitment, ciphertext)) - /// * `reason` - Human-readable reason for the decryption failure (e.g., "ML-KEM decapsulate failed") - #[pallet::call_index(3)] - #[pallet::weight(( - Weight::from_parts(13_260_000, 0) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)), - DispatchClass::Normal, - Pays::No - ))] - pub fn mark_decryption_failed( - origin: OriginFor, - id: T::Hash, - reason: BoundedVec>, - ) -> DispatchResult { - // Unsigned: only the author node may inject this via ValidateUnsigned. - ensure_none(origin)?; + #[pallet::inherent] + impl ProvideInherent for Pallet { + type Call = Call; + type Error = sp_inherents::MakeFatalError<()>; - // Load and consume the submission. - let Some(_sub) = Submissions::::take(id) else { - return Err(Error::::MissingSubmission.into()); - }; + const INHERENT_IDENTIFIER: [u8; 8] = *b"shieldpk"; - // Emit event to notify clients - Self::deposit_event(Event::DecryptionFailed { id, reason }); + fn create_inherent(data: &InherentData) -> Option { + let public_key = data + .get_data::(&Self::INHERENT_IDENTIFIER) + .ok()?? + .map(|pk| BoundedVec::truncate_from(pk)); - Ok(()) + Some(Call::announce_next_key { public_key }) } - } - #[pallet::validate_unsigned] - impl ValidateUnsigned for Pallet { - type Call = Call; - - fn validate_unsigned(source: TransactionSource, call: &Self::Call) -> TransactionValidity { - match call { - Call::mark_decryption_failed { id, .. } => { - match source { - TransactionSource::Local | TransactionSource::InBlock => { - ValidTransaction::with_tag_prefix("mev-shield-failed") - .priority(1u64) - .longevity(64) // long because propagate(false) - .and_provides(id) // dedupe by wrapper id - .propagate(false) // CRITICAL: no gossip, stays on author node - .build() - } - _ => InvalidTransaction::Call.into(), - } - } - _ => InvalidTransaction::Call.into(), - } + fn is_inherent(call: &Self::Call) -> bool { + matches!(call, Call::announce_next_key { .. }) } } +} - #[freeze_struct("51f74eb54f5ab1fe")] - #[derive(Default, Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] - pub struct MevShieldDecryptionFilter(pub PhantomData); +impl Pallet { + fn block_author() -> Option { + let digest = frame_system::Pallet::::digest(); + let pre_runtime_digests = digest.logs.iter().filter_map(|d| d.as_pre_runtime()); - impl sp_std::fmt::Debug for MevShieldDecryptionFilter { - fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { - write!(f, "MevShieldDecryptionFilter") - } + T::FindAuthor::find_author(pre_runtime_digests) } - impl MevShieldDecryptionFilter { - pub fn new() -> Self { - Self(PhantomData) + pub fn try_decrypt_extrinsic( + uxt: ExtrinsicOf, + ) -> Option<::Extrinsic> + where + Block: BlockT
, Hash = ::Hash>, + Block::Extrinsic: Checkable, + CheckedOf: Applyable, + ApplyableCallOf>: IsSubType>, + Context: Default, + { + const MAX_EXTRINSIC_DEPTH: u32 = 8; + + // Prevent stack overflows by limiting the depth of the extrinsic. + let encoded = uxt.encode(); + let uxt = ::decode_all_with_depth_limit( + MAX_EXTRINSIC_DEPTH, + &mut &encoded[..], + ) + .inspect_err(|e| log::error!("Failed to decode extrinsic: {:?}", e)) + .ok()?; + + // Verify that the signature is good. + let xt = ExtrinsicOf::::check(uxt, &Context::default()) + .inspect_err(|e| log::error!("Failed to check extrinsic: {:?}", e)) + .ok()?; + let call = xt.call(); + + let Some(Call::submit_encrypted { ciphertext, .. }) = + IsSubType::>::is_sub_type(call) + else { + return None; + }; + + log::info!("Submit encrypted received: {}", ciphertext.len()); + + if ciphertext.len() < 2 { + return None; } - #[inline] - fn mev_failed_priority() -> TransactionPriority { - 1u64 + let m = EncryptedMessage::parse(&ciphertext)?; + let mut shared_secret = [0u8; 32]; + + stp_io::crypto::mlkem768_decapsulate(&m.kem, &mut shared_secret).ok()?; + let plaintext = + stp_io::crypto::aead_decrypt(&shared_secret, &m.nonce, &m.aead, &[]).ok()?; + + if plaintext.is_empty() { + return None; } + + let signed_xt = ExtrinsicOf::::decode(&mut &plaintext[..]).ok()?; + log::info!("Decrypted extrinsic: {:?}", signed_xt); + + None } +} - impl TransactionExtension> - for MevShieldDecryptionFilter - where - ::RuntimeCall: - Dispatchable, - ::RuntimeCall: IsSubType>, - { - const IDENTIFIER: &'static str = "MevShieldDecryptionFilter"; +#[derive(Debug)] +struct EncryptedMessage { + kem: Vec, + aead: Vec, + nonce: [u8; 24], +} - type Implicit = (); - type Val = (); - type Pre = (); +impl EncryptedMessage { + fn parse(ciphertext: &[u8]) -> Option { + let mut cursor: usize = 0; - fn weight(&self, _call: &RuntimeCallFor) -> Weight { - // Only does light pattern matching; treat as free. - Weight::zero() - } + let kem_len_end = cursor.checked_add(2)?; + let kem_len_slice = ciphertext.get(cursor..kem_len_end)?; + let kem_len_bytes: [u8; 2] = kem_len_slice.try_into().ok()?; + let kem_len = u16::from_le_bytes(kem_len_bytes) as usize; + cursor = kem_len_end; - fn validate( - &self, - origin: DispatchOriginOf>, - call: &RuntimeCallFor, - _info: &DispatchInfoOf>, - _len: usize, - _self_implicit: Self::Implicit, - _inherited_implication: &impl Implication, - source: TransactionSource, - ) -> ValidateResult> { - match call.is_sub_type() { - Some(Call::mark_decryption_failed { id, .. }) => { - match source { - TransactionSource::Local | TransactionSource::InBlock => { - let validity_res = - ValidTransaction::with_tag_prefix("mev-shield-failed") - .priority(Self::mev_failed_priority()) - .longevity(64) - .and_provides(id) - .propagate(false) - .build(); - - match validity_res { - Ok(validity) => Ok((validity, (), origin)), - Err(e) => Err(e), - } - } - - // Anything coming from the outside world (including *signed* - // transactions) is rejected at the pool boundary. - _ => Err(InvalidTransaction::Call.into()), - } - } + let kem_end = cursor.checked_add(kem_len)?; + let kem = ciphertext.get(cursor..kem_end)?.to_vec(); + cursor = kem_end; - _ => Ok((Default::default(), (), origin)), - } - } + const NONCE_LEN: usize = 24; + let nonce_end = cursor.checked_add(NONCE_LEN)?; + let nonce_bytes = ciphertext.get(cursor..nonce_end)?; + let nonce: [u8; NONCE_LEN] = nonce_bytes.try_into().ok()?; + cursor = nonce_end; - fn prepare( - self, - _val: Self::Val, - _origin: &DispatchOriginOf>, - _call: &RuntimeCallFor, - _info: &DispatchInfoOf>, - _len: usize, - ) -> Result { - Ok(()) - } + let aead = ciphertext.get(cursor..)?.to_vec(); + + Some(Self { kem, aead, nonce }) } } diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs index f5afb3e809..f845bc30ed 100644 --- a/primitives/shield/src/lib.rs +++ b/primitives/shield/src/lib.rs @@ -88,7 +88,7 @@ sp_externalities::decl_extension! { } impl ShieldKeystoreExt { - pub fn new(keystore: T) -> Self { - Self(Arc::new(keystore)) + pub fn from(keystore: ShieldKeystorePtr) -> Self { + Self(keystore) } } From 8190c14b2736918a29f5bbfe66259e7bb3c6fef1 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 11:54:18 -0300 Subject: [PATCH 037/204] implement stp_shield::ShieldApi Runtime API --- runtime/Cargo.toml | 9 +++------ runtime/src/lib.rs | 26 ++++++++++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 6287820c0b..f726b5320a 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -59,6 +59,7 @@ sp-authority-discovery.workspace = true subtensor-runtime-common.workspace = true subtensor-precompiles.workspace = true sp-debug-derive = { workspace = true, features = ["force-debug"] } +stp-io.workspace = true # Temporary sudo pallet-sudo.workspace = true @@ -152,9 +153,7 @@ pallet-crowdloan.workspace = true # Mev Shield pallet-shield.workspace = true -pallet-shield-runtime-api.workspace = true -chacha20poly1305.workspace = true -ml-kem.workspace = true +stp-shield.workspace = true ethereum.workspace = true @@ -280,9 +279,7 @@ std = [ "subtensor-chain-extensions/std", "ethereum/std", "pallet-shield/std", - "pallet-shield-runtime-api/std", - "chacha20poly1305/std", - "ml-kem/std", + "stp-shield/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 5f87de9108..1acf847cd2 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -124,8 +124,8 @@ impl frame_system::offchain::SigningTypes for Runtime { } impl pallet_shield::Config for Runtime { - type RuntimeCall = RuntimeCall; - type AuthorityOrigin = pallet_shield::EnsureAuraAuthority; + type AuthorityId = AuraId; + type FindAuthor = pallet_aura::FindAccountFromAuthorIndex; } parameter_types! { @@ -1669,11 +1669,17 @@ pub type CheckedExtrinsic = // The payload being signed in transactions. pub type SignedPayload = generic::SignedPayload; -// Context for the executive. -pub type Context = frame_system::ChainContext; +// Chain context for the executive. +pub type ChainContext = frame_system::ChainContext; // Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + ChainContext, + Runtime, + AllPalletsWithSystem, + Migrations, +>; #[cfg(feature = "runtime-benchmarks")] #[macro_use] @@ -2577,6 +2583,14 @@ impl_runtime_apis! { ) } } + + impl stp_shield::ShieldApi for Runtime { + fn try_decrypt_extrinsic( + uxt: ::Extrinsic, + ) -> Option<::Extrinsic> { + MevShield::try_decrypt_extrinsic::(uxt) + } + } } #[test] From dc76f8268ebfb0daa21aa905dad3527894ee89a0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 14:54:55 -0300 Subject: [PATCH 038/204] pallet-shield: expose Current and Next keys --- pallets/shield/src/lib.rs | 66 +++++++++++++++++++++++++-------------- primitives/io/src/lib.rs | 3 +- runtime/src/lib.rs | 21 ++++++++++++- 3 files changed, 64 insertions(+), 26 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 7044fda3fe..b843e9b858 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -4,7 +4,7 @@ extern crate alloc; use frame_support::traits::IsSubType; -use frame_support::{pallet_prelude::*, sp_runtime::traits::Hash, traits::FindAuthor}; +use frame_support::{pallet_prelude::*, sp_runtime::traits::Hash}; use frame_system::{ensure_none, ensure_signed, pallet_prelude::*}; use sp_runtime::Vec; use sp_runtime::traits::Applyable; @@ -41,8 +41,8 @@ pub mod pallet { /// The identifier type for an authority. type AuthorityId: Member + Parameter + MaybeSerializeDeserialize + MaxEncodedLen; - /// A way to find the author of a block. - type FindAuthor: FindAuthor; + /// A way to find the current and next author of a block. + type FindAuthors: FindAuthors; } #[pallet::pallet] @@ -54,6 +54,10 @@ pub mod pallet { #[pallet::storage] pub type CurrentKey = StorageValue<_, PublicKey, OptionQuery>; + // Next block author ML‑KEM‑768 public key bytes. + #[pallet::storage] + pub type NextKey = StorageValue<_, PublicKey, OptionQuery>; + /// Current and next ML‑KEM‑768 public key bytes of all block authors. #[pallet::storage] pub type AuthorKeys = StorageMap< @@ -88,22 +92,20 @@ pub mod pallet { fn on_initialize(n: BlockNumberFor) -> Weight { let mut weight = Weight::zero(); - // We clear the current key no matter what. + // We clear the current key and next key no matter what. CurrentKey::::kill(); - weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); - - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some(author) = Self::block_author() else { - return weight; - }; + NextKey::::kill(); + weight = weight.saturating_add(T::DbWeight::get().writes(2_u64)); - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some((Some(current_key), _)) = AuthorKeys::::get(author) else { - return weight; - }; + weight = weight.saturating_add(Self::try_roll_key( + T::FindAuthors::find_current_author, + |key| CurrentKey::::put(key), + )); - CurrentKey::::put(current_key); - weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); + weight = weight.saturating_add(Self::try_roll_key( + T::FindAuthors::find_next_author, + |key| NextKey::::put(key), + )); weight } @@ -131,10 +133,9 @@ pub mod pallet { ) -> DispatchResult { ensure_none(origin)?; - let Some(author) = Self::block_author() else { + let author = T::FindAuthors::find_current_author() // This should never happen as we are in an inherent. - return Err(Error::::Unreachable.into()); - }; + .ok_or_else(|| Error::::Unreachable)?; if let Some(public_key) = &public_key { const MAX_KYBER768_PK_LENGTH: usize = 1184; @@ -211,11 +212,25 @@ pub mod pallet { } impl Pallet { - fn block_author() -> Option { - let digest = frame_system::Pallet::::digest(); - let pre_runtime_digests = digest.logs.iter().filter_map(|d| d.as_pre_runtime()); + pub fn try_roll_key( + who: impl Fn() -> Option, + put: impl Fn(PublicKey) -> (), + ) -> Weight { + let mut weight = Weight::zero(); + + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some(author) = who() else { + return weight; + }; - T::FindAuthor::find_author(pre_runtime_digests) + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some((Some(key), _)) = AuthorKeys::::get(author) else { + return weight; + }; + + put(key); + + weight } pub fn try_decrypt_extrinsic( @@ -307,3 +322,8 @@ impl EncryptedMessage { Some(Self { kem, aead, nonce }) } } + +pub trait FindAuthors { + fn find_current_author() -> Option; + fn find_next_author() -> Option; +} diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index e2ace080a9..d40e74edd9 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -9,8 +9,7 @@ extern crate alloc; use codec::{Decode, Encode}; use sp_runtime_interface::{ pass_by::{ - AllocateAndReturnByCodec, PassFatPointerAndRead, PassFatPointerAndReadWrite, - PassPointerAndRead, PassPointerAndWrite, + AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndRead, PassPointerAndWrite, }, runtime_interface, }; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 1acf847cd2..f184e70276 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -123,9 +123,28 @@ impl frame_system::offchain::SigningTypes for Runtime { type Signature = Signature; } +pub struct FindAuraAuthors; +impl pallet_shield::FindAuthors for FindAuraAuthors { + fn find_current_author() -> Option { + let slot = Aura::current_slot_from_digests()?; + let authorities = pallet_aura::Authorities::::get().into_inner(); + let author_index = *slot % authorities.len() as u64; + + authorities.get(author_index as usize).cloned() + } + + fn find_next_author() -> Option { + let next_slot = Aura::current_slot_from_digests()?.checked_add(1)?; + let authorities = pallet_aura::Authorities::::get().into_inner(); + let next_author_index = next_slot % authorities.len() as u64; + + authorities.get(next_author_index as usize).cloned() + } +} + impl pallet_shield::Config for Runtime { type AuthorityId = AuraId; - type FindAuthor = pallet_aura::FindAccountFromAuthorIndex; + type FindAuthors = FindAuraAuthors; } parameter_types! { From 930c47cc3bc8e7357a10f3c41ac43b323ac6065c Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 23:17:55 -0300 Subject: [PATCH 039/204] pallet-shield: tx ext to filter based on used key --- pallets/shield/src/extension.rs | 77 +++++++++++++++++++++++++++++++++ pallets/shield/src/lib.rs | 57 ++++++++---------------- runtime/src/lib.rs | 3 +- 3 files changed, 98 insertions(+), 39 deletions(-) create mode 100644 pallets/shield/src/extension.rs diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs new file mode 100644 index 0000000000..8df919d4fe --- /dev/null +++ b/pallets/shield/src/extension.rs @@ -0,0 +1,77 @@ +use crate::{Call, Config, KEY_HASH_LEN, NextKey}; +use codec::{Decode, DecodeWithMemTracking, Encode}; +use frame_support::pallet_prelude::*; +use frame_support::traits::IsSubType; +use scale_info::TypeInfo; +use sp_io::hashing::twox_128; +use sp_runtime::impl_tx_ext_default; +use sp_runtime::traits::{ + AsSystemOriginSigner, DispatchInfoOf, Dispatchable, Implication, TransactionExtension, + ValidateResult, +}; +use sp_runtime::transaction_validity::TransactionSource; +use subtensor_macros::freeze_struct; + +#[freeze_struct("316ffb58250f9f1b")] +#[derive(Default, Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] +pub struct CheckShieldTxValidity(PhantomData); + +impl sp_std::fmt::Debug for CheckShieldTxValidity { + fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + write!(f, "CheckShieldTxValidity") + } +} + +impl + TransactionExtension<::RuntimeCall> for CheckShieldTxValidity +where + ::RuntimeCall: Dispatchable + IsSubType>, + ::RuntimeOrigin: AsSystemOriginSigner, +{ + const IDENTIFIER: &'static str = "CheckShieldTxValidity"; + + type Implicit = (); + type Val = (); + type Pre = (); + + impl_tx_ext_default!(::RuntimeCall; weight prepare); + + fn validate( + &self, + origin: ::RuntimeOrigin, + call: &::RuntimeCall, + _info: &DispatchInfoOf<::RuntimeCall>, + _len: usize, + _self_implicit: Self::Implicit, + _inherited_implication: &impl Implication, + _source: TransactionSource, + ) -> ValidateResult::RuntimeCall> { + // Ensure the transaction is signed, else we just skip the extension. + let Some(_who) = origin.as_system_origin_signer() else { + return Ok((Default::default(), (), origin)); + }; + + // Ensure the transaction is encrypted + let Some(Call::submit_encrypted { ciphertext }) = IsSubType::>::is_sub_type(call) + else { + return Err(InvalidTransaction::BadSigner.into()); + }; + + if ciphertext.len() < KEY_HASH_LEN { + return Err(InvalidTransaction::BadProof.into()); + } + + let key_hash: &[u8] = ciphertext[..KEY_HASH_LEN] + .try_into() + .map_err(|_| InvalidTransaction::BadProof)?; + + let next_key_hash = NextKey::::get().map(|key| twox_128(&key.into_inner()[..])); + + // The transaction must be encrypted with the next key or we discard it + if next_key_hash.is_none() || next_key_hash.is_some_and(|hash| hash != key_hash) { + return Err(InvalidTransaction::BadProof)?; + } + + Ok((Default::default(), (), origin)) + } +} diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index b843e9b858..523da681ea 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -24,6 +24,10 @@ pub mod mock; #[cfg(test)] mod tests; +mod extension; + +const KEY_HASH_LEN: usize = 16; + type PublicKey = BoundedVec>; type InherentType = Option>; @@ -41,7 +45,7 @@ pub mod pallet { /// The identifier type for an authority. type AuthorityId: Member + Parameter + MaybeSerializeDeserialize + MaxEncodedLen; - /// A way to find the current and next author of a block. + /// A way to find the current and next block author. type FindAuthors: FindAuthors; } @@ -50,10 +54,6 @@ pub mod pallet { // ----------------- Storage ----------------- - /// Current block author ML‑KEM‑768 public key bytes. - #[pallet::storage] - pub type CurrentKey = StorageValue<_, PublicKey, OptionQuery>; - // Next block author ML‑KEM‑768 public key bytes. #[pallet::storage] pub type NextKey = StorageValue<_, PublicKey, OptionQuery>; @@ -89,23 +89,25 @@ pub mod pallet { #[pallet::hooks] impl Hooks> for Pallet { - fn on_initialize(n: BlockNumberFor) -> Weight { + fn on_initialize(_n: BlockNumberFor) -> Weight { let mut weight = Weight::zero(); - // We clear the current key and next key no matter what. - CurrentKey::::kill(); + // We clear the next key no matter what happens next. NextKey::::kill(); - weight = weight.saturating_add(T::DbWeight::get().writes(2_u64)); + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); + + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some(author) = T::FindAuthors::find_next_author() else { + return weight; + }; - weight = weight.saturating_add(Self::try_roll_key( - T::FindAuthors::find_current_author, - |key| CurrentKey::::put(key), - )); + weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); + let Some((Some(key), _)) = AuthorKeys::::get(author) else { + return weight; + }; - weight = weight.saturating_add(Self::try_roll_key( - T::FindAuthors::find_next_author, - |key| NextKey::::put(key), - )); + NextKey::::put(key); + weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); weight } @@ -212,27 +214,6 @@ pub mod pallet { } impl Pallet { - pub fn try_roll_key( - who: impl Fn() -> Option, - put: impl Fn(PublicKey) -> (), - ) -> Weight { - let mut weight = Weight::zero(); - - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some(author) = who() else { - return weight; - }; - - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some((Some(key), _)) = AuthorKeys::::get(author) else { - return weight; - }; - - put(key); - - weight - } - pub fn try_decrypt_extrinsic( uxt: ExtrinsicOf, ) -> Option<::Extrinsic> diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index f184e70276..af8d6b5f94 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1664,7 +1664,8 @@ pub type TransactionExtensions = ( frame_system::CheckWeight, ChargeTransactionPaymentWrapper, SudoTransactionExtension, - pallet_subtensor::SubtensorTransactionExtension, + pallet_shield::CheckEncryptedTx, + pallet_subtensor::transaction_extension::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, frame_metadata_hash_extension::CheckMetadataHash, ); From 211220e556bb6bb74a5a6a39d1b3937f31a33d79 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 23:42:48 -0300 Subject: [PATCH 040/204] pallet-shield: fix shielded transaction format --- pallets/shield/src/extension.rs | 13 +++----- pallets/shield/src/lib.rs | 58 +++++++++++++++++++++------------ 2 files changed, 43 insertions(+), 28 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 8df919d4fe..edf8e05f01 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -1,4 +1,4 @@ -use crate::{Call, Config, KEY_HASH_LEN, NextKey}; +use crate::{Call, Config, NextKey, ShieldedTransaction}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::pallet_prelude::*; use frame_support::traits::IsSubType; @@ -57,18 +57,15 @@ where return Err(InvalidTransaction::BadSigner.into()); }; - if ciphertext.len() < KEY_HASH_LEN { + let Some(shielded_tx) = ShieldedTransaction::parse(&ciphertext) else { return Err(InvalidTransaction::BadProof.into()); - } - - let key_hash: &[u8] = ciphertext[..KEY_HASH_LEN] - .try_into() - .map_err(|_| InvalidTransaction::BadProof)?; + }; let next_key_hash = NextKey::::get().map(|key| twox_128(&key.into_inner()[..])); // The transaction must be encrypted with the next key or we discard it - if next_key_hash.is_none() || next_key_hash.is_some_and(|hash| hash != key_hash) { + if next_key_hash.is_none() || next_key_hash.is_some_and(|hash| hash != shielded_tx.key_hash) + { return Err(InvalidTransaction::BadProof)?; } diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 523da681ea..2d341df86d 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -253,12 +253,18 @@ impl Pallet { return None; } - let m = EncryptedMessage::parse(&ciphertext)?; + let shielded_tx = ShieldedTransaction::parse(&ciphertext)?; + let mut shared_secret = [0u8; 32]; + stp_io::crypto::mlkem768_decapsulate(&shielded_tx.kem_ct, &mut shared_secret).ok()?; - stp_io::crypto::mlkem768_decapsulate(&m.kem, &mut shared_secret).ok()?; - let plaintext = - stp_io::crypto::aead_decrypt(&shared_secret, &m.nonce, &m.aead, &[]).ok()?; + let plaintext = stp_io::crypto::aead_decrypt( + &shared_secret, + &shielded_tx.nonce, + &shielded_tx.aead_ct, + &[], + ) + .ok()?; if plaintext.is_empty() { return None; @@ -272,35 +278,47 @@ impl Pallet { } #[derive(Debug)] -struct EncryptedMessage { - kem: Vec, - aead: Vec, +pub(crate) struct ShieldedTransaction { + pub(crate) key_hash: [u8; KEY_HASH_LEN], + kem_ct: Vec, + aead_ct: Vec, nonce: [u8; 24], } -impl EncryptedMessage { +impl ShieldedTransaction { fn parse(ciphertext: &[u8]) -> Option { let mut cursor: usize = 0; - let kem_len_end = cursor.checked_add(2)?; - let kem_len_slice = ciphertext.get(cursor..kem_len_end)?; - let kem_len_bytes: [u8; 2] = kem_len_slice.try_into().ok()?; - let kem_len = u16::from_le_bytes(kem_len_bytes) as usize; - cursor = kem_len_end; + let key_hash_end = cursor.checked_add(KEY_HASH_LEN)?; + let key_hash: [u8; KEY_HASH_LEN] = ciphertext.get(cursor..key_hash_end)?.try_into().ok()?; + cursor = key_hash_end; + + let kem_ct_len_end = cursor.checked_add(2)?; + let kem_ct_len = ciphertext + .get(cursor..kem_ct_len_end)? + .try_into() + .map(u16::from_le_bytes) + .ok()? + .into(); + cursor = kem_ct_len_end; - let kem_end = cursor.checked_add(kem_len)?; - let kem = ciphertext.get(cursor..kem_end)?.to_vec(); - cursor = kem_end; + let kem_ct_end = cursor.checked_add(kem_ct_len)?; + let kem_ct = ciphertext.get(cursor..kem_ct_end)?.to_vec(); + cursor = kem_ct_end; const NONCE_LEN: usize = 24; let nonce_end = cursor.checked_add(NONCE_LEN)?; - let nonce_bytes = ciphertext.get(cursor..nonce_end)?; - let nonce: [u8; NONCE_LEN] = nonce_bytes.try_into().ok()?; + let nonce = ciphertext.get(cursor..nonce_end)?.try_into().ok()?; cursor = nonce_end; - let aead = ciphertext.get(cursor..)?.to_vec(); + let aead_ct = ciphertext.get(cursor..)?.to_vec(); - Some(Self { kem, aead, nonce }) + Some(Self { + key_hash, + kem_ct, + aead_ct, + nonce, + }) } } From 0de248c4ec5926d14807090841f9e60d5351ce01 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 10 Feb 2026 23:55:20 -0300 Subject: [PATCH 041/204] some renaming --- pallets/shield/src/extension.rs | 12 ++++++------ pallets/shield/src/lib.rs | 1 + runtime/src/lib.rs | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index edf8e05f01..8ac8a7efea 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -12,23 +12,23 @@ use sp_runtime::traits::{ use sp_runtime::transaction_validity::TransactionSource; use subtensor_macros::freeze_struct; -#[freeze_struct("316ffb58250f9f1b")] +#[freeze_struct("dabd89c6963de25d")] #[derive(Default, Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] -pub struct CheckShieldTxValidity(PhantomData); +pub struct CheckShieldedTxValidity(PhantomData); -impl sp_std::fmt::Debug for CheckShieldTxValidity { +impl sp_std::fmt::Debug for CheckShieldedTxValidity { fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { - write!(f, "CheckShieldTxValidity") + write!(f, "CheckShieldedTxValidity") } } impl - TransactionExtension<::RuntimeCall> for CheckShieldTxValidity + TransactionExtension<::RuntimeCall> for CheckShieldedTxValidity where ::RuntimeCall: Dispatchable + IsSubType>, ::RuntimeOrigin: AsSystemOriginSigner, { - const IDENTIFIER: &'static str = "CheckShieldTxValidity"; + const IDENTIFIER: &'static str = "CheckShieldedTxValidity"; type Implicit = (); type Val = (); diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 2d341df86d..0cc3b328b8 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -25,6 +25,7 @@ pub mod mock; mod tests; mod extension; +pub use extension::CheckShieldedTxValidity; const KEY_HASH_LEN: usize = 16; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index af8d6b5f94..e186c40f99 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1664,7 +1664,7 @@ pub type TransactionExtensions = ( frame_system::CheckWeight, ChargeTransactionPaymentWrapper, SudoTransactionExtension, - pallet_shield::CheckEncryptedTx, + pallet_shield::CheckShieldedTxValidity, pallet_subtensor::transaction_extension::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, frame_metadata_hash_extension::CheckMetadataHash, From 69c45dae0fa48443f8a0b80c3231cbdd240ec8d1 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 11 Feb 2026 10:19:43 -0300 Subject: [PATCH 042/204] fix some tx extensions org --- node/src/benchmarking.rs | 34 +++++++++-------- pallets/shield/src/extension.rs | 6 +++ pallets/subtensor/src/lib.rs | 3 ++ runtime/src/lib.rs | 43 +++++++++++++--------- runtime/src/transaction_payment_wrapper.rs | 27 ++++++++------ 5 files changed, 69 insertions(+), 44 deletions(-) diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 02e31e750e..7ca33a82e9 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -124,23 +124,25 @@ pub fn create_benchmark_extrinsic( .checked_next_power_of_two() .map(|c| c / 2) .unwrap_or(2) as u64; - let extra: runtime::TransactionExtensions = ( - frame_system::CheckNonZeroSender::::new(), - frame_system::CheckSpecVersion::::new(), - frame_system::CheckTxVersion::::new(), - frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(sp_runtime::generic::Era::mortal( - period, - best_block.saturated_into(), - )), - check_nonce::CheckNonce::::from(nonce), - frame_system::CheckWeight::::new(), - transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + let extra: runtime::TxExtension = ( + ( + frame_system::CheckNonZeroSender::::new(), + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(sp_runtime::generic::Era::mortal( + period, + best_block.saturated_into(), + )), + check_nonce::CheckNonce::::from(nonce), + frame_system::CheckWeight::::new(), + ), + ( + transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new(0), + sudo_wrapper::SudoTransactionExtension::::new(), + pallet_subtensor::SubtensorTransactionExtension::::new(), + pallet_drand::drand_priority::DrandPriority::::new(), ), - sudo_wrapper::SudoTransactionExtension::::new(), - pallet_subtensor::SubtensorTransactionExtension::::new(), - pallet_drand::drand_priority::DrandPriority::::new(), frame_metadata_hash_extension::CheckMetadataHash::::new(true), ); diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 8ac8a7efea..132d10c744 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -16,6 +16,12 @@ use subtensor_macros::freeze_struct; #[derive(Default, Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] pub struct CheckShieldedTxValidity(PhantomData); +impl CheckShieldedTxValidity { + pub fn new() -> Self { + Self(Default::default()) + } +} + impl sp_std::fmt::Debug for CheckShieldedTxValidity { fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { write!(f, "CheckShieldedTxValidity") diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index c0000d2662..167a9b2ee8 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -54,6 +54,9 @@ pub use guards::*; #[cfg(test)] pub(crate) mod tests; +pub mod transaction_extension; +pub use transaction_extension::SubtensorTransactionExtension; + // apparently this is stabilized since rust 1.36 extern crate alloc; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e186c40f99..de7afab06c 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -184,20 +184,23 @@ impl frame_system::offchain::CreateSignedTransaction use sp_runtime::traits::StaticLookup; let address = ::Lookup::unlookup(account.clone()); - let extra: TransactionExtensions = ( - frame_system::CheckNonZeroSender::::new(), - frame_system::CheckSpecVersion::::new(), - frame_system::CheckTxVersion::::new(), - frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(Era::Immortal), - check_nonce::CheckNonce::::from(nonce).into(), - frame_system::CheckWeight::::new(), - ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + let extra: TxExtension = ( + ( + frame_system::CheckNonZeroSender::::new(), + frame_system::CheckSpecVersion::::new(), + frame_system::CheckTxVersion::::new(), + frame_system::CheckGenesis::::new(), + frame_system::CheckEra::::from(Era::Immortal), + check_nonce::CheckNonce::::from(nonce).into(), + frame_system::CheckWeight::::new(), + ), + ( + ChargeTransactionPaymentWrapper::new(0), + SudoTransactionExtension::::new(), + pallet_shield::CheckShieldedTxValidity::::new(), + pallet_subtensor::SubtensorTransactionExtension::::new(), + pallet_drand::drand_priority::DrandPriority::::new(), ), - SudoTransactionExtension::::new(), - pallet_subtensor::SubtensorTransactionExtension::::new(), - pallet_drand::drand_priority::DrandPriority::::new(), frame_metadata_hash_extension::CheckMetadataHash::::new(true), ); @@ -1654,7 +1657,7 @@ pub type Header = generic::Header; // Block type as expected by this runtime. pub type Block = generic::Block; // The extensions to the basic transaction logic. -pub type TransactionExtensions = ( +pub type SystemTxExtension = ( frame_system::CheckNonZeroSender, frame_system::CheckSpecVersion, frame_system::CheckTxVersion, @@ -1662,11 +1665,17 @@ pub type TransactionExtensions = ( frame_system::CheckEra, check_nonce::CheckNonce, frame_system::CheckWeight, +); +pub type CustomTxExtension = ( ChargeTransactionPaymentWrapper, SudoTransactionExtension, pallet_shield::CheckShieldedTxValidity, pallet_subtensor::transaction_extension::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, +); +pub type TxExtension = ( + SystemTxExtension, + CustomTxExtension, frame_metadata_hash_extension::CheckMetadataHash, ); @@ -1680,14 +1689,14 @@ type Migrations = ( // Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = - fp_self_contained::UncheckedExtrinsic; + fp_self_contained::UncheckedExtrinsic; /// Extrinsic type that has already been checked. pub type CheckedExtrinsic = - fp_self_contained::CheckedExtrinsic; + fp_self_contained::CheckedExtrinsic; // The payload being signed in transactions. -pub type SignedPayload = generic::SignedPayload; +pub type SignedPayload = generic::SignedPayload; // Chain context for the executive. pub type ChainContext = frame_system::ChainContext; diff --git a/runtime/src/transaction_payment_wrapper.rs b/runtime/src/transaction_payment_wrapper.rs index 96d7f3609b..c59e3dbba1 100644 --- a/runtime/src/transaction_payment_wrapper.rs +++ b/runtime/src/transaction_payment_wrapper.rs @@ -3,6 +3,7 @@ use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_election_provider_support::private::sp_arithmetic::traits::SaturatedConversion; use frame_support::dispatch::{DispatchClass, DispatchInfo, PostDispatchInfo}; use frame_support::pallet_prelude::TypeInfo; +use pallet_transaction_payment::OnChargeTransaction; use pallet_transaction_payment::{ChargeTransactionPayment, Config, Pre, Val}; use sp_runtime::DispatchResult; use sp_runtime::traits::{ @@ -15,11 +16,13 @@ use sp_runtime::transaction_validity::{ use sp_std::vec::Vec; use subtensor_macros::freeze_struct; -#[freeze_struct("5f10cb9db06873c0")] +type BalanceOf = <::OnChargeTransaction as OnChargeTransaction>::Balance; + +#[freeze_struct("f003cde1f9da4a90")] #[derive(Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct ChargeTransactionPaymentWrapper { - charge_transaction_payment: ChargeTransactionPayment, + inner: ChargeTransactionPayment, } impl core::fmt::Debug for ChargeTransactionPaymentWrapper { @@ -33,11 +36,14 @@ impl core::fmt::Debug for ChargeTransactionPaymentWrapper { } } -impl ChargeTransactionPaymentWrapper { - pub fn new(charge_transaction_payment: ChargeTransactionPayment) -> Self { - Self { - charge_transaction_payment, - } +impl ChargeTransactionPaymentWrapper +where + T::RuntimeCall: Dispatchable, + BalanceOf: Send + Sync, +{ + pub fn new(fee: BalanceOf) -> Self { + let inner = ChargeTransactionPayment::::from(fee); + Self { inner } } } @@ -51,7 +57,7 @@ where type Pre = Pre; fn weight(&self, call: &T::RuntimeCall) -> Weight { - self.charge_transaction_payment.weight(call) + self.inner.weight(call) } fn validate( @@ -64,7 +70,7 @@ where inherited_implication: &impl Implication, source: TransactionSource, ) -> ValidateResult { - let inner_validate = self.charge_transaction_payment.validate( + let inner_validate = self.inner.validate( origin, call, info, @@ -101,8 +107,7 @@ where info: &DispatchInfoOf, len: usize, ) -> Result { - self.charge_transaction_payment - .prepare(val, origin, call, info, len) + self.inner.prepare(val, origin, call, info, len) } fn metadata() -> Vec { ChargeTransactionPayment::::metadata() From 9e02c5a36cdefce9692112e7597198a03a024252 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 11 Feb 2026 11:12:53 -0300 Subject: [PATCH 043/204] move ShieldedTransaction to shield/primitives --- pallets/shield/Cargo.toml | 1 + pallets/shield/src/lib.rs | 71 +++------------------ primitives/shield/Cargo.toml | 1 + primitives/shield/src/keystore.rs | 89 ++++++++++++++++++++++++++ primitives/shield/src/lib.rs | 94 ++-------------------------- primitives/shield/src/runtime_api.rs | 7 ++- primitives/shield/src/shielded_tx.rs | 55 ++++++++++++++++ 7 files changed, 165 insertions(+), 153 deletions(-) create mode 100644 primitives/shield/src/keystore.rs create mode 100644 primitives/shield/src/shielded_tx.rs diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 368cb559b2..f47f33445d 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -34,6 +34,7 @@ sp-inherents.workspace = true # Subtensor primitives stp-io.workspace = true +stp-shield.workspace = true [features] default = ["std"] diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 0cc3b328b8..a8176abdaa 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -10,6 +10,7 @@ use sp_runtime::Vec; use sp_runtime::traits::Applyable; use sp_runtime::traits::Block as BlockT; use sp_runtime::traits::Checkable; +use stp_shield::ShieldedTransaction; use alloc::vec; @@ -27,8 +28,6 @@ mod tests; mod extension; pub use extension::CheckShieldedTxValidity; -const KEY_HASH_LEN: usize = 16; - type PublicKey = BoundedVec>; type InherentType = Option>; @@ -215,15 +214,13 @@ pub mod pallet { } impl Pallet { - pub fn try_decrypt_extrinsic( + pub fn try_unshield_tx( uxt: ExtrinsicOf, - ) -> Option<::Extrinsic> + ) -> Option where - Block: BlockT
, Hash = ::Hash>, Block::Extrinsic: Checkable, CheckedOf: Applyable, ApplyableCallOf>: IsSubType>, - Context: Default, { const MAX_EXTRINSIC_DEPTH: u32 = 8; @@ -248,14 +245,12 @@ impl Pallet { return None; }; - log::info!("Submit encrypted received: {}", ciphertext.len()); - - if ciphertext.len() < 2 { - return None; - } - - let shielded_tx = ShieldedTransaction::parse(&ciphertext)?; + ShieldedTransaction::parse(&ciphertext) + } + pub fn try_decrypt_shielded_tx( + shielded_tx: ShieldedTransaction, + ) -> Option<::Extrinsic> { let mut shared_secret = [0u8; 32]; stp_io::crypto::mlkem768_decapsulate(&shielded_tx.kem_ct, &mut shared_secret).ok()?; @@ -271,55 +266,7 @@ impl Pallet { return None; } - let signed_xt = ExtrinsicOf::::decode(&mut &plaintext[..]).ok()?; - log::info!("Decrypted extrinsic: {:?}", signed_xt); - - None - } -} - -#[derive(Debug)] -pub(crate) struct ShieldedTransaction { - pub(crate) key_hash: [u8; KEY_HASH_LEN], - kem_ct: Vec, - aead_ct: Vec, - nonce: [u8; 24], -} - -impl ShieldedTransaction { - fn parse(ciphertext: &[u8]) -> Option { - let mut cursor: usize = 0; - - let key_hash_end = cursor.checked_add(KEY_HASH_LEN)?; - let key_hash: [u8; KEY_HASH_LEN] = ciphertext.get(cursor..key_hash_end)?.try_into().ok()?; - cursor = key_hash_end; - - let kem_ct_len_end = cursor.checked_add(2)?; - let kem_ct_len = ciphertext - .get(cursor..kem_ct_len_end)? - .try_into() - .map(u16::from_le_bytes) - .ok()? - .into(); - cursor = kem_ct_len_end; - - let kem_ct_end = cursor.checked_add(kem_ct_len)?; - let kem_ct = ciphertext.get(cursor..kem_ct_end)?.to_vec(); - cursor = kem_ct_end; - - const NONCE_LEN: usize = 24; - let nonce_end = cursor.checked_add(NONCE_LEN)?; - let nonce = ciphertext.get(cursor..nonce_end)?.try_into().ok()?; - cursor = nonce_end; - - let aead_ct = ciphertext.get(cursor..)?.to_vec(); - - Some(Self { - key_hash, - kem_ct, - aead_ct, - nonce, - }) + ExtrinsicOf::::decode(&mut &plaintext[..]).ok() } } diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml index 52edc0a6f3..0aa8959830 100644 --- a/primitives/shield/Cargo.toml +++ b/primitives/shield/Cargo.toml @@ -7,6 +7,7 @@ edition.workspace = true [dependencies] codec.workspace = true +scale-info.workspace = true sp-externalities.workspace = true sp-api.workspace = true sp-runtime.workspace = true diff --git a/primitives/shield/src/keystore.rs b/primitives/shield/src/keystore.rs new file mode 100644 index 0000000000..98286e6e3b --- /dev/null +++ b/primitives/shield/src/keystore.rs @@ -0,0 +1,89 @@ +//! MEV Shield Keystore traits +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +use codec::{Decode, Encode}; + +use alloc::{string::String, sync::Arc, vec::Vec}; + +#[derive(Debug, Encode, Decode)] +pub enum Error { + /// Keystore unavailable + Unavailable, + /// Validation error + ValidationError(String), + /// Other error + Other(String), +} + +impl core::fmt::Display for Error { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Error::Unavailable => write!(f, "Keystore unavailable"), + Error::ValidationError(e) => write!(f, "Validation error: {}", e), + Error::Other(e) => write!(f, "Other error: {}", e), + } + } +} + +pub type Result = core::result::Result; + +/// Something that generates, stores and provides access to secret keys +/// and operations used by the MEV Shield. +pub trait ShieldKeystore: Send + Sync { + /// Roll for the next slot and update the current/next keys. + fn roll_for_next_slot(&self) -> Result<()>; + + /// Get the next public key. + fn next_public_key(&self) -> Result>; + + /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]>; + + /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> Result>; +} + +impl ShieldKeystore for Arc { + fn roll_for_next_slot(&self) -> Result<()> { + (**self).roll_for_next_slot() + } + + fn next_public_key(&self) -> Result> { + (**self).next_public_key() + } + + fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]> { + (**self).mlkem768_decapsulate(ciphertext) + } + + fn aead_decrypt( + &self, + key: [u8; 32], + nonce: [u8; 24], + msg: &[u8], + aad: &[u8], + ) -> Result> { + (**self).aead_decrypt(key, nonce, msg, aad) + } +} + +pub type ShieldKeystorePtr = Arc; + +sp_externalities::decl_extension! { + /// The shield keystore extension to register/retrieve from the externalities. + pub struct ShieldKeystoreExt(ShieldKeystorePtr); +} + +impl ShieldKeystoreExt { + pub fn from(keystore: ShieldKeystorePtr) -> Self { + Self(keystore) + } +} diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs index f845bc30ed..15f1ff9f29 100644 --- a/primitives/shield/src/lib.rs +++ b/primitives/shield/src/lib.rs @@ -1,94 +1,10 @@ -//! MEV Shield Keystore traits - +//! MEV Shield primitives for Subtensor #![cfg_attr(not(feature = "std"), no_std)] -extern crate alloc; - +mod keystore; mod runtime_api; +mod shielded_tx; +pub use keystore::*; pub use runtime_api::*; - -use codec::{Decode, Encode}; - -use alloc::{string::String, sync::Arc, vec::Vec}; - -#[derive(Debug, Encode, Decode)] -pub enum Error { - /// Keystore unavailable - Unavailable, - /// Validation error - ValidationError(String), - /// Other error - Other(String), -} - -impl core::fmt::Display for Error { - fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - match self { - Error::Unavailable => write!(f, "Keystore unavailable"), - Error::ValidationError(e) => write!(f, "Validation error: {}", e), - Error::Other(e) => write!(f, "Other error: {}", e), - } - } -} - -pub type Result = core::result::Result; - -/// Something that generates, stores and provides access to secret keys -/// and operations used by the MEV Shield. -pub trait ShieldKeystore: Send + Sync { - /// Roll for the next slot and update the current/next keys. - fn roll_for_next_slot(&self) -> Result<()>; - - /// Get the next public key. - fn next_public_key(&self) -> Result>; - - /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]>; - - /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> Result>; -} - -impl ShieldKeystore for Arc { - fn roll_for_next_slot(&self) -> Result<()> { - (**self).roll_for_next_slot() - } - - fn next_public_key(&self) -> Result> { - (**self).next_public_key() - } - - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]> { - (**self).mlkem768_decapsulate(ciphertext) - } - - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> Result> { - (**self).aead_decrypt(key, nonce, msg, aad) - } -} - -pub type ShieldKeystorePtr = Arc; - -sp_externalities::decl_extension! { - /// The shield keystore extension to register/retrieve from the externalities. - pub struct ShieldKeystoreExt(ShieldKeystorePtr); -} - -impl ShieldKeystoreExt { - pub fn from(keystore: ShieldKeystorePtr) -> Self { - Self(keystore) - } -} +pub use shielded_tx::*; diff --git a/primitives/shield/src/runtime_api.rs b/primitives/shield/src/runtime_api.rs index cc4ae487d9..dc0be93220 100644 --- a/primitives/shield/src/runtime_api.rs +++ b/primitives/shield/src/runtime_api.rs @@ -1,13 +1,16 @@ //! Runtime API definition for the MEV Shield. - #![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; +use crate::ShieldedTransaction; use sp_runtime::traits::Block as BlockT; +type ExtrinsicOf = ::Extrinsic; + sp_api::decl_runtime_apis! { pub trait ShieldApi { - fn try_decrypt_extrinsic(uxt: ::Extrinsic) -> Option<::Extrinsic>; + fn try_unshield_tx(uxt: ExtrinsicOf) -> Option; + fn try_decrypt_shielded_tx(shielded_tx: ShieldedTransaction) -> Option>; } } diff --git a/primitives/shield/src/shielded_tx.rs b/primitives/shield/src/shielded_tx.rs new file mode 100644 index 0000000000..e4cd4690b7 --- /dev/null +++ b/primitives/shield/src/shielded_tx.rs @@ -0,0 +1,55 @@ +//! MEV Shielded Transaction +#![cfg_attr(not(feature = "std"), no_std)] + +extern crate alloc; + +use alloc::vec::Vec; +use codec::{Decode, Encode}; +use scale_info::TypeInfo; + +const KEY_HASH_LEN: usize = 16; + +#[derive(Debug, Encode, Decode, TypeInfo)] +pub struct ShieldedTransaction { + pub key_hash: [u8; KEY_HASH_LEN], + pub kem_ct: Vec, + pub aead_ct: Vec, + pub nonce: [u8; 24], +} + +impl ShieldedTransaction { + pub fn parse(ciphertext: &[u8]) -> Option { + let mut cursor: usize = 0; + + let key_hash_end = cursor.checked_add(KEY_HASH_LEN)?; + let key_hash: [u8; KEY_HASH_LEN] = ciphertext.get(cursor..key_hash_end)?.try_into().ok()?; + cursor = key_hash_end; + + let kem_ct_len_end = cursor.checked_add(2)?; + let kem_ct_len = ciphertext + .get(cursor..kem_ct_len_end)? + .try_into() + .map(u16::from_le_bytes) + .ok()? + .into(); + cursor = kem_ct_len_end; + + let kem_ct_end = cursor.checked_add(kem_ct_len)?; + let kem_ct = ciphertext.get(cursor..kem_ct_end)?.to_vec(); + cursor = kem_ct_end; + + const NONCE_LEN: usize = 24; + let nonce_end = cursor.checked_add(NONCE_LEN)?; + let nonce = ciphertext.get(cursor..nonce_end)?.try_into().ok()?; + cursor = nonce_end; + + let aead_ct = ciphertext.get(cursor..)?.to_vec(); + + Some(Self { + key_hash, + kem_ct, + aead_ct, + nonce, + }) + } +} From b852ebe169894674a390c093b463a02fa1e217a0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 11 Feb 2026 11:15:09 -0300 Subject: [PATCH 044/204] fix runtime API impl --- runtime/src/lib.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index de7afab06c..63d34aec87 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -70,6 +70,8 @@ use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; +use substrate_fixed::types::U64F64; +use stp_shield::ShieldedTransaction; use subtensor_precompiles::Precompiles; use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, TaoCurrency, time::*, *}; use subtensor_swap_interface::{Order, SwapHandler}; @@ -2614,10 +2616,14 @@ impl_runtime_apis! { } impl stp_shield::ShieldApi for Runtime { - fn try_decrypt_extrinsic( - uxt: ::Extrinsic, + fn try_unshield_tx(uxt: ::Extrinsic) -> Option { + MevShield::try_unshield_tx::(uxt) + } + + fn try_decrypt_shielded_tx( + shielded_tx: ShieldedTransaction, ) -> Option<::Extrinsic> { - MevShield::try_decrypt_extrinsic::(uxt) + MevShield::try_decrypt_shielded_tx::(shielded_tx) } } } From c29aed10a297fd816747d1a8d70452544de40237 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 12 Feb 2026 15:41:10 -0300 Subject: [PATCH 045/204] renaming --- pallets/shield/src/lib.rs | 4 ++-- primitives/shield/src/runtime_api.rs | 4 ++-- primitives/shield/src/shielded_tx.rs | 2 +- runtime/src/lib.rs | 10 ++++------ 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index a8176abdaa..bf689ebb73 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -214,7 +214,7 @@ pub mod pallet { } impl Pallet { - pub fn try_unshield_tx( + pub fn try_decode_shielded_tx( uxt: ExtrinsicOf, ) -> Option where @@ -248,7 +248,7 @@ impl Pallet { ShieldedTransaction::parse(&ciphertext) } - pub fn try_decrypt_shielded_tx( + pub fn try_unshield_tx( shielded_tx: ShieldedTransaction, ) -> Option<::Extrinsic> { let mut shared_secret = [0u8; 32]; diff --git a/primitives/shield/src/runtime_api.rs b/primitives/shield/src/runtime_api.rs index dc0be93220..e49092ac80 100644 --- a/primitives/shield/src/runtime_api.rs +++ b/primitives/shield/src/runtime_api.rs @@ -10,7 +10,7 @@ type ExtrinsicOf = ::Extrinsic; sp_api::decl_runtime_apis! { pub trait ShieldApi { - fn try_unshield_tx(uxt: ExtrinsicOf) -> Option; - fn try_decrypt_shielded_tx(shielded_tx: ShieldedTransaction) -> Option>; + fn try_decode_shielded_tx(uxt: ExtrinsicOf) -> Option; + fn try_unshield_tx(shielded_tx: ShieldedTransaction) -> Option>; } } diff --git a/primitives/shield/src/shielded_tx.rs b/primitives/shield/src/shielded_tx.rs index e4cd4690b7..95d54f32c1 100644 --- a/primitives/shield/src/shielded_tx.rs +++ b/primitives/shield/src/shielded_tx.rs @@ -9,7 +9,7 @@ use scale_info::TypeInfo; const KEY_HASH_LEN: usize = 16; -#[derive(Debug, Encode, Decode, TypeInfo)] +#[derive(Debug, Clone, Encode, Decode, TypeInfo)] pub struct ShieldedTransaction { pub key_hash: [u8; KEY_HASH_LEN], pub kem_ct: Vec, diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 63d34aec87..c3e88d7248 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -2616,14 +2616,12 @@ impl_runtime_apis! { } impl stp_shield::ShieldApi for Runtime { - fn try_unshield_tx(uxt: ::Extrinsic) -> Option { - MevShield::try_unshield_tx::(uxt) + fn try_decode_shielded_tx(uxt: ::Extrinsic) -> Option { + MevShield::try_decode_shielded_tx::(uxt) } - fn try_decrypt_shielded_tx( - shielded_tx: ShieldedTransaction, - ) -> Option<::Extrinsic> { - MevShield::try_decrypt_shielded_tx::(shielded_tx) + fn try_unshield_tx(shielded_tx: ShieldedTransaction) -> Option<::Extrinsic> { + MevShield::try_unshield_tx::(shielded_tx) } } } From 258a1127433ccbed0a8858f5b62567457ed37e6e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 12 Feb 2026 22:34:47 -0300 Subject: [PATCH 046/204] simplify key rotation in pallet-shield --- client/shield/src/keystore.rs | 3 +- pallets/shield/src/lib.rs | 60 ++++++++++------------------------- 2 files changed, 17 insertions(+), 46 deletions(-) diff --git a/client/shield/src/keystore.rs b/client/shield/src/keystore.rs index aeaea04fdd..12ce68c247 100644 --- a/client/shield/src/keystore.rs +++ b/client/shield/src/keystore.rs @@ -70,8 +70,7 @@ impl ShieldKeystoreInner { } fn roll_for_next_slot(&mut self) -> TraitResult<()> { - std::mem::swap(&mut self.current_pair, &mut self.next_pair); - self.next_pair = ShieldKeyPair::generate(); + self.current_pair = std::mem::replace(&mut self.next_pair, ShieldKeyPair::generate()); Ok(()) } diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index bf689ebb73..61a0f7a657 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -58,15 +58,11 @@ pub mod pallet { #[pallet::storage] pub type NextKey = StorageValue<_, PublicKey, OptionQuery>; - /// Current and next ML‑KEM‑768 public key bytes of all block authors. + /// Latest announced ML‑KEM‑768 public key per block author. + /// This is the key the author will use for decapsulation in their next slot. #[pallet::storage] - pub type AuthorKeys = StorageMap< - _, - Twox64Concat, - T::AuthorityId, - (Option, Option), - OptionQuery, - >; + pub type AuthorKeys = + StorageMap<_, Twox64Concat, T::AuthorityId, PublicKey, OptionQuery>; // ----------------- Events & Errors ----------------- @@ -85,34 +81,6 @@ pub mod pallet { Unreachable, } - // ----------------- Hooks ----------------- - - #[pallet::hooks] - impl Hooks> for Pallet { - fn on_initialize(_n: BlockNumberFor) -> Weight { - let mut weight = Weight::zero(); - - // We clear the next key no matter what happens next. - NextKey::::kill(); - weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); - - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some(author) = T::FindAuthors::find_next_author() else { - return weight; - }; - - weight = weight.saturating_add(T::DbWeight::get().reads(1_u64)); - let Some((Some(key), _)) = AuthorKeys::::get(author) else { - return weight; - }; - - NextKey::::put(key); - weight = weight.saturating_add(T::DbWeight::get().writes(1_u64)); - - weight - } - } - // ----------------- Calls ----------------- #[pallet::call] @@ -147,15 +115,19 @@ pub mod pallet { ); } - AuthorKeys::::mutate(author, |keys| { - if let Some((current_key, next_key)) = keys { - *current_key = next_key.clone(); - *next_key = public_key; - } else { - // First time we see this author. - *keys = Some((None, public_key)); + // Store the announced key for the current author. + match public_key { + Some(pk) => AuthorKeys::::insert(&author, pk), + None => AuthorKeys::::remove(&author), + } + + // Expose the next block author's key so users can encrypt for them. + NextKey::::kill(); + if let Some(next_author) = T::FindAuthors::find_next_author() { + if let Some(key) = AuthorKeys::::get(&next_author) { + NextKey::::put(key); } - }); + } Ok(()) } From 317bafb25ccd80ca16c213756745050beb810e50 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 12 Feb 2026 22:35:03 -0300 Subject: [PATCH 047/204] fix shield tx extension --- pallets/shield/src/extension.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 132d10c744..56eaa8f3e3 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -57,22 +57,23 @@ where return Ok((Default::default(), (), origin)); }; - // Ensure the transaction is encrypted + // Ensure the transaction is a shielded transaction, else we just skip the extension. let Some(Call::submit_encrypted { ciphertext }) = IsSubType::>::is_sub_type(call) else { - return Err(InvalidTransaction::BadSigner.into()); + return Ok((Default::default(), (), origin)); }; let Some(shielded_tx) = ShieldedTransaction::parse(&ciphertext) else { return Err(InvalidTransaction::BadProof.into()); }; - let next_key_hash = NextKey::::get().map(|key| twox_128(&key.into_inner()[..])); + let next_key = NextKey::::get(); + let next_key_hash = next_key.map(|key| twox_128(&key.into_inner()[..])); - // The transaction must be encrypted with the next key or we discard it + // The transaction must be encrypted with the next key or we discard it. if next_key_hash.is_none() || next_key_hash.is_some_and(|hash| hash != shielded_tx.key_hash) { - return Err(InvalidTransaction::BadProof)?; + return Err(InvalidTransaction::BadProof.into()); } Ok((Default::default(), (), origin)) From 7c082e47ece9cb0983bf4f4d23ada8089382321d Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 10:04:52 -0300 Subject: [PATCH 048/204] types in stp-shield and more logging --- client/shield/Cargo.toml | 15 +++++- client/shield/src/inherents.rs | 12 ++--- pallets/shield/Cargo.toml | 2 + pallets/shield/src/lib.rs | 74 +++++++++++++++------------- primitives/shield/Cargo.toml | 3 +- primitives/shield/src/keystore.rs | 1 - primitives/shield/src/lib.rs | 14 ++++++ primitives/shield/src/runtime_api.rs | 1 - primitives/shield/src/shielded_tx.rs | 1 - runtime/Cargo.toml | 4 +- 10 files changed, 78 insertions(+), 49 deletions(-) diff --git a/client/shield/Cargo.toml b/client/shield/Cargo.toml index 88baa4bf01..6a42bdd9b5 100644 --- a/client/shield/Cargo.toml +++ b/client/shield/Cargo.toml @@ -10,6 +10,7 @@ async-trait.workspace = true anyhow.workspace = true codec.workspace = true futures.workspace = true +hex.workspace = true # Crypto rand.workspace = true @@ -31,4 +32,16 @@ workspace = true [features] default = ["std"] -std = [] +std = [ + "anyhow/std", + "chacha20poly1305/std", + "ml-kem/std", + "stp-shield/std", + "codec/std", + "futures/std", + "hex/std", + "log/std", + "rand/std", + "sp-runtime/std", + "sp-inherents/std", +] diff --git a/client/shield/src/inherents.rs b/client/shield/src/inherents.rs index 54c6cf9fad..16352e6744 100644 --- a/client/shield/src/inherents.rs +++ b/client/shield/src/inherents.rs @@ -1,11 +1,6 @@ use sp_inherents::{Error, InherentData, InherentIdentifier}; -use stp_shield::ShieldKeystorePtr; - -// The inherent identifier for the next MEV-Shield public key. -pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; - -/// The inherent type for the next MEV-Shield public key. -pub type InherentType = Option>; +use sp_runtime::BoundedVec; +use stp_shield::{INHERENT_IDENTIFIER, InherentType, ShieldKeystorePtr}; pub struct InherentDataProvider { keystore: ShieldKeystorePtr, @@ -21,7 +16,8 @@ impl InherentDataProvider { impl sp_inherents::InherentDataProvider for InherentDataProvider { async fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), Error> { let public_key = self.keystore.next_public_key().ok(); - inherent_data.put_data::(INHERENT_IDENTIFIER, &public_key) + let bounded = public_key.map(|pk| BoundedVec::truncate_from(pk)); + inherent_data.put_data::(INHERENT_IDENTIFIER, &bounded) } async fn try_handle_error( diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index f47f33445d..76194176db 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -51,7 +51,9 @@ std = [ "sp-io/std", "sp-std/std", "sp-weights/std", + "sp-inherents/std", "stp-io/std", + "stp-shield/std", ] runtime-benchmarks = [ diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 61a0f7a657..432987fbdc 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -3,14 +3,12 @@ extern crate alloc; -use frame_support::traits::IsSubType; -use frame_support::{pallet_prelude::*, sp_runtime::traits::Hash}; +use frame_support::{pallet_prelude::*, traits::IsSubType}; use frame_system::{ensure_none, ensure_signed, pallet_prelude::*}; -use sp_runtime::Vec; -use sp_runtime::traits::Applyable; -use sp_runtime::traits::Block as BlockT; -use sp_runtime::traits::Checkable; -use stp_shield::ShieldedTransaction; +use sp_runtime::traits::{Applyable, Block as BlockT, Checkable, Hash}; +use stp_shield::{ + INHERENT_IDENTIFIER, InherentType, LOG_TARGET, ShieldPublicKey, ShieldedTransaction, +}; use alloc::vec; @@ -28,14 +26,13 @@ mod tests; mod extension; pub use extension::CheckShieldedTxValidity; -type PublicKey = BoundedVec>; - -type InherentType = Option>; - type ExtrinsicOf = ::Extrinsic; type CheckedOf = >::Checked; type ApplyableCallOf = ::Call; +const MAX_KYBER768_PK_LENGTH: usize = 1184; +const MAX_EXTRINSIC_DEPTH: u32 = 8; + #[frame_support::pallet] pub mod pallet { use super::*; @@ -56,13 +53,13 @@ pub mod pallet { // Next block author ML‑KEM‑768 public key bytes. #[pallet::storage] - pub type NextKey = StorageValue<_, PublicKey, OptionQuery>; + pub type NextKey = StorageValue<_, ShieldPublicKey, OptionQuery>; /// Latest announced ML‑KEM‑768 public key per block author. /// This is the key the author will use for decapsulation in their next slot. #[pallet::storage] pub type AuthorKeys = - StorageMap<_, Twox64Concat, T::AuthorityId, PublicKey, OptionQuery>; + StorageMap<_, Twox64Concat, T::AuthorityId, ShieldPublicKey, OptionQuery>; // ----------------- Events & Errors ----------------- @@ -99,7 +96,7 @@ pub mod pallet { #[allow(clippy::useless_conversion)] pub fn announce_next_key( origin: OriginFor, - public_key: Option, + public_key: Option, ) -> DispatchResult { ensure_none(origin)?; @@ -108,17 +105,15 @@ pub mod pallet { .ok_or_else(|| Error::::Unreachable)?; if let Some(public_key) = &public_key { - const MAX_KYBER768_PK_LENGTH: usize = 1184; ensure!( public_key.len() == MAX_KYBER768_PK_LENGTH, Error::::BadPublicKeyLen ); - } - - // Store the announced key for the current author. - match public_key { - Some(pk) => AuthorKeys::::insert(&author, pk), - None => AuthorKeys::::remove(&author), + AuthorKeys::::insert(&author, public_key.clone()); + } else { + // If the author did not announce a key, remove his old key from storage, + // he will not be able to accept shielded transactions in his next block. + AuthorKeys::::remove(&author); } // Expose the next block author's key so users can encrypt for them. @@ -168,14 +163,15 @@ pub mod pallet { type Call = Call; type Error = sp_inherents::MakeFatalError<()>; - const INHERENT_IDENTIFIER: [u8; 8] = *b"shieldpk"; + const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER; fn create_inherent(data: &InherentData) -> Option { let public_key = data - .get_data::(&Self::INHERENT_IDENTIFIER) - .ok()?? - .map(|pk| BoundedVec::truncate_from(pk)); - + .get_data::(&INHERENT_IDENTIFIER) + .inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to get shielded public key inherent data: {:?}", e), + ) + .ok()??; Some(Call::announce_next_key { public_key }) } @@ -194,25 +190,26 @@ impl Pallet { CheckedOf: Applyable, ApplyableCallOf>: IsSubType>, { - const MAX_EXTRINSIC_DEPTH: u32 = 8; - // Prevent stack overflows by limiting the depth of the extrinsic. let encoded = uxt.encode(); let uxt = ::decode_all_with_depth_limit( MAX_EXTRINSIC_DEPTH, &mut &encoded[..], ) - .inspect_err(|e| log::error!("Failed to decode extrinsic: {:?}", e)) + .inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to decode shielded extrinsic: {:?}", e), + ) .ok()?; - // Verify that the signature is good. + // Verify that the signature is correct. let xt = ExtrinsicOf::::check(uxt, &Context::default()) - .inspect_err(|e| log::error!("Failed to check extrinsic: {:?}", e)) + .inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to check shielded extrinsic: {:?}", e), + ) .ok()?; let call = xt.call(); - let Some(Call::submit_encrypted { ciphertext, .. }) = - IsSubType::>::is_sub_type(call) + let Some(Call::submit_encrypted { ciphertext }) = IsSubType::>::is_sub_type(call) else { return None; }; @@ -224,7 +221,9 @@ impl Pallet { shielded_tx: ShieldedTransaction, ) -> Option<::Extrinsic> { let mut shared_secret = [0u8; 32]; - stp_io::crypto::mlkem768_decapsulate(&shielded_tx.kem_ct, &mut shared_secret).ok()?; + stp_io::crypto::mlkem768_decapsulate(&shielded_tx.kem_ct, &mut shared_secret).inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to decapsulate shielded transaction: {:?}", e), + ).ok()?; let plaintext = stp_io::crypto::aead_decrypt( &shared_secret, @@ -232,13 +231,18 @@ impl Pallet { &shielded_tx.aead_ct, &[], ) + .inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to decrypt shielded transaction: {:?}", e), + ) .ok()?; if plaintext.is_empty() { return None; } - ExtrinsicOf::::decode(&mut &plaintext[..]).ok() + ExtrinsicOf::::decode(&mut &plaintext[..]).inspect_err( + |e| log::debug!(target: LOG_TARGET, "Failed to decode shielded transaction: {:?}", e), + ).ok() } } diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml index 0aa8959830..c3dad9daa2 100644 --- a/primitives/shield/Cargo.toml +++ b/primitives/shield/Cargo.toml @@ -11,10 +11,11 @@ scale-info.workspace = true sp-externalities.workspace = true sp-api.workspace = true sp-runtime.workspace = true +sp-inherents.workspace = true [lints] workspace = true [features] default = ["std"] -std = ["codec/std", "sp-externalities/std", "sp-api/std", "sp-runtime/std"] +std = ["codec/std", "scale-info/std", "sp-externalities/std", "sp-api/std", "sp-runtime/std", "sp-inherents/std"] diff --git a/primitives/shield/src/keystore.rs b/primitives/shield/src/keystore.rs index 98286e6e3b..137d9e32dd 100644 --- a/primitives/shield/src/keystore.rs +++ b/primitives/shield/src/keystore.rs @@ -1,5 +1,4 @@ //! MEV Shield Keystore traits -#![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs index 15f1ff9f29..cb6e7049d2 100644 --- a/primitives/shield/src/lib.rs +++ b/primitives/shield/src/lib.rs @@ -1,6 +1,9 @@ //! MEV Shield primitives for Subtensor #![cfg_attr(not(feature = "std"), no_std)] +use sp_inherents::InherentIdentifier; +use sp_runtime::{BoundedVec, traits::ConstU32}; + mod keystore; mod runtime_api; mod shielded_tx; @@ -8,3 +11,14 @@ mod shielded_tx; pub use keystore::*; pub use runtime_api::*; pub use shielded_tx::*; + +pub const LOG_TARGET: &str = "mev-shield"; + +// The inherent identifier for the next MEV-Shield public key. +pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; + +// The public key type for the MEV-Shield. +pub type ShieldPublicKey = BoundedVec>; + +// The inherent type for the MEV-Shield. +pub type InherentType = Option; diff --git a/primitives/shield/src/runtime_api.rs b/primitives/shield/src/runtime_api.rs index e49092ac80..abe9c01b3b 100644 --- a/primitives/shield/src/runtime_api.rs +++ b/primitives/shield/src/runtime_api.rs @@ -1,5 +1,4 @@ //! Runtime API definition for the MEV Shield. -#![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; diff --git a/primitives/shield/src/shielded_tx.rs b/primitives/shield/src/shielded_tx.rs index 95d54f32c1..e013b7214f 100644 --- a/primitives/shield/src/shielded_tx.rs +++ b/primitives/shield/src/shielded_tx.rs @@ -1,5 +1,4 @@ //! MEV Shielded Transaction -#![cfg_attr(not(feature = "std"), no_std)] extern crate alloc; diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index f726b5320a..d6802e7496 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -58,7 +58,7 @@ sp-version.workspace = true sp-authority-discovery.workspace = true subtensor-runtime-common.workspace = true subtensor-precompiles.workspace = true -sp-debug-derive = { workspace = true, features = ["force-debug"] } +sp-debug-derive = { workspace = true, features = [] } stp-io.workspace = true # Temporary sudo @@ -280,6 +280,8 @@ std = [ "ethereum/std", "pallet-shield/std", "stp-shield/std", + "stp-io/std", + "sp-debug-derive/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", From a99c7831419fd92346b6c8e52a52948221939c9a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 17:25:45 -0300 Subject: [PATCH 049/204] track CurrentKey and fix extension --- pallets/shield/src/extension.rs | 25 ++++++++++++++++--------- pallets/shield/src/lib.rs | 17 ++++++++++++++--- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 56eaa8f3e3..211b7a0a95 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -1,4 +1,4 @@ -use crate::{Call, Config, NextKey, ShieldedTransaction}; +use crate::{Call, Config, CurrentKey, NextKey, ShieldedTransaction}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::pallet_prelude::*; use frame_support::traits::IsSubType; @@ -50,7 +50,7 @@ where _len: usize, _self_implicit: Self::Implicit, _inherited_implication: &impl Implication, - _source: TransactionSource, + source: TransactionSource, ) -> ValidateResult::RuntimeCall> { // Ensure the transaction is signed, else we just skip the extension. let Some(_who) = origin.as_system_origin_signer() else { @@ -63,17 +63,24 @@ where return Ok((Default::default(), (), origin)); }; - let Some(shielded_tx) = ShieldedTransaction::parse(&ciphertext) else { + // Reject malformed ciphertext regardless of source. + let Some(ShieldedTransaction { key_hash, .. }) = ShieldedTransaction::parse(&ciphertext) + else { return Err(InvalidTransaction::BadProof.into()); }; - let next_key = NextKey::::get(); - let next_key_hash = next_key.map(|key| twox_128(&key.into_inner()[..])); + // Only enforce the key_hash check during block building/import. + // The fork-aware tx pool validates against multiple views (recent block states), + // and stale views may not contain the key the tx was encrypted with, + // causing spurious rejections. Pool validation only checks structure above. + if source == TransactionSource::InBlock { + let matches_any = [CurrentKey::::get(), NextKey::::get()] + .iter() + .any(|k| k.as_ref().is_some_and(|k| twox_128(&k[..]) == key_hash)); - // The transaction must be encrypted with the next key or we discard it. - if next_key_hash.is_none() || next_key_hash.is_some_and(|hash| hash != shielded_tx.key_hash) - { - return Err(InvalidTransaction::BadProof.into()); + if !matches_any { + return Err(InvalidTransaction::BadProof.into()); + } } Ok((Default::default(), (), origin)) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 432987fbdc..c4f5759496 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -49,9 +49,17 @@ pub mod pallet { #[pallet::pallet] pub struct Pallet(_); - // ----------------- Storage ----------------- + // Current block author ML‑KEM‑768 public key bytes. + // + // Note: Do not use this to encrypt transactions as this + // is only used to validate transactions in the extension. + // Use `NextKey` instead. + #[pallet::storage] + pub type CurrentKey = StorageValue<_, ShieldPublicKey, OptionQuery>; // Next block author ML‑KEM‑768 public key bytes. + // + // This is the key that should be used to encrypt transactions. #[pallet::storage] pub type NextKey = StorageValue<_, ShieldPublicKey, OptionQuery>; @@ -61,8 +69,6 @@ pub mod pallet { pub type AuthorKeys = StorageMap<_, Twox64Concat, T::AuthorityId, ShieldPublicKey, OptionQuery>; - // ----------------- Events & Errors ----------------- - #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { @@ -104,6 +110,11 @@ pub mod pallet { // This should never happen as we are in an inherent. .ok_or_else(|| Error::::Unreachable)?; + // Shift the key chain: Current ← NextKey. + // NextKey was set in the previous block to be the current author's key, + // so this naturally tracks the last 2 keys users may have encrypted with. + CurrentKey::::set(NextKey::::get()); + if let Some(public_key) = &public_key { ensure!( public_key.len() == MAX_KYBER768_PK_LENGTH, From f67d84aaa1679d0d3648f8905c3b11f0d8487093 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 17:43:56 -0300 Subject: [PATCH 050/204] added tests for MemoryShieldKeystore --- client/shield/src/keystore.rs | 196 ++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) diff --git a/client/shield/src/keystore.rs b/client/shield/src/keystore.rs index 12ce68c247..6858f00a8b 100644 --- a/client/shield/src/keystore.rs +++ b/client/shield/src/keystore.rs @@ -123,3 +123,199 @@ impl ShieldKeyPair { Self { dec_key, enc_key } } } + +#[cfg(test)] +mod tests { + use super::*; + use ml_kem::kem::Encapsulate; + use stp_shield::ShieldKeystore; + + const MLKEM768_PK_LEN: usize = 1184; + const MLKEM768_CT_LEN: usize = 1088; + + #[test] + fn next_public_key_returns_valid_mlkem768_key() { + let ks = MemoryShieldKeystore::new(); + let pk = ks.next_public_key().unwrap(); + assert_eq!(pk.len(), MLKEM768_PK_LEN); + } + + #[test] + fn next_public_key_is_stable_without_roll() { + let ks = MemoryShieldKeystore::new(); + let pk1 = ks.next_public_key().unwrap(); + let pk2 = ks.next_public_key().unwrap(); + assert_eq!(pk1, pk2); + } + + #[test] + fn roll_changes_next_public_key() { + let ks = MemoryShieldKeystore::new(); + let before = ks.next_public_key().unwrap(); + ks.roll_for_next_slot().unwrap(); + let after = ks.next_public_key().unwrap(); + assert_ne!(before, after); + } + + #[test] + fn decapsulate_with_current_key_after_roll() { + let ks = MemoryShieldKeystore::new(); + + // The "next" public key is what will be announced in the inherent. + // After a roll, it becomes the "current" key used for decapsulation. + let pk_bytes = ks.next_public_key().unwrap(); + let enc_key = EncapsulationKey::::from_bytes( + pk_bytes.as_slice().try_into().unwrap(), + ); + + let (ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); + + // Roll so that next → current. + ks.roll_for_next_slot().unwrap(); + + // Decapsulate uses `current_pair`, which is now the old `next_pair`. + let ss_receiver = ks.mlkem768_decapsulate(ct.as_slice()).unwrap(); + assert_eq!(ss_sender.as_slice(), &ss_receiver); + } + + #[test] + fn decapsulate_fails_with_wrong_ciphertext() { + let ks = MemoryShieldKeystore::new(); + let garbage = vec![0u8; MLKEM768_CT_LEN]; + // Decapsulation with garbage should still produce a result (ML-KEM implicit reject), + // but let's just verify it doesn't panic. + let _ = ks.mlkem768_decapsulate(&garbage); + } + + #[test] + fn decapsulate_fails_with_wrong_length() { + let ks = MemoryShieldKeystore::new(); + let short = vec![0u8; 32]; + assert!(ks.mlkem768_decapsulate(&short).is_err()); + } + + #[test] + fn aead_encrypt_decrypt_roundtrip() { + let ks = MemoryShieldKeystore::new(); + let key = [42u8; 32]; + let nonce = [7u8; 24]; + let plaintext = b"hello mev shield"; + let aad = b"extra data"; + + // Encrypt with chacha20poly1305 directly. + let cipher = XChaCha20Poly1305::new((&key).into()); + let ciphertext = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: plaintext, + aad, + }, + ) + .unwrap(); + + // Decrypt via keystore. + let decrypted = ks.aead_decrypt(key, nonce, &ciphertext, aad).unwrap(); + assert_eq!(decrypted, plaintext); + } + + #[test] + fn aead_decrypt_fails_with_wrong_key() { + let ks = MemoryShieldKeystore::new(); + let key = [42u8; 32]; + let wrong_key = [99u8; 32]; + let nonce = [7u8; 24]; + let plaintext = b"secret"; + + let cipher = XChaCha20Poly1305::new((&key).into()); + let ciphertext = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: plaintext.as_slice(), + aad: &[], + }, + ) + .unwrap(); + + assert!(ks.aead_decrypt(wrong_key, nonce, &ciphertext, &[]).is_err()); + } + + #[test] + fn aead_decrypt_fails_with_wrong_aad() { + let ks = MemoryShieldKeystore::new(); + let key = [42u8; 32]; + let nonce = [7u8; 24]; + let plaintext = b"secret"; + + let cipher = XChaCha20Poly1305::new((&key).into()); + let ciphertext = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: plaintext.as_slice(), + aad: b"correct aad", + }, + ) + .unwrap(); + + assert!(ks + .aead_decrypt(key, nonce, &ciphertext, b"wrong aad") + .is_err()); + } + + #[test] + fn full_encrypt_decrypt_roundtrip() { + // Simulates the full client → block author flow: + // 1. Client reads next_public_key, encapsulates, encrypts with AEAD + // 2. Author rolls, decapsulates with current key, decrypts AEAD + let ks = MemoryShieldKeystore::new(); + + // Client side: read the announced public key and encrypt. + let pk_bytes = ks.next_public_key().unwrap(); + let enc_key = EncapsulationKey::::from_bytes( + pk_bytes.as_slice().try_into().unwrap(), + ); + let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); + + let nonce = [13u8; 24]; + let plaintext = b"signed_extrinsic_bytes_here"; + let cipher = XChaCha20Poly1305::new(shared_secret.as_slice().into()); + let aead_ct = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: plaintext.as_slice(), + aad: &[], + }, + ) + .unwrap(); + + // Author side: roll (next → current), then decrypt. + ks.roll_for_next_slot().unwrap(); + + let recovered_ss = ks.mlkem768_decapsulate(kem_ct.as_slice()).unwrap(); + let decrypted = ks.aead_decrypt(recovered_ss, nonce, &aead_ct, &[]).unwrap(); + + assert_eq!(decrypted, plaintext); + } + + #[test] + fn decapsulate_before_roll_uses_different_key() { + // Without rolling, decapsulate uses the initial `current_pair`, + // not the `next_pair` whose public key we encapsulated with. + let ks = MemoryShieldKeystore::new(); + + let pk_bytes = ks.next_public_key().unwrap(); + let enc_key = EncapsulationKey::::from_bytes( + pk_bytes.as_slice().try_into().unwrap(), + ); + let (kem_ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); + + // DO NOT roll — decapsulate uses initial current_pair, not next_pair. + let ss_receiver = ks.mlkem768_decapsulate(kem_ct.as_slice()).unwrap(); + + // Shared secrets should NOT match (different keypairs). + assert_ne!(ss_sender.as_slice(), &ss_receiver); + } +} From 5aeb9e5642b1995357fffb416f04ce478034624f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 17:53:14 -0300 Subject: [PATCH 051/204] added shielded_tx tests --- primitives/shield/src/shielded_tx.rs | 112 ++++++++++++++++++++++++++- 1 file changed, 110 insertions(+), 2 deletions(-) diff --git a/primitives/shield/src/shielded_tx.rs b/primitives/shield/src/shielded_tx.rs index e013b7214f..047038df72 100644 --- a/primitives/shield/src/shielded_tx.rs +++ b/primitives/shield/src/shielded_tx.rs @@ -7,13 +7,14 @@ use codec::{Decode, Encode}; use scale_info::TypeInfo; const KEY_HASH_LEN: usize = 16; +const NONCE_LEN: usize = 24; #[derive(Debug, Clone, Encode, Decode, TypeInfo)] pub struct ShieldedTransaction { pub key_hash: [u8; KEY_HASH_LEN], pub kem_ct: Vec, pub aead_ct: Vec, - pub nonce: [u8; 24], + pub nonce: [u8; NONCE_LEN], } impl ShieldedTransaction { @@ -37,7 +38,6 @@ impl ShieldedTransaction { let kem_ct = ciphertext.get(cursor..kem_ct_end)?.to_vec(); cursor = kem_ct_end; - const NONCE_LEN: usize = 24; let nonce_end = cursor.checked_add(NONCE_LEN)?; let nonce = ciphertext.get(cursor..nonce_end)?.try_into().ok()?; cursor = nonce_end; @@ -52,3 +52,111 @@ impl ShieldedTransaction { }) } } + +#[cfg(test)] +mod tests { + use super::*; + + fn build_ciphertext( + key_hash: &[u8; KEY_HASH_LEN], + kem_ct: &[u8], + nonce: &[u8; 24], + aead_ct: &[u8], + ) -> Vec { + let kem_len = (kem_ct.len() as u16).to_le_bytes(); + let mut buf = Vec::with_capacity(KEY_HASH_LEN + 2 + kem_ct.len() + 24 + aead_ct.len()); + buf.extend_from_slice(key_hash); + buf.extend_from_slice(&kem_len); + buf.extend_from_slice(kem_ct); + buf.extend_from_slice(nonce); + buf.extend_from_slice(aead_ct); + buf + } + + const DUMMY_KEM_CT: [u8; 1088] = [0xAA; 1088]; + const DUMMY_NONCE: [u8; 24] = [0xBB; 24]; + const DUMMY_KEY_HASH: [u8; KEY_HASH_LEN] = [0xCC; KEY_HASH_LEN]; + const DUMMY_AEAD: [u8; 64] = [0xDD; 64]; + + fn valid_ciphertext() -> Vec { + build_ciphertext(&DUMMY_KEY_HASH, &DUMMY_KEM_CT, &DUMMY_NONCE, &DUMMY_AEAD) + } + + #[test] + fn parse_valid_roundtrip() { + let ct = valid_ciphertext(); + let tx = ShieldedTransaction::parse(&ct).expect("should parse"); + + assert_eq!(tx.key_hash, DUMMY_KEY_HASH); + assert_eq!(tx.kem_ct, DUMMY_KEM_CT); + assert_eq!(tx.nonce, DUMMY_NONCE); + assert_eq!(tx.aead_ct, DUMMY_AEAD); + } + + #[test] + fn parse_empty_aead_ct() { + let ct = build_ciphertext(&DUMMY_KEY_HASH, &DUMMY_KEM_CT, &DUMMY_NONCE, &[]); + let tx = ShieldedTransaction::parse(&ct).expect("should parse with empty aead_ct"); + + assert!(tx.aead_ct.is_empty()); + assert_eq!(tx.kem_ct, DUMMY_KEM_CT); + } + + #[test] + fn parse_zero_length_kem_ct() { + let ct = build_ciphertext(&DUMMY_KEY_HASH, &[], &DUMMY_NONCE, &DUMMY_AEAD); + let tx = ShieldedTransaction::parse(&ct).expect("should parse with zero-length kem_ct"); + + assert!(tx.kem_ct.is_empty()); + assert_eq!(tx.aead_ct, DUMMY_AEAD); + } + + #[test] + fn parse_empty_returns_none() { + assert!(ShieldedTransaction::parse(&[]).is_none()); + } + + #[test] + fn parse_truncated_key_hash() { + let ct = [0u8; KEY_HASH_LEN - 1]; + assert!(ShieldedTransaction::parse(&ct).is_none()); + } + + #[test] + fn parse_truncated_kem_len() { + // key_hash present but only 1 byte for kem_ct_len (needs 2). + let ct = [0u8; KEY_HASH_LEN + 1]; + assert!(ShieldedTransaction::parse(&ct).is_none()); + } + + #[test] + fn parse_kem_ct_len_exceeds_remaining() { + // Claim 1088 bytes of kem_ct but only provide 10. + let mut ct = Vec::new(); + ct.extend_from_slice(&DUMMY_KEY_HASH); + ct.extend_from_slice(&1088u16.to_le_bytes()); + ct.extend_from_slice(&[0u8; 10]); + assert!(ShieldedTransaction::parse(&ct).is_none()); + } + + #[test] + fn parse_truncated_nonce() { + // key_hash + kem_len + kem_ct present, but nonce truncated. + let mut ct = Vec::new(); + ct.extend_from_slice(&DUMMY_KEY_HASH); + ct.extend_from_slice(&4u16.to_le_bytes()); + ct.extend_from_slice(&[0u8; 4]); // kem_ct + ct.extend_from_slice(&[0u8; 20]); // only 20 of 24 nonce bytes + assert!(ShieldedTransaction::parse(&ct).is_none()); + } + + #[test] + fn parse_small_kem_ct() { + let small_kem = [0x11; 4]; + let ct = build_ciphertext(&DUMMY_KEY_HASH, &small_kem, &DUMMY_NONCE, &DUMMY_AEAD); + let tx = ShieldedTransaction::parse(&ct).expect("should parse"); + + assert_eq!(tx.kem_ct, small_kem); + assert_eq!(tx.aead_ct, DUMMY_AEAD); + } +} From d1b24145b188caec0fc05c60306381fec7c6ce3f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 17:53:20 -0300 Subject: [PATCH 052/204] cargo fmt --- client/shield/src/keystore.rs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/client/shield/src/keystore.rs b/client/shield/src/keystore.rs index 6858f00a8b..541f2ba761 100644 --- a/client/shield/src/keystore.rs +++ b/client/shield/src/keystore.rs @@ -164,9 +164,8 @@ mod tests { // The "next" public key is what will be announced in the inherent. // After a roll, it becomes the "current" key used for decapsulation. let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = EncapsulationKey::::from_bytes( - pk_bytes.as_slice().try_into().unwrap(), - ); + let enc_key = + EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); let (ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); @@ -259,9 +258,10 @@ mod tests { ) .unwrap(); - assert!(ks - .aead_decrypt(key, nonce, &ciphertext, b"wrong aad") - .is_err()); + assert!( + ks.aead_decrypt(key, nonce, &ciphertext, b"wrong aad") + .is_err() + ); } #[test] @@ -273,9 +273,8 @@ mod tests { // Client side: read the announced public key and encrypt. let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = EncapsulationKey::::from_bytes( - pk_bytes.as_slice().try_into().unwrap(), - ); + let enc_key = + EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); let nonce = [13u8; 24]; @@ -307,9 +306,8 @@ mod tests { let ks = MemoryShieldKeystore::new(); let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = EncapsulationKey::::from_bytes( - pk_bytes.as_slice().try_into().unwrap(), - ); + let enc_key = + EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); let (kem_ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); // DO NOT roll — decapsulate uses initial current_pair, not next_pair. From ceec904786d6fdebf08b2be608c57c3da156fae5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 18:28:22 -0300 Subject: [PATCH 053/204] added shield extension tests --- pallets/shield/src/extension.rs | 167 ++++++++++++++++++++++++++++++++ pallets/shield/src/mock.rs | 140 ++++---------------------- 2 files changed, 188 insertions(+), 119 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 211b7a0a95..a72af062aa 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -86,3 +86,170 @@ where Ok((Default::default(), (), origin)) } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::mock::*; + use frame_support::dispatch::GetDispatchInfo; + use frame_support::pallet_prelude::{BoundedVec, ConstU32}; + use sp_runtime::traits::TxBaseImplication; + use sp_runtime::transaction_validity::{InvalidTransaction, TransactionValidityError}; + + /// Build wire-format ciphertext with a given key_hash. + /// Layout: key_hash(16) || kem_ct_len(2 LE) || kem_ct(N) || nonce(24) || aead_ct(rest) + fn build_ciphertext(key_hash: [u8; 16]) -> BoundedVec> { + let kem_ct = [0xAA; 4]; + let nonce = [0xBB; 24]; + let aead_ct = [0xDD; 16]; + + let mut buf = Vec::new(); + buf.extend_from_slice(&key_hash); + buf.extend_from_slice(&(kem_ct.len() as u16).to_le_bytes()); + buf.extend_from_slice(&kem_ct); + buf.extend_from_slice(&nonce); + buf.extend_from_slice(&aead_ct); + + BoundedVec::truncate_from(buf) + } + + fn make_submit_call(key_hash: [u8; 16]) -> RuntimeCall { + RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: build_ciphertext(key_hash), + }) + } + + fn set_current_key(pk: &[u8]) { + CurrentKey::::put(BoundedVec::>::truncate_from(pk.to_vec())); + } + + fn set_next_key(pk: &[u8]) { + NextKey::::put(BoundedVec::>::truncate_from(pk.to_vec())); + } + + fn validate_ext( + who: Option, + call: &RuntimeCall, + source: TransactionSource, + ) -> Result<(), TransactionValidityError> { + let ext = CheckShieldedTxValidity::::new(); + let info = call.get_dispatch_info(); + let origin = match who { + Some(id) => RuntimeOrigin::signed(id), + None => RuntimeOrigin::none(), + }; + ext.validate(origin, call, &info, 0, (), &TxBaseImplication(call), source) + .map(|_| ()) + } + + const PK_A: [u8; 32] = [0x11; 32]; + const PK_B: [u8; 32] = [0x22; 32]; + + #[test] + fn non_shield_call_passes_through() { + new_test_ext().execute_with(|| { + let call = RuntimeCall::System(frame_system::Call::remark { remark: vec![] }); + assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + }); + } + + #[test] + fn unsigned_origin_passes_through() { + new_test_ext().execute_with(|| { + let call = make_submit_call([0xFF; 16]); + assert!(validate_ext(None, &call, TransactionSource::InBlock).is_ok()); + }); + } + + #[test] + fn malformed_ciphertext_rejected_inblock() { + new_test_ext().execute_with(|| { + let call = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(vec![0u8; 5]), + }); + assert_eq!( + validate_ext(Some(1), &call, TransactionSource::InBlock), + Err(TransactionValidityError::Invalid( + InvalidTransaction::BadProof + )) + ); + }); + } + + #[test] + fn malformed_ciphertext_rejected_from_pool() { + new_test_ext().execute_with(|| { + let call = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(vec![0u8; 5]), + }); + assert_eq!( + validate_ext(Some(1), &call, TransactionSource::External), + Err(TransactionValidityError::Invalid( + InvalidTransaction::BadProof + )) + ); + }); + } + + #[test] + fn inblock_matches_current_key() { + new_test_ext().execute_with(|| { + set_current_key(&PK_A); + let call = make_submit_call(twox_128(&PK_A)); + assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + }); + } + + #[test] + fn inblock_matches_next_key() { + new_test_ext().execute_with(|| { + set_next_key(&PK_B); + let call = make_submit_call(twox_128(&PK_B)); + assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + }); + } + + #[test] + fn inblock_no_match_rejected() { + new_test_ext().execute_with(|| { + set_current_key(&PK_A); + set_next_key(&PK_B); + let call = make_submit_call([0xFF; 16]); + assert_eq!( + validate_ext(Some(1), &call, TransactionSource::InBlock), + Err(TransactionValidityError::Invalid( + InvalidTransaction::BadProof + )) + ); + }); + } + + #[test] + fn inblock_no_keys_set_rejected() { + new_test_ext().execute_with(|| { + let call = make_submit_call(twox_128(&PK_A)); + assert_eq!( + validate_ext(Some(1), &call, TransactionSource::InBlock), + Err(TransactionValidityError::Invalid( + InvalidTransaction::BadProof + )) + ); + }); + } + + #[test] + fn pool_local_skips_key_check() { + new_test_ext().execute_with(|| { + let call = make_submit_call([0xFF; 16]); + assert!(validate_ext(Some(1), &call, TransactionSource::Local).is_ok()); + }); + } + + #[test] + fn pool_external_skips_key_check() { + new_test_ext().execute_with(|| { + let call = make_submit_call([0xFF; 16]); + assert!(validate_ext(Some(1), &call, TransactionSource::External).is_ok()); + }); + } +} diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 0732670406..39016da2a7 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -1,145 +1,47 @@ -use crate as pallet_mev_shield; +use crate as pallet_shield; -use frame_support::{construct_runtime, derive_impl, parameter_types, traits::Everything}; -use frame_system as system; +use frame_support::{construct_runtime, derive_impl}; +use sp_runtime::BuildStorage; +use std::cell::RefCell; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_core::{ConstU32, H256}; -use sp_runtime::traits::BadOrigin; -use sp_runtime::{ - AccountId32, BuildStorage, - traits::{BlakeTwo256, IdentityLookup}, -}; - -// ----------------------------------------------------------------------------- -// Mock runtime -// ----------------------------------------------------------------------------- - -pub type UncheckedExtrinsic = system::mocking::MockUncheckedExtrinsic; -pub type Block = system::mocking::MockBlock; +pub type Block = frame_system::mocking::MockBlock; construct_runtime!( pub enum Test { System: frame_system = 0, - Timestamp: pallet_timestamp = 1, - Aura: pallet_aura = 2, - MevShield: pallet_mev_shield = 3, + MevShield: pallet_shield = 1, } ); -// A concrete nonce type used in tests. -pub type TestNonce = u64; - #[derive_impl(frame_system::config_preludes::TestDefaultConfig)] -impl system::Config for Test { - // Basic system config - type BaseCallFilter = Everything; - type BlockWeights = (); - type BlockLength = (); - type DbWeight = (); - - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type RuntimeEvent = RuntimeEvent; - - type Nonce = TestNonce; - type Hash = H256; - type Hashing = BlakeTwo256; - - type AccountId = AccountId32; - type Lookup = IdentityLookup; +impl frame_system::Config for Test { type Block = Block; - - type BlockHashCount = (); - type Version = (); - type PalletInfo = PalletInfo; - - type AccountData = (); - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = (); - type OnSetCode = (); - - // Max number of consumer refs per account. - type MaxConsumers = ConstU32<16>; } -parameter_types! { - pub const MinimumPeriod: u64 = 1; +thread_local! { + pub static CURRENT_AUTHOR: RefCell> = const { RefCell::new(None) }; + pub static NEXT_AUTHOR: RefCell> = const { RefCell::new(None) }; } -impl pallet_timestamp::Config for Test { - type Moment = u64; - type OnTimestampSet = (); - type MinimumPeriod = MinimumPeriod; - type WeightInfo = (); -} - -// Aura mock configuration -parameter_types! { - pub const MaxAuthorities: u32 = 32; - pub const AllowMultipleBlocksPerSlot: bool = false; - pub const SlotDuration: u64 = 6000; -} +pub struct MockFindAuthors; -impl pallet_aura::Config for Test { - type AuthorityId = AuraId; - // For tests we don't need dynamic disabling; just use unit type. - type DisabledValidators = (); - type MaxAuthorities = MaxAuthorities; - type AllowMultipleBlocksPerSlot = AllowMultipleBlocksPerSlot; - type SlotDuration = SlotDuration; -} - -// ----------------------------------------------------------------------------- -// Authority origin for tests – root-only -// ----------------------------------------------------------------------------- - -/// For tests, treat Root as the “validator set” and return a dummy AccountId. -pub struct TestAuthorityOrigin; - -impl pallet_mev_shield::AuthorityOriginExt for TestAuthorityOrigin { - type AccountId = AccountId32; - - fn ensure_validator(origin: RuntimeOrigin) -> Result { - // Must be a signed origin. - let who: AccountId32 = frame_system::ensure_signed(origin).map_err(|_| BadOrigin)?; - - // Interpret the AccountId bytes as an AuraId, just like the real pallet. - let aura_id = - ::from_slice(who.as_ref()).map_err(|_| BadOrigin)?; - - // Check membership in the Aura validator set. - let is_validator = pallet_aura::Authorities::::get() - .into_iter() - .any(|id| id == aura_id); - - if is_validator { - Ok(who) - } else { - Err(BadOrigin) - } +impl pallet_shield::FindAuthors for MockFindAuthors { + fn find_current_author() -> Option { + CURRENT_AUTHOR.with(|a| *a.borrow()) + } + fn find_next_author() -> Option { + NEXT_AUTHOR.with(|a| *a.borrow()) } } -// ----------------------------------------------------------------------------- -// MevShield Config -// ----------------------------------------------------------------------------- - -impl pallet_mev_shield::Config for Test { - type RuntimeCall = RuntimeCall; - type AuthorityOrigin = TestAuthorityOrigin; +impl pallet_shield::Config for Test { + type AuthorityId = u64; + type FindAuthors = MockFindAuthors; } -// ----------------------------------------------------------------------------- -// new_test_ext -// ----------------------------------------------------------------------------- - pub fn new_test_ext() -> sp_io::TestExternalities { - // Use the construct_runtime!-generated genesis config. RuntimeGenesisConfig::default() .build_storage() - .expect("RuntimeGenesisConfig builds valid default genesis storage") + .expect("valid genesis") .into() } From 60f9d160009110842e300117ce4834fc4da85e84 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 19:59:49 -0300 Subject: [PATCH 054/204] update comment --- pallets/shield/src/lib.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index c4f5759496..3e0caeaec0 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -148,10 +148,15 @@ pub mod pallet { /// 3. Encrypt: /// /// plaintext = signed_extrinsic + /// key_hash = xxhash128(NextKey) + /// kem_len = Length of kem_ct in bytes (u16) + /// kem_ct = Ciphertext from ML‑KEM‑768 + /// nonce = Random 24 bytes used for XChaCha20‑Poly1305 + /// aead_ct = Ciphertext from XChaCha20‑Poly1305 /// /// with ML‑KEM‑768 + XChaCha20‑Poly1305, producing /// - /// ciphertext = [u16 kem_len] || kem_ct || nonce24 || aead_ct + /// ciphertext = key_hash || kem_len || kem_ct || nonce || aead_ct /// #[pallet::call_index(1)] #[pallet::weight(Weight::from_parts(13_980_000, 0) From d261b5ae165b57440267c9523a35d7796597ec14 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 20:20:02 -0300 Subject: [PATCH 055/204] added tests for pallet-shield --- pallets/shield/Cargo.toml | 7 + pallets/shield/src/lib.rs | 4 +- pallets/shield/src/mock.rs | 51 ++- pallets/shield/src/tests.rs | 628 +++++++++++++++--------------------- 4 files changed, 318 insertions(+), 372 deletions(-) diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 76194176db..7fe99adaf9 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -68,3 +68,10 @@ try-runtime = [ "frame-system/try-runtime", "sp-runtime/try-runtime", ] + +[dev-dependencies] +stc-shield.workspace = true +ml-kem.workspace = true +chacha20poly1305 = { workspace = true, features = ["std"] } +rand.workspace = true +pallet-subtensor-utility.workspace = true diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 3e0caeaec0..4d062ed9e8 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -30,7 +30,7 @@ type ExtrinsicOf = ::Extrinsic; type CheckedOf = >::Checked; type ApplyableCallOf = ::Call; -const MAX_KYBER768_PK_LENGTH: usize = 1184; +const MLKEM768_PK_LEN: usize = 1184; const MAX_EXTRINSIC_DEPTH: u32 = 8; #[frame_support::pallet] @@ -117,7 +117,7 @@ pub mod pallet { if let Some(public_key) = &public_key { ensure!( - public_key.len() == MAX_KYBER768_PK_LENGTH, + public_key.len() == MLKEM768_PK_LEN, Error::::BadPublicKeyLen ); AuthorKeys::::insert(&author, public_key.clone()); diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 39016da2a7..0188d081e4 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -1,15 +1,22 @@ use crate as pallet_shield; +use crate::MLKEM768_PK_LEN; -use frame_support::{construct_runtime, derive_impl}; -use sp_runtime::BuildStorage; +use frame_support::{BoundedVec, construct_runtime, derive_impl}; +use sp_runtime::{BuildStorage, generic, testing::TestSignature}; use std::cell::RefCell; +use stp_shield::ShieldPublicKey; pub type Block = frame_system::mocking::MockBlock; +pub type DecodableExtrinsic = generic::UncheckedExtrinsic; +pub type DecodableBlock = + generic::Block, DecodableExtrinsic>; + construct_runtime!( pub enum Test { System: frame_system = 0, MevShield: pallet_shield = 1, + Utility: pallet_subtensor_utility = 2, } ); @@ -18,6 +25,12 @@ impl frame_system::Config for Test { type Block = Block; } +impl pallet_subtensor_utility::Config for Test { + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = (); +} + thread_local! { pub static CURRENT_AUTHOR: RefCell> = const { RefCell::new(None) }; pub static NEXT_AUTHOR: RefCell> = const { RefCell::new(None) }; @@ -45,3 +58,37 @@ pub fn new_test_ext() -> sp_io::TestExternalities { .expect("valid genesis") .into() } + +pub fn valid_pk() -> ShieldPublicKey { + BoundedVec::truncate_from(vec![0x42; MLKEM768_PK_LEN]) +} + +pub fn valid_pk_b() -> ShieldPublicKey { + BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]) +} + +pub fn set_authors(current: Option, next: Option) { + CURRENT_AUTHOR.with(|a| *a.borrow_mut() = current); + NEXT_AUTHOR.with(|a| *a.borrow_mut() = next); +} + +pub fn nest_call(call: RuntimeCall, depth: usize) -> RuntimeCall { + (0..depth).fold(call, |inner, _| { + RuntimeCall::Utility(pallet_subtensor_utility::Call::batch { calls: vec![inner] }) + }) +} + +pub fn build_wire_ciphertext( + key_hash: &[u8; 16], + kem_ct: &[u8], + nonce: &[u8; 24], + aead_ct: &[u8], +) -> Vec { + let mut buf = Vec::new(); + buf.extend_from_slice(key_hash); + buf.extend_from_slice(&(kem_ct.len() as u16).to_le_bytes()); + buf.extend_from_slice(kem_ct); + buf.extend_from_slice(nonce); + buf.extend_from_slice(aead_ct); + buf +} diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 18eda7eacc..3f397dcb98 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,443 +1,335 @@ -use crate as pallet_mev_shield; use crate::mock::*; - -use frame_support::{ - BoundedVec, assert_noop, assert_ok, - traits::{ConstU32 as FrameConstU32, Hooks}, -}; -use frame_system::pallet_prelude::BlockNumberFor; -use pallet_mev_shield::{ - Call as MevShieldCall, CurrentKey, Event as MevShieldEvent, KeyHashByBlock, NextKey, - Submissions, +use crate::{AuthorKeys, CurrentKey, Error, NextKey}; + +use codec::Encode; +use frame_support::{BoundedVec, assert_noop, assert_ok}; +use sp_runtime::BuildStorage; +use sp_runtime::testing::TestSignature; +use sp_runtime::traits::{Block as BlockT, Hash}; +use stp_shield::{ShieldKeystore, ShieldKeystoreExt, ShieldPublicKey, ShieldedTransaction}; + +use chacha20poly1305::{ + KeyInit, XChaCha20Poly1305, XNonce, + aead::{Aead, Payload}, }; -use sp_core::{Pair, sr25519}; -use sp_runtime::{ - AccountId32, - traits::{Hash, SaturatedConversion}, +use ml_kem::{ + EncodedSizeUser, MlKem768Params, + kem::{Encapsulate, EncapsulationKey}, }; +use rand::rngs::OsRng; +use stc_shield::MemoryShieldKeystore; +use std::sync::Arc; -// Type aliases for convenience in tests. -type TestHash = ::Hash; -type TestBlockNumber = BlockNumberFor; - -// ----------------------------------------------------------------------------- -// Helpers -// ----------------------------------------------------------------------------- - -/// Deterministic sr25519 pair for tests (acts as "Alice"). -fn test_sr25519_pair() -> sr25519::Pair { - sr25519::Pair::from_seed(&[1u8; 32]) +#[test] +fn announce_rejects_signed_origin() { + new_test_ext().execute_with(|| { + set_authors(Some(1), None); + assert_noop!( + MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), + sp_runtime::DispatchError::BadOrigin + ); + }); } -// ----------------------------------------------------------------------------- -// Tests -// ----------------------------------------------------------------------------- - #[test] -fn authority_can_announce_next_key_and_on_initialize_rolls_it_and_records_epoch_hash() { +fn announce_shifts_next_into_current() { new_test_ext().execute_with(|| { - const KYBER_PK_LEN: usize = 1184; - let pk_bytes = vec![7u8; KYBER_PK_LEN]; - let bounded_pk: BoundedVec> = - BoundedVec::truncate_from(pk_bytes.clone()); - - // Seed Aura authorities with a single validator and derive the matching account. - let validator_pair = test_sr25519_pair(); - let validator_account: AccountId32 = validator_pair.public().into(); - let validator_aura_id: ::AuthorityId = - validator_pair.public().into(); - - // Authorities storage expects a BoundedVec. - let authorities: BoundedVec< - ::AuthorityId, - ::MaxAuthorities, - > = BoundedVec::truncate_from(vec![validator_aura_id.clone()]); - pallet_aura::Authorities::::put(authorities); - - assert!(CurrentKey::::get().is_none()); - assert!(NextKey::::get().is_none()); + set_authors(Some(1), Some(2)); + + let old_next = valid_pk_b(); + NextKey::::put(old_next.clone()); - // Signed by an Aura validator -> passes TestAuthorityOrigin::ensure_validator. assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::signed(validator_account.clone()), - bounded_pk.clone(), + RuntimeOrigin::none(), + Some(valid_pk()), )); - // NextKey storage updated - let next = NextKey::::get().expect("NextKey should be set"); - assert_eq!(next, pk_bytes); - - // Simulate beginning of block #2. - let block_two: TestBlockNumber = 2u64.saturated_into(); - MevShield::on_initialize(block_two); + assert_eq!(CurrentKey::::get(), Some(old_next)); + }); +} - // CurrentKey should now equal the previously announced NextKey. - let curr = CurrentKey::::get().expect("CurrentKey should be set"); - assert_eq!(curr, pk_bytes); +#[test] +fn announce_stores_key_in_author_keys() { + new_test_ext().execute_with(|| { + set_authors(Some(1), None); + let pk = valid_pk(); - // And NextKey cleared. - assert!(NextKey::::get().is_none()); + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(pk.clone()), + )); - // Key hash for this block should be recorded and equal hash(CurrentKey_bytes). - let expected_hash: TestHash = ::Hashing::hash(curr.as_ref()); - let recorded = - KeyHashByBlock::::get(block_two).expect("epoch key hash must be recorded"); - assert_eq!(recorded, expected_hash); + assert_eq!(AuthorKeys::::get(1u64), Some(pk)); }); } #[test] -fn announce_next_key_rejects_non_validator_origins() { +fn announce_sets_next_key_from_next_author() { new_test_ext().execute_with(|| { - const KYBER_PK_LEN: usize = 1184; - - // Validator account: bytes match the Aura authority we put into storage. - let validator_pair = test_sr25519_pair(); - let validator_account: AccountId32 = validator_pair.public().into(); - let validator_aura_id: ::AuthorityId = - validator_pair.public().into(); - - // Non‑validator is some other key (not in Aura::Authorities). - let non_validator_pair = sr25519::Pair::from_seed(&[2u8; 32]); - let non_validator: AccountId32 = non_validator_pair.public().into(); - - // Only the validator is in the Aura validator set. - let authorities: BoundedVec< - ::AuthorityId, - ::MaxAuthorities, - > = BoundedVec::truncate_from(vec![validator_aura_id.clone()]); - pallet_aura::Authorities::::put(authorities); - - let pk_bytes = vec![9u8; KYBER_PK_LEN]; - let bounded_pk: BoundedVec> = - BoundedVec::truncate_from(pk_bytes.clone()); - - // 1) Signed non‑validator origin must fail with BadOrigin. - assert_noop!( - MevShield::announce_next_key( - RuntimeOrigin::signed(non_validator.clone()), - bounded_pk.clone(), - ), - sp_runtime::DispatchError::BadOrigin - ); + set_authors(Some(1), Some(2)); - // 2) Unsigned origin must also fail with BadOrigin. - assert_noop!( - MevShield::announce_next_key(RuntimeOrigin::none(), bounded_pk.clone(),), - sp_runtime::DispatchError::BadOrigin - ); + let pk_b = valid_pk_b(); + AuthorKeys::::insert(2u64, pk_b.clone()); - // 3) Signed validator origin succeeds (sanity check). assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::signed(validator_account.clone()), - bounded_pk.clone(), + RuntimeOrigin::none(), + Some(valid_pk()), )); - let next = NextKey::::get().expect("NextKey must be set by validator"); - assert_eq!(next, pk_bytes); + assert_eq!(NextKey::::get(), Some(pk_b)); }); } #[test] -fn submit_encrypted_stores_submission_and_emits_event() { +fn announce_next_key_none_when_next_author_has_no_key() { new_test_ext().execute_with(|| { - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); + set_authors(Some(1), Some(2)); - System::set_block_number(10); + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(valid_pk()), + )); - let commitment = - ::Hashing::hash(b"test-mevshield-commitment"); - let ciphertext_bytes = vec![1u8, 2, 3, 4]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes.clone()); + assert!(NextKey::::get().is_none()); + }); +} - assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, - ciphertext.clone(), - )); +#[test] +fn announce_next_key_none_when_no_next_author() { + new_test_ext().execute_with(|| { + set_authors(Some(1), None); - let id = ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(valid_pk()), )); - let stored = Submissions::::get(id).expect("submission stored"); - assert_eq!(stored.author, who); - assert_eq!(stored.commitment, commitment); - assert_eq!(stored.ciphertext.to_vec(), ciphertext_bytes); - assert_eq!(stored.submitted_in, 10); - - let events = System::events(); - let last = events.last().expect("at least one event").event.clone(); - - assert!( - matches!( - last, - RuntimeEvent::MevShield( - MevShieldEvent::::EncryptedSubmitted { id: ev_id, who: ev_who } - ) - if ev_id == id && ev_who == who - ), - "expected EncryptedSubmitted event with correct id & who", - ); + assert!(NextKey::::get().is_none()); }); } #[test] -fn key_hash_by_block_prunes_old_entries() { +fn announce_rejects_bad_pk_length() { new_test_ext().execute_with(|| { - // This must match the constant configured in the pallet. - const KEEP: u64 = 100; - const TOTAL: u64 = KEEP + 5; - - // For each block n, set a CurrentKey and call on_initialize(n), - // which will record KeyHashByBlock[n] and prune old entries. - for n in 1..=TOTAL { - let key_bytes = vec![n as u8; 32]; - let bounded: BoundedVec> = - BoundedVec::truncate_from(key_bytes.clone()); - - CurrentKey::::put(bounded.clone()); - - let bn: TestBlockNumber = n.saturated_into(); - MevShield::on_initialize(bn); - } - - // The oldest block that should still be kept after TOTAL blocks. - let oldest_kept: u64 = if TOTAL > KEEP { TOTAL - KEEP + 1 } else { 1 }; - - // Blocks strictly before oldest_kept must be pruned. - for old in 0..oldest_kept { - let bn: TestBlockNumber = old.saturated_into(); - assert!( - KeyHashByBlock::::get(bn).is_none(), - "block {bn:?} should have been pruned" - ); - } - - // Blocks from oldest_kept..=TOTAL must still have entries. - for recent in oldest_kept..=TOTAL { - let bn: TestBlockNumber = recent.saturated_into(); - assert!( - KeyHashByBlock::::get(bn).is_some(), - "block {bn:?} should be retained" - ); - } - - // Additionally, assert we never exceed the configured cap. - let mut count: u64 = 0; - for bn in 0..=TOTAL { - let bn_t: TestBlockNumber = bn.saturated_into(); - if KeyHashByBlock::::get(bn_t).is_some() { - count += 1; - } - } - let expected = KEEP.min(TOTAL); - assert_eq!( - count, expected, - "expected at most {expected} entries in KeyHashByBlock after pruning, got {count}" + set_authors(Some(1), None); + let bad_pk: ShieldPublicKey = BoundedVec::truncate_from(vec![0x01; 100]); + + assert_noop!( + MevShield::announce_next_key(RuntimeOrigin::none(), Some(bad_pk)), + Error::::BadPublicKeyLen ); }); } #[test] -fn submissions_pruned_after_ttl_window() { +fn announce_none_pk_removes_author_key() { new_test_ext().execute_with(|| { - // This must match KEY_EPOCH_HISTORY in the pallet. - const KEEP: u64 = 100; - const TOTAL: u64 = KEEP + 5; - - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); - - // Helper: create a submission at a specific block with a tagged commitment. - let make_submission = |block: u64, tag: &[u8]| -> TestHash { - System::set_block_number(block); - let commitment: TestHash = ::Hashing::hash(tag); - let ciphertext_bytes = vec![block as u8; 4]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes); - - assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, - ciphertext.clone(), - )); - - ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, - )) - }; - - // With n = TOTAL and depth = KEEP, prune_before = n - KEEP = 5. - let stale_block1: u64 = 1; // < 5, should be pruned - let stale_block2: u64 = 4; // < 5, should be pruned - let keep_block1: u64 = 5; // == prune_before, should be kept - let keep_block2: u64 = TOTAL; // latest, should be kept - - let id_stale1 = make_submission(stale_block1, b"stale-1"); - let id_stale2 = make_submission(stale_block2, b"stale-2"); - let id_keep1 = make_submission(keep_block1, b"keep-1"); - let id_keep2 = make_submission(keep_block2, b"keep-2"); - - // Sanity: all are present before pruning. - assert!(Submissions::::get(id_stale1).is_some()); - assert!(Submissions::::get(id_stale2).is_some()); - assert!(Submissions::::get(id_keep1).is_some()); - assert!(Submissions::::get(id_keep2).is_some()); - - // Run on_initialize at block TOTAL, triggering TTL pruning over Submissions. - let n_final: TestBlockNumber = TOTAL.saturated_into(); - MevShield::on_initialize(n_final); - - // Submissions with submitted_in < prune_before (5) should be gone. - assert!(Submissions::::get(id_stale1).is_none()); - assert!(Submissions::::get(id_stale2).is_none()); - - // Submissions at or after prune_before should remain. - assert!(Submissions::::get(id_keep1).is_some()); - assert!(Submissions::::get(id_keep2).is_some()); + set_authors(Some(1), None); + AuthorKeys::::insert(1u64, valid_pk()); + + assert_ok!(MevShield::announce_next_key(RuntimeOrigin::none(), None)); + + assert!(AuthorKeys::::get(1u64).is_none()); }); } #[test] -fn mark_decryption_failed_removes_submission_and_emits_event() { +fn announce_fails_when_no_current_author() { new_test_ext().execute_with(|| { - System::set_block_number(42); - let pair = test_sr25519_pair(); - let who: AccountId32 = pair.public().into(); + set_authors(None, None); - let commitment: TestHash = - ::Hashing::hash(b"failed-decryption-commitment"); - let ciphertext_bytes = vec![5u8; 8]; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(ciphertext_bytes.clone()); + assert_noop!( + MevShield::announce_next_key(RuntimeOrigin::none(), Some(valid_pk())), + Error::::Unreachable + ); + }); +} + +#[test] +fn submit_encrypted_emits_event() { + new_test_ext().execute_with(|| { + System::set_block_number(1); + + let ciphertext = BoundedVec::truncate_from(vec![0xAA; 64]); + let who: u64 = 1; assert_ok!(MevShield::submit_encrypted( - RuntimeOrigin::signed(who.clone()), - commitment, + RuntimeOrigin::signed(who), ciphertext.clone(), )); - let id: TestHash = ::Hashing::hash_of(&( - who.clone(), - commitment, - &ciphertext, - )); - - // Sanity: submission exists. - assert!(Submissions::::get(id).is_some()); + let expected_id = ::Hashing::hash_of(&(who, &ciphertext)); - // Reason we will pass into mark_decryption_failed. - let reason_bytes = b"AEAD decrypt failed".to_vec(); - let reason: BoundedVec> = - BoundedVec::truncate_from(reason_bytes.clone()); + System::assert_last_event( + crate::Event::::EncryptedSubmitted { + id: expected_id, + who, + } + .into(), + ); + }); +} - // Call mark_decryption_failed as unsigned (RuntimeOrigin::none()). - assert_ok!(MevShield::mark_decryption_failed( - RuntimeOrigin::none(), - id, - reason.clone(), - )); +#[test] +fn submit_encrypted_rejects_unsigned() { + new_test_ext().execute_with(|| { + let ciphertext = BoundedVec::truncate_from(vec![0xAA; 64]); - // Submission should be removed. - assert!(Submissions::::get(id).is_none()); - - // Last event should be DecryptionFailed with the correct id and reason. - let events = System::events(); - let last = events - .last() - .expect("an event should be emitted") - .event - .clone(); - - assert!( - matches!( - last, - RuntimeEvent::MevShield( - MevShieldEvent::::DecryptionFailed { id: ev_id, reason: ev_reason } - ) - if ev_id == id && ev_reason.to_vec() == reason_bytes - ), - "expected DecryptionFailed event with correct id & reason" + assert_noop!( + MevShield::submit_encrypted(RuntimeOrigin::none(), ciphertext), + sp_runtime::DispatchError::BadOrigin ); - - // A second call with the same id should now fail with MissingSubmission. - let res = MevShield::mark_decryption_failed(RuntimeOrigin::none(), id, reason); - assert_noop!(res, pallet_mev_shield::Error::::MissingSubmission); }); } #[test] -fn announce_next_key_charges_then_refunds_fee() { +fn try_decode_shielded_tx_parses_bare_submit_encrypted() { new_test_ext().execute_with(|| { - const KYBER_PK_LEN: usize = 1184; - - // --------------------------------------------------------------------- - // 1. Seed Aura authorities with a single validator and derive account. - // --------------------------------------------------------------------- - let validator_pair = test_sr25519_pair(); - let validator_account: AccountId32 = validator_pair.public().into(); - let validator_aura_id: ::AuthorityId = - validator_pair.public().into(); - - let authorities: BoundedVec< - ::AuthorityId, - ::MaxAuthorities, - > = BoundedVec::truncate_from(vec![validator_aura_id]); - pallet_aura::Authorities::::put(authorities); - - // --------------------------------------------------------------------- - // 2. Build a valid Kyber public key and the corresponding RuntimeCall. - // --------------------------------------------------------------------- - let pk_bytes = vec![42u8; KYBER_PK_LEN]; - let bounded_pk: BoundedVec> = - BoundedVec::truncate_from(pk_bytes.clone()); - - let runtime_call = RuntimeCall::MevShield(MevShieldCall::::announce_next_key { - public_key: bounded_pk.clone(), + let key_hash = [0xAB; 16]; + let kem_ct = vec![0xCC; 32]; + let nonce = [0xDD; 24]; + let aead_ct = vec![0xEE; 64]; + + let ciphertext = build_wire_ciphertext(&key_hash, &kem_ct, &nonce, &aead_ct); + let call = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(ciphertext), }); + let uxt = DecodableExtrinsic::new_bare(call); + + let result = crate::Pallet::::try_decode_shielded_tx::< + DecodableBlock, + frame_system::ChainContext, + >(uxt); + assert!(result.is_some()); + + let shielded = result.unwrap(); + assert_eq!(shielded.key_hash, key_hash); + assert_eq!(shielded.kem_ct, kem_ct); + assert_eq!(shielded.nonce, nonce); + assert_eq!(shielded.aead_ct, aead_ct); + }); +} - // --------------------------------------------------------------------- - // 3. Pre-dispatch: DispatchInfo must say Pays::Yes. - // --------------------------------------------------------------------- - let pre_info = ::get_dispatch_info( - &runtime_call, - ); +#[test] +fn try_decode_shielded_tx_returns_none_for_non_shield_call() { + new_test_ext().execute_with(|| { + let call = RuntimeCall::System(frame_system::Call::remark { remark: vec![] }); + let uxt = DecodableExtrinsic::new_bare(call); + + let result = crate::Pallet::::try_decode_shielded_tx::< + DecodableBlock, + frame_system::ChainContext, + >(uxt); + assert!(result.is_none()); + }); +} - assert_eq!( - pre_info.pays_fee, - frame_support::dispatch::Pays::Yes, - "announce_next_key must be declared as fee-paying at pre-dispatch" - ); +#[test] +fn try_decode_shielded_tx_returns_none_for_bad_signature() { + new_test_ext().execute_with(|| { + let ciphertext = build_wire_ciphertext(&[0xAB; 16], &[0xCC; 32], &[0xDD; 24], &[0xEE; 64]); + let call = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(ciphertext), + }); + let bad_sig = TestSignature(1, vec![0xFF; 32]); + let uxt = DecodableExtrinsic::new_signed(call, 1u64, bad_sig, ()); + + let result = crate::Pallet::::try_decode_shielded_tx::< + DecodableBlock, + frame_system::ChainContext, + >(uxt); + assert!(result.is_none()); + }); +} - // --------------------------------------------------------------------- - // 4. Dispatch via the pallet function. - // --------------------------------------------------------------------- - let post = MevShield::announce_next_key( - RuntimeOrigin::signed(validator_account.clone()), - bounded_pk.clone(), - ) - .expect("announce_next_key should succeed for an Aura validator"); +#[test] +fn try_decode_shielded_tx_returns_none_for_malformed_ciphertext() { + new_test_ext().execute_with(|| { + let call = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(vec![0u8; 5]), + }); + let uxt = DecodableExtrinsic::new_bare(call); - // Post-dispatch info should switch pays_fee from Yes -> No (refund). - assert_eq!( - post.pays_fee, - frame_support::dispatch::Pays::No, - "announce_next_key must refund the previously chargeable fee" - ); + let result = crate::Pallet::::try_decode_shielded_tx::< + DecodableBlock, + frame_system::ChainContext, + >(uxt); + assert!(result.is_none()); + }); +} - // And we don't override the actual weight (None => use pre-dispatch weight). - assert!( - post.actual_weight.is_none(), - "announce_next_key should not override actual_weight in PostDispatchInfo" - ); - let next = NextKey::::get().expect("NextKey should be set by announce_next_key"); - assert_eq!(next, pk_bytes); +#[test] +fn try_decode_shielded_tx_returns_none_when_depth_exceeded() { + new_test_ext().execute_with(|| { + let ciphertext = build_wire_ciphertext(&[0xAB; 16], &[0xCC; 32], &[0xDD; 24], &[0xEE; 64]); + let inner = RuntimeCall::MevShield(crate::Call::submit_encrypted { + ciphertext: BoundedVec::truncate_from(ciphertext), + }); + let call = nest_call(inner, 8); + let uxt = DecodableExtrinsic::new_bare(call); + + let result = crate::Pallet::::try_decode_shielded_tx::< + DecodableBlock, + frame_system::ChainContext, + >(uxt); + assert!(result.is_none()); + }); +} + +#[test] +fn try_unshield_tx_decrypts_extrinsic() { + let keystore = Arc::new(MemoryShieldKeystore::new()); + + // Client side: read the announced public key and encapsulate. + let pk_bytes = keystore.next_public_key().unwrap(); + let enc_key = + EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); + let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); + + // Build the inner extrinsic that we'll encrypt. + let inner_call = RuntimeCall::System(frame_system::Call::remark { + remark: vec![1, 2, 3], + }); + let inner_uxt = ::Extrinsic::new_bare(inner_call); + let plaintext = inner_uxt.encode(); + + // AEAD encrypt the extrinsic bytes. + let nonce = [42u8; 24]; + let cipher = XChaCha20Poly1305::new(shared_secret.as_slice().into()); + let aead_ct = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: &plaintext, + aad: &[], + }, + ) + .unwrap(); + + // Roll keystore so next -> current (author side). + keystore.roll_for_next_slot().unwrap(); + + let shielded_tx = ShieldedTransaction { + key_hash: [0u8; 16], + kem_ct: kem_ct.as_slice().to_vec(), + nonce, + aead_ct, + }; + + // Build externalities with ShieldKeystoreExt registered. + let storage = RuntimeGenesisConfig::default() + .build_storage() + .expect("valid genesis"); + let mut ext = sp_io::TestExternalities::new(storage); + ext.register_extension(ShieldKeystoreExt::from( + keystore as Arc, + )); + + ext.execute_with(|| { + let result = crate::Pallet::::try_unshield_tx::(shielded_tx); + assert!(result.is_some()); + + let decoded = result.unwrap(); + assert_eq!(decoded.encode(), inner_uxt.encode()); }); } From 60aac720e8061c7848926d53460903d2f5320ab2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 21:17:13 -0300 Subject: [PATCH 056/204] update workspace Cargo.toml --- Cargo.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index fe0ad8c7a3..05ebab1eb9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,13 +33,19 @@ members = [ "runtime", "support/*", "chain-extensions", - "client/shield" + "client/shield", ] resolver = "2" [workspace.package] edition = "2024" +[workspace.lints.rust] +unexpected_cfgs = { level = "allow", check-cfg = ['cfg(substrate_runtime)'] } + +[workspace.lints.rust] +unexpected_cfgs = { level = "allow", check-cfg = ['cfg(substrate_runtime)'] } + [workspace.lints.clippy] arithmetic-side-effects = "deny" expect-used = "deny" @@ -71,7 +77,9 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } +stp-io = { path = "primitives/io", default-features = false } stp-shield = { path = "primitives/shield", default-features = false } +stc-shield = { path = "client/shield", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" From 4e1b6d2d3b25ff346cdfb22ce00256730c8302b6 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 13 Feb 2026 23:42:23 -0300 Subject: [PATCH 057/204] fix Cargo.toml for pallet-shield and workspace --- Cargo.lock | 3624 +++++++++++++++++++------------------ Cargo.toml | 217 ++- pallets/shield/Cargo.toml | 29 +- 3 files changed, 1974 insertions(+), 1896 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cfb96c21d6..d7547286d9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1058,10 +1058,10 @@ name = "assets-common" version = "0.22.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "ethereum-standards", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-assets", @@ -1071,10 +1071,10 @@ dependencies = [ "parachains-common", "parity-scale-codec", "scale-info", - "sp-api", - "sp-core", - "sp-runtime", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -1708,14 +1708,14 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bp-runtime", "finality-grandpa", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-consensus-grandpa", - "sp-core", - "sp-runtime", - "sp-std", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1725,13 +1725,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bp-header-chain", "bp-runtime", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1742,13 +1742,13 @@ dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1758,13 +1758,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bp-messages", "bp-runtime", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1776,13 +1776,13 @@ dependencies = [ "bp-messages", "bp-parachains", "bp-runtime", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1790,8 +1790,8 @@ name = "bp-runtime" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hash-db", "impl-trait-for-tuples", "log", @@ -1799,12 +1799,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "trie-db", ] @@ -1820,12 +1820,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto", - "sp-consensus-grandpa", - "sp-core", - "sp-runtime", - "sp-std", - "sp-trie", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1835,14 +1835,14 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bp-messages", "bp-runtime", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-std", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1852,9 +1852,9 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -1862,16 +1862,16 @@ name = "bridge-hub-common" version = "0.14.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", - "frame-support", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-message-queue", "parity-scale-codec", "scale-info", "snowbridge-core", - "sp-core", - "sp-runtime", - "sp-std", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -1887,8 +1887,8 @@ dependencies = [ "bp-polkadot-core", "bp-relayers", "bp-runtime", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -1898,12 +1898,12 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-std", - "sp-trie", - "sp-weights", - "staging-xcm", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tuplex", ] @@ -2727,7 +2727,7 @@ dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "cumulus-client-network", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "futures", "hex", @@ -2738,10 +2738,10 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-network", - "sc-service", - "sp-consensus-babe", - "sp-runtime", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tokio", ] @@ -2752,13 +2752,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "clap", "parity-scale-codec", - "sc-chain-spec", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-cli", - "sc-client-api", - "sc-service", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "url", ] @@ -2769,19 +2769,19 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "parity-scale-codec", "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives", - "sc-client-api", - "sp-api", - "sp-consensus", - "sp-core", - "sp-runtime", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -2796,7 +2796,7 @@ dependencies = [ "cumulus-client-consensus-proposer", "cumulus-client-parachain-inherent", "cumulus-primitives-aura", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "futures", "parity-scale-codec", @@ -2805,29 +2805,29 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-babe", - "sc-consensus-slots", - "sc-telemetry", - "sc-utils", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-timestamp", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tokio", "tracing", ] @@ -2839,28 +2839,28 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "async-trait", "cumulus-client-pov-recovery", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "dyn-clone", "futures", "log", "parity-scale-codec", - "polkadot-primitives", - "sc-client-api", - "sc-consensus", - "sc-consensus-babe", - "sc-network", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-runtime", - "sp-timestamp", - "sp-trie", - "sp-version", - "substrate-prometheus-endpoint", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -2872,10 +2872,10 @@ dependencies = [ "anyhow", "async-trait", "cumulus-primitives-parachain-inherent", - "sp-consensus", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -2886,19 +2886,19 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "async-trait", "cumulus-client-consensus-common", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "futures", "parking_lot 0.12.5", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -2915,17 +2915,17 @@ dependencies = [ "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives", - "polkadot-primitives", - "sc-client-api", - "sc-network", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-version", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -2935,7 +2935,7 @@ version = "0.18.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", @@ -2956,7 +2956,7 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "futures", @@ -2965,16 +2965,16 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", - "sc-client-api", - "sc-consensus", - "sc-network", - "sp-api", - "sp-consensus", - "sp-maybe-compressed-blob", - "sp-runtime", - "sp-version", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -2989,33 +2989,33 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-client-pov-recovery", - "cumulus-primitives-core", - "cumulus-primitives-proof-size-hostfunction", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-streams", "futures", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "prometheus", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-sync", - "sc-network-transactions", - "sc-rpc", - "sc-service", - "sc-sysinfo", - "sc-telemetry", - "sc-transaction-pool", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-io", - "sp-runtime", - "sp-transaction-pool", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3024,15 +3024,15 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-aura", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3040,16 +3040,16 @@ name = "cumulus-pallet-dmp-queue" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", - "frame-benchmarking", - "frame-support", - "frame-system", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3059,32 +3059,32 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-primitives-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "environmental", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hashbrown 0.15.5", "impl-trait-for-tuples", "log", "pallet-message-queue", "parity-scale-codec", - "polkadot-parachain-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-parachains", "scale-info", - "sp-consensus-babe", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-trie", - "sp-version", - "staging-xcm", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "trie-db", ] @@ -3105,12 +3105,12 @@ name = "cumulus-pallet-session-benchmarking" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-session", "parity-scale-codec", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3119,13 +3119,13 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-sudo", "parity-scale-codec", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3133,18 +3133,18 @@ name = "cumulus-pallet-weight-reclaim" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-storage-weight-reclaim", + "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "derive-where", "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-trie", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3152,14 +3152,14 @@ name = "cumulus-pallet-xcm" version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3169,20 +3169,20 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "approx", "bounded-collections 0.2.4", - "cumulus-primitives-core", - "frame-benchmarking", - "frame-support", - "frame-system", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-message-queue", "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3193,13 +3193,13 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "cumulus-pallet-xcm", - "cumulus-primitives-core", - "frame-support", - "frame-system", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-runtime", - "staging-xcm", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3234,7 +3234,7 @@ version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "sp-core", @@ -3274,14 +3274,14 @@ name = "cumulus-primitives-utility" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", - "frame-support", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime", - "staging-xcm", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3294,24 +3294,24 @@ dependencies = [ "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "futures", "futures-timer", "polkadot-cli", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-service", "sc-cli", - "sc-client-api", - "sc-network", - "sc-sysinfo", - "sc-telemetry", - "sc-tracing", - "sp-api", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -3320,17 +3320,17 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "sc-client-api", - "sc-network", - "sp-api", - "sp-blockchain", - "sp-state-machine", - "sp-version", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -3343,30 +3343,30 @@ dependencies = [ "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "polkadot-core-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-network-bridge", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-service", "sc-authority-discovery", - "sc-client-api", - "sc-network", - "sc-network-common", - "sc-service", - "sc-tracing", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-runtime", - "substrate-prometheus-endpoint", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -3376,7 +3376,7 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "either", "futures", @@ -3387,23 +3387,23 @@ dependencies = [ "polkadot-overseer", "prometheus", "rand 0.8.5", - "sc-client-api", - "sc-network", - "sc-rpc-api", - "sc-service", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "serde", "serde_json", "smoldot 0.11.0", "smoldot-light 0.9.0", - "sp-authority-discovery", - "sp-consensus-babe", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-version", - "substrate-prometheus-endpoint", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio", "tokio-util", @@ -3419,9 +3419,9 @@ dependencies = [ "cumulus-relay-chain-interface", "futures", "polkadot-node-subsystem", - "polkadot-primitives", - "sp-api", - "sp-consensus", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -3430,12 +3430,12 @@ name = "cumulus-test-relay-sproof-builder" version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", - "polkadot-primitives", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -4432,8 +4432,8 @@ dependencies = [ "async-trait", "fp-storage", "parity-scale-codec", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4443,13 +4443,13 @@ source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde dependencies = [ "fc-rpc", "fp-storage", - "sc-client-api", - "sc-consensus-aura", - "sp-api", - "sp-consensus-aura", - "sp-inherents", - "sp-runtime", - "sp-timestamp", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4458,14 +4458,14 @@ version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ "fc-rpc", - "sc-client-api", - "sc-consensus-babe", - "sp-api", - "sp-blockchain", - "sp-consensus-babe", - "sp-inherents", - "sp-runtime", - "sp-timestamp", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4476,11 +4476,11 @@ dependencies = [ "async-trait", "fp-consensus", "fp-rpc", - "sc-consensus", - "sp-api", - "sp-block-builder", - "sp-consensus", - "sp-runtime", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 2.0.17", ] @@ -4502,14 +4502,14 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api", - "sc-client-db", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "smallvec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "sqlx", "tokio", ] @@ -4527,13 +4527,13 @@ dependencies = [ "futures-timer", "log", "parking_lot 0.12.5", - "sc-client-api", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tokio", ] @@ -4562,28 +4562,28 @@ dependencies = [ "prometheus", "rand 0.9.2", "rlp 0.6.1", - "sc-client-api", - "sc-network", - "sc-network-sync", - "sc-rpc", - "sc-service", - "sc-transaction-pool-api", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "schnellru", "serde", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 2.0.17", "tokio", ] @@ -4613,11 +4613,11 @@ dependencies = [ "fp-rpc", "fp-storage", "parity-scale-codec", - "sc-client-api", - "sp-api", - "sp-io", - "sp-runtime", - "sp-storage", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4807,10 +4807,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4820,8 +4820,8 @@ source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde dependencies = [ "ethereum", "parity-scale-codec", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4832,7 +4832,7 @@ dependencies = [ "ethereum", "ethereum-types", "fp-evm", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "parity-scale-codec", ] @@ -4843,13 +4843,13 @@ source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde dependencies = [ "environmental", "evm", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "num_enum", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4862,10 +4862,10 @@ dependencies = [ "fp-evm", "parity-scale-codec", "scale-info", - "sp-api", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4873,11 +4873,11 @@ name = "fp-self-contained" version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "parity-scale-codec", "scale-info", "serde", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -4930,54 +4930,54 @@ dependencies = [ "clap", "comfy-table", "cumulus-client-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "env_filter", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-storage-access-test-runtime", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "gethostname", "handlebars", "itertools 0.11.0", "linked-hash-map", "log", "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "rand_pcg", - "sc-block-builder", - "sc-chain-spec", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-runtime-utilities", - "sc-service", - "sc-sysinfo", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-externalities", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-storage", - "sp-timestamp", - "sp-transaction-pool", - "sp-trie", - "sp-version", - "sp-wasm-interface", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subxt", "subxt-signer", "thiserror 1.0.69", @@ -4989,13 +4989,13 @@ name = "frame-benchmarking-pallet-pov" version = "31.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5029,15 +5029,15 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "frame-election-provider-solution-type", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-npos-elections", - "sp-runtime", - "sp-std", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5046,16 +5046,16 @@ version = "41.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "aquamarine", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-tracing", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5101,12 +5101,12 @@ dependencies = [ "array-bytes 6.2.3", "const-hex", "docify", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5116,10 +5116,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-wasm-builder", ] @@ -5254,13 +5254,13 @@ name = "frame-system-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5270,7 +5270,7 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "docify", "parity-scale-codec", - "sp-api", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -5278,10 +5278,10 @@ name = "frame-try-runtime" version = "0.47.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -7820,14 +7820,15 @@ dependencies = [ [[package]] name = "ml-kem" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97befee0c869cb56f3118f49d0f9bb68c9e3f380dec23c1100aedc4ec3ba239a" +checksum = "dcaee19a45f916d98f24a551cc9a2cdae705a040e66f3cbc4f3a282ea6a2e982" dependencies = [ "hybrid-array", "kem", "rand_core 0.6.4", "sha3", + "zeroize", ] [[package]] @@ -7838,15 +7839,15 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-client-api", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-offchain", - "sp-api", - "sp-blockchain", - "sp-consensus", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -7857,11 +7858,11 @@ dependencies = [ "jsonrpsee", "parity-scale-codec", "serde", - "sp-api", - "sp-blockchain", - "sp-core", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-mmr-primitives", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8202,10 +8203,7 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65" name = "node-subtensor" version = "4.0.0-dev" dependencies = [ - "anyhow", "async-trait", - "blake2 0.10.6", - "chacha20poly1305", "clap", "fc-api", "fc-aura", @@ -8218,89 +8216,84 @@ dependencies = [ "fc-storage", "fp-consensus", "fp-rpc", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-benchmarking-cli", "frame-metadata-hash-extension", - "frame-system", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-rpc-runtime-api", "futures", "hex", - "hkdf", "jsonrpsee", "log", "memmap2 0.9.8", - "ml-kem", "node-subtensor-runtime", "num-traits", "pallet-commitments", "pallet-drand", - "pallet-shield", "pallet-subtensor", "pallet-subtensor-swap-rpc", "pallet-subtensor-swap-runtime-api", "pallet-transaction-payment", "pallet-transaction-payment-rpc", "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", "polkadot-sdk", - "rand 0.8.5", - "rand_core 0.9.3", "sc-basic-authorship", - "sc-chain-spec", - "sc-chain-spec-derive", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-cli", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-babe", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-babe-rpc", - "sc-consensus-epochs", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-consensus-manual-seal", - "sc-consensus-slots", - "sc-executor", - "sc-keystore", - "sc-network", - "sc-network-sync", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-offchain", - "sc-rpc", - "sc-rpc-api", - "sc-service", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sha2 0.10.9", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-grandpa", - "sp-consensus-slots", - "sp-core", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-crypto-ec-utils", - "sp-inherents", - "sp-io", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", - "sp-keystore", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-timestamp", - "sp-transaction-pool", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stc-shield", + "stp-io", + "stp-shield 0.1.0", "substrate-build-script-utils", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-custom-rpc", "subtensor-custom-rpc-runtime-api", "subtensor-macros", "subtensor-runtime-common", "tokio", - "x25519-dalek", ] [[package]] @@ -8313,13 +8306,13 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-self-contained", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", "frame-executive", "frame-metadata 23.0.0", "frame-metadata-hash-extension", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -8380,27 +8373,30 @@ dependencies = [ "serde_json", "sha2 0.10.9", "smallvec", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-grandpa", - "sp-consensus-slots", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-transaction-pool", - "sp-version", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stp-io", + "stp-shield 0.1.0", "substrate-fixed", "substrate-wasm-builder", "subtensor-chain-extensions", @@ -8769,9 +8765,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" name = "pallet-admin-utils" version = "4.0.0-dev" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "pallet-crowdloan", @@ -8784,14 +8780,14 @@ dependencies = [ "pallet-subtensor-swap", "parity-scale-codec", "scale-info", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", - "sp-weights", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -8804,9 +8800,9 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-collective", "pallet-identity", @@ -8823,17 +8819,17 @@ name = "pallet-asset-conversion" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8841,17 +8837,17 @@ name = "pallet-asset-conversion-ops" version = "0.9.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-asset-conversion", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8859,14 +8855,14 @@ name = "pallet-asset-conversion-tx-payment" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8874,13 +8870,13 @@ name = "pallet-asset-rate" version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8888,17 +8884,17 @@ name = "pallet-asset-rewards" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8906,15 +8902,15 @@ name = "pallet-asset-tx-payment" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-transaction-payment", "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8923,16 +8919,16 @@ version = "43.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "ethereum-standards", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "pallet-revive", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8952,14 +8948,14 @@ name = "pallet-assets-holder" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-assets", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8977,15 +8973,15 @@ name = "pallet-aura" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-consensus-aura", - "sp-runtime", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -8993,14 +8989,14 @@ name = "pallet-authority-discovery" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-authority-discovery", - "sp-runtime", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9008,12 +9004,12 @@ name = "pallet-authorship" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9021,22 +9017,22 @@ name = "pallet-babe" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-session", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-consensus-babe", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9046,18 +9042,18 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "aquamarine", "docify", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-tracing", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9066,14 +9062,14 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9082,12 +9078,12 @@ version = "1.0.0" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ "fp-evm", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9095,8 +9091,8 @@ name = "pallet-beefy" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-session", @@ -9104,9 +9100,9 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime", - "sp-session", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9115,10 +9111,10 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "array-bytes 6.2.3", - "binary-merkle-tree", - "frame-benchmarking", - "frame-support", - "frame-system", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-beefy", "pallet-mmr", @@ -9126,12 +9122,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-core", - "sp-io", - "sp-runtime", - "sp-state-machine", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9139,16 +9135,16 @@ name = "pallet-bounties" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9159,15 +9155,15 @@ dependencies = [ "bp-header-chain", "bp-runtime", "bp-test-utils", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-consensus-grandpa", - "sp-runtime", - "sp-std", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9178,15 +9174,15 @@ dependencies = [ "bp-header-chain", "bp-messages", "bp-runtime", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", - "sp-trie", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9198,15 +9194,15 @@ dependencies = [ "bp-parachains", "bp-polkadot-core", "bp-runtime", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-bridge-grandpa", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9218,9 +9214,9 @@ dependencies = [ "bp-messages", "bp-relayers", "bp-runtime", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -9228,8 +9224,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9238,16 +9234,16 @@ version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bitvec", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9255,17 +9251,17 @@ name = "pallet-child-bounties" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-bounties", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9273,9 +9269,9 @@ name = "pallet-collator-selection" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-balances", @@ -9283,8 +9279,8 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9293,15 +9289,15 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9309,13 +9305,13 @@ name = "pallet-collective-content" version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9324,9 +9320,9 @@ version = "4.0.0-dev" dependencies = [ "ark-serialize 0.4.2", "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex", "log", "pallet-balances", @@ -9335,10 +9331,10 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "sha2 0.10.9", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-macros", "subtensor-runtime-common", "tle", @@ -9351,9 +9347,9 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "environmental", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "pallet-balances", @@ -9366,11 +9362,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api", - "sp-core", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "wasm-instrument", "wasmi 0.32.3", @@ -9381,8 +9377,8 @@ name = "pallet-contracts-mock-network" version = "18.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-assets", "pallet-balances", "pallet-contracts", @@ -9391,17 +9387,17 @@ dependencies = [ "pallet-timestamp", "pallet-xcm", "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-parachains", "scale-info", - "sp-api", - "sp-core", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-tracing", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "xcm-simulator", @@ -9434,14 +9430,14 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "assert_matches", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9449,35 +9445,35 @@ name = "pallet-core-fellowship" version = "25.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "pallet-crowdloan" version = "0.1.0" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "pallet-preimage", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-macros", ] @@ -9486,14 +9482,14 @@ name = "pallet-delegated-staking" version = "8.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-staking", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9501,16 +9497,16 @@ name = "pallet-democracy" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9518,14 +9514,14 @@ name = "pallet-dev-mode" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9540,9 +9536,9 @@ dependencies = [ "ark-scale 0.0.11", "ark-serialize 0.4.2", "ark-std 0.4.0", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex", "log", "parity-scale-codec", @@ -9550,13 +9546,13 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-crypto-ec-utils", - "sp-io", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", - "sp-keystore", - "sp-runtime", - "sp-std", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-macros", "tle", "w3f-bls 0.1.3", @@ -9567,17 +9563,17 @@ name = "pallet-dummy-dim" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9585,20 +9581,20 @@ name = "pallet-election-provider-multi-block" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-npos-elections", - "sp-runtime", - "sp-std", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9606,19 +9602,19 @@ name = "pallet-election-provider-multi-phase" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-npos-elections", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", ] @@ -9627,12 +9623,12 @@ name = "pallet-election-provider-support-benchmarking" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-system", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "sp-npos-elections", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9640,17 +9636,17 @@ name = "pallet-elections-phragmen" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-npos-elections", - "sp-runtime", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9666,14 +9662,14 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-storage", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-version", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9681,24 +9677,24 @@ name = "pallet-evm" version = "6.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ - "cumulus-primitives-storage-weight-reclaim", + "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "environmental", "ethereum", "evm", "fp-account", "fp-evm", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "hash-db", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9706,8 +9702,8 @@ name = "pallet-evm-chain-id" version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "parity-scale-codec", "scale-info", ] @@ -9718,7 +9714,7 @@ version = "2.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ "fp-evm", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "substrate-bn", ] @@ -9728,10 +9724,10 @@ version = "2.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ "fp-evm", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "pallet-evm", "parity-scale-codec", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9759,7 +9755,7 @@ source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde dependencies = [ "fp-evm", "ripemd", - "sp-io", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9768,16 +9764,16 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-staking", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9786,16 +9782,16 @@ version = "27.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "blake2 0.10.6", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-inherents", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9803,21 +9799,21 @@ name = "pallet-grandpa" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9825,14 +9821,14 @@ name = "pallet-hotfix-sufficients" version = "1.0.0" source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -9841,14 +9837,14 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9856,18 +9852,18 @@ name = "pallet-im-online" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9875,14 +9871,14 @@ name = "pallet-indices" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9901,12 +9897,12 @@ name = "pallet-lottery" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9914,15 +9910,15 @@ name = "pallet-membership" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9931,17 +9927,17 @@ version = "44.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "environmental", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9950,16 +9946,16 @@ version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9968,17 +9964,17 @@ version = "11.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -9991,8 +9987,8 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto", - "sp-mixnet", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10037,15 +10033,15 @@ version = "35.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10074,17 +10070,17 @@ name = "pallet-nomination-pools" version = "39.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", - "sp-tracing", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10092,19 +10088,19 @@ name = "pallet-nomination-pools-benchmarking" version = "39.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-bags-list", "pallet-delegated-staking", "pallet-nomination-pools", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-runtime-interface", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10114,7 +10110,7 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10122,14 +10118,14 @@ name = "pallet-offences" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10137,10 +10133,10 @@ name = "pallet-offences-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-babe", "pallet-balances", @@ -10151,8 +10147,8 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-staking", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10160,17 +10156,17 @@ name = "pallet-origin-restriction" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10190,15 +10186,15 @@ version = "0.12.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10206,16 +10202,16 @@ name = "pallet-people" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "verifiable", ] @@ -10224,15 +10220,15 @@ name = "pallet-preimage" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10250,17 +10246,17 @@ name = "pallet-ranked-collective" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10279,16 +10275,16 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "assert_matches", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10296,15 +10292,15 @@ name = "pallet-registry" version = "4.0.0-dev" dependencies = [ "enumflags2", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-macros", ] @@ -10313,14 +10309,14 @@ name = "pallet-remark" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10333,9 +10329,9 @@ dependencies = [ "environmental", "ethereum-standards", "ethereum-types", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex-literal", "humantime-serde", "impl-trait-for-tuples", @@ -10357,14 +10353,14 @@ dependencies = [ "rlp 0.6.1", "scale-info", "serde", - "sp-api", - "sp-arithmetic", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-io", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-bn", "subxt-signer", ] @@ -10378,8 +10374,8 @@ dependencies = [ "cargo_metadata", "pallet-revive-uapi", "polkavm-linker 0.21.0", - "sp-core", - "sp-io", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "toml 0.8.23", ] @@ -10410,15 +10406,15 @@ name = "pallet-root-offences" version = "38.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-session", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-staking", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10426,12 +10422,12 @@ name = "pallet-root-testing" version = "17.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10466,15 +10462,15 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10482,12 +10478,12 @@ name = "pallet-scored-pool" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10495,20 +10491,20 @@ name = "pallet-session" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-state-machine", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10516,34 +10512,43 @@ name = "pallet-session-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-session", "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime", - "sp-session", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "pallet-shield" version = "0.0.1" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "chacha20poly1305", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "log", + "ml-kem", "pallet-aura", - "pallet-timestamp", + "pallet-subtensor-utility", "parity-scale-codec", + "rand 0.8.5", "scale-info", - "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-weights", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stc-shield", + "stp-io", + "stp-shield 0.1.0", "subtensor-macros", ] @@ -10552,28 +10557,28 @@ name = "pallet-skip-feeless-payment" version = "16.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" -dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +dependencies = [ + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic", - "sp-io", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10581,10 +10586,10 @@ name = "pallet-staking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-session", @@ -10592,10 +10597,10 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", - "sp-staking", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10603,10 +10608,10 @@ name = "pallet-staking-async" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-staking-async-rc-client", "parity-scale-codec", @@ -10614,11 +10619,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-staking", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10626,8 +10631,8 @@ name = "pallet-staking-async-ah-client" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-authorship", "pallet-session", @@ -10635,9 +10640,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", - "sp-staking", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10645,16 +10650,16 @@ name = "pallet-staking-async-rc-client" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-staking", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10674,7 +10679,7 @@ version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "log", - "sp-arithmetic", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10683,8 +10688,8 @@ version = "27.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-staking", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10692,15 +10697,15 @@ name = "pallet-state-trie-migration" version = "46.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10708,16 +10713,16 @@ name = "pallet-statement" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-api", - "sp-core", - "sp-io", - "sp-runtime", - "sp-statement-store", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10726,9 +10731,9 @@ version = "4.0.0-dev" dependencies = [ "approx", "ark-serialize 0.4.2", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex", "hex-literal", "libsecp256k1", @@ -10762,10 +10767,10 @@ dependencies = [ "sp-core", "sp-io", "sp-keyring", - "sp-runtime", - "sp-std", - "sp-tracing", - "sp-version", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -10795,21 +10800,21 @@ version = "0.1.0" dependencies = [ "alloy-primitives 0.8.25", "approx", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", "safe-math", "scale-info", "serde", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -10823,9 +10828,9 @@ dependencies = [ "jsonrpsee", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-runtime-common", "subtensor-swap-interface", ] @@ -10834,7 +10839,7 @@ dependencies = [ name = "pallet-subtensor-swap-runtime-api" version = "1.0.0" dependencies = [ - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "sp-api", @@ -10848,17 +10853,17 @@ dependencies = [ name = "pallet-subtensor-utility" version = "40.0.0" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "pallet-balances", "pallet-root-testing", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-macros", ] @@ -10868,13 +10873,13 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10883,16 +10888,16 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-inherents", - "sp-runtime", - "sp-storage", - "sp-timestamp", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10900,17 +10905,17 @@ name = "pallet-tips" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-treasury", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10918,14 +10923,14 @@ name = "pallet-transaction-payment" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10936,12 +10941,12 @@ dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-weights", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10951,9 +10956,9 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api", - "sp-runtime", - "sp-weights", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10962,17 +10967,17 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-inherents", - "sp-io", - "sp-runtime", - "sp-transaction-storage-proof", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -10981,17 +10986,17 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -11010,13 +11015,13 @@ name = "pallet-uniques" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -11024,14 +11029,14 @@ name = "pallet-utility" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -11039,14 +11044,14 @@ name = "pallet-verify-signature" version = "0.4.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-weights", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -11054,13 +11059,13 @@ name = "pallet-vesting" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -11079,9 +11084,9 @@ version = "20.1.3" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bounded-collections 0.2.4", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex-literal", "pallet-balances", "pallet-revive", @@ -11089,10 +11094,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -11104,14 +11109,14 @@ name = "pallet-xcm-benchmarks" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11124,16 +11129,16 @@ dependencies = [ "bp-messages", "bp-runtime", "bp-xcm-bridge-hub", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11144,17 +11149,17 @@ version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bp-xcm-bridge-hub-router", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "polkadot-runtime-parachains", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", ] @@ -11163,10 +11168,10 @@ name = "parachains-common" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-primitives-utility", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-asset-tx-payment", "pallet-assets", @@ -11176,14 +11181,14 @@ dependencies = [ "pallet-message-queue", "pallet-xcm", "parity-scale-codec", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", - "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-runtime", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-parachain-info", - "staging-xcm", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-executor", ] @@ -11510,7 +11515,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "tracing-gum", ] @@ -11525,7 +11530,7 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "tracing-gum", ] @@ -11543,12 +11548,12 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", - "sc-network", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-core", - "sp-keystore", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11567,9 +11572,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", - "sc-network", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "thiserror 1.0.69", "tokio", @@ -11599,13 +11604,13 @@ dependencies = [ "polkadot-node-primitives", "polkadot-service", "sc-cli", - "sc-service", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-storage-monitor", - "sc-sysinfo", - "sc-tracing", - "sp-core", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-build-script-utils", "thiserror 1.0.69", ] @@ -11623,11 +11628,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio-util", "tracing-gum", @@ -11658,10 +11663,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sc-network", - "sp-application-crypto", - "sp-keystore", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11673,10 +11678,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "reed-solomon-novelpoly", - "sp-core", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -11690,7 +11695,7 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "rand_chacha 0.3.1", "sc-network", @@ -11717,9 +11722,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives", - "sc-network", - "sp-consensus", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11735,9 +11740,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11759,17 +11764,17 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", - "sc-keystore", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "schnorrkel 0.11.5", - "sp-application-crypto", - "sp-consensus", - "sp-consensus-slots", - "sp-runtime", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11790,11 +11795,11 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "rand_core 0.6.4", - "sc-keystore", - "sp-consensus", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -11811,8 +11816,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-consensus", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11829,11 +11834,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-statement-table", "schnellru", - "sp-keystore", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11846,8 +11851,8 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-keystore", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", "wasm-timer", @@ -11868,10 +11873,10 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-parachain-primitives", - "polkadot-primitives", - "sp-application-crypto", - "sp-keystore", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -11884,8 +11889,8 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "sc-client-api", - "sc-consensus-babe", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -11900,7 +11905,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11916,8 +11921,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sc-keystore", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "thiserror 1.0.69", "tracing-gum", @@ -11933,9 +11938,9 @@ dependencies = [ "futures-timer", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives", - "sp-blockchain", - "sp-inherents", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11949,7 +11954,7 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11966,7 +11971,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -11986,12 +11991,12 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", - "sc-tracing", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "slotmap", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", "tempfile", "thiserror 1.0.69", @@ -12007,8 +12012,8 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-keystore", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -12023,11 +12028,11 @@ dependencies = [ "libc", "nix 0.29.0", "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", - "sc-executor", - "sc-executor-common", - "sc-executor-wasmtime", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "seccompiler", "sp-core", "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", @@ -12047,9 +12052,9 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-consensus-babe", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -12062,12 +12067,12 @@ dependencies = [ "futures", "futures-timer", "parity-scale-codec", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "prioritized-metered-channel", "sc-cli", - "sc-service", - "sc-tracing", - "substrate-prometheus-endpoint", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -12084,12 +12089,12 @@ dependencies = [ "hex", "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "rand 0.8.5", "sc-authority-discovery", - "sc-network", - "sc-network-types", - "sp-runtime", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", "thiserror 1.0.69", "tracing-gum", @@ -12103,18 +12108,18 @@ dependencies = [ "bitvec", "bounded-vec", "futures", - "futures-timer", - "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", - "sc-keystore", + "futures-timer", + "parity-scale-codec", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnorrkel 0.11.5", "serde", - "sp-application-crypto", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-keystore", - "sp-maybe-compressed-blob", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "zstd 0.12.4", ] @@ -12140,19 +12145,19 @@ dependencies = [ "orchestra", "polkadot-node-network-protocol", "polkadot-node-primitives", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-statement-table", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "smallvec", - "sp-api", - "sp-authority-discovery", - "sp-blockchain", - "sp-consensus-babe", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -12175,14 +12180,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "prioritized-metered-channel", "rand 0.8.5", - "sc-keystore", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -12205,12 +12210,12 @@ dependencies = [ "cumulus-client-parachain-inherent", "cumulus-client-service", "cumulus-primitives-aura", - "cumulus-primitives-core", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-relay-chain-interface", "docify", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-benchmarking-cli", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-rpc-runtime-api", "frame-try-runtime", "futures", @@ -12223,52 +12228,52 @@ dependencies = [ "parachains-common", "parity-scale-codec", "polkadot-cli", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-basic-authorship", - "sc-chain-spec", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-cli", - "sc-client-api", - "sc-client-db", - "sc-consensus", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-manual-seal", - "sc-executor", - "sc-keystore", - "sc-network", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-network-statement", - "sc-network-sync", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-offchain", - "sc-rpc", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-runtime-utilities", - "sc-service", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-statement-store", - "sc-sysinfo", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", "serde", "serde_json", - "sp-api", - "sp-block-builder", - "sp-consensus", - "sp-consensus-aura", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-keystore", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-statement-store", - "sp-storage", - "sp-timestamp", - "sp-transaction-pool", - "sp-version", - "sp-weights", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-chain-spec-builder", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-state-trie-migration-rpc", "subxt-metadata", ] @@ -12286,9 +12291,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", - "polkadot-primitives", - "sc-client-api", - "sp-core", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tikv-jemalloc-ctl", "tracing-gum", ] @@ -12346,27 +12351,27 @@ dependencies = [ "jsonrpsee", "mmr-rpc", "pallet-transaction-payment-rpc", - "polkadot-primitives", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-babe-rpc", "sc-consensus-beefy", "sc-consensus-beefy-rpc", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", - "sc-rpc", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-sync-state-rpc", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -12377,10 +12382,10 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bitvec", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "libsecp256k1", "log", @@ -12400,22 +12405,22 @@ dependencies = [ "pallet-treasury", "pallet-vesting", "parity-scale-codec", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "slot-range-helper", - "sp-api", - "sp-core", - "sp-inherents", - "sp-io", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", "sp-npos-elections", - "sp-runtime", - "sp-session", - "sp-staking", - "staging-xcm", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "static_assertions", @@ -12427,10 +12432,10 @@ version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bs58", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", - "polkadot-primitives", - "sp-tracing", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -12440,10 +12445,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "bitflags 1.3.2", "bitvec", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "log", "pallet-authority-discovery", @@ -12457,26 +12462,26 @@ dependencies = [ "pallet-staking", "pallet-timestamp", "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-metrics", "rand 0.8.5", "rand_chacha 0.3.1", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-std", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-executor", "static_assertions", ] @@ -12498,16 +12503,16 @@ dependencies = [ "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", "cumulus-ping", - "cumulus-primitives-core", - "cumulus-primitives-proof-size-hostfunction", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "cumulus-primitives-utility", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-benchmarking-cli", "frame-benchmarking-pallet-pov", "frame-election-provider-support", "frame-executive", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-benchmarking", "frame-try-runtime", "pallet-alliance", @@ -12621,19 +12626,19 @@ dependencies = [ "polkadot-cli", "polkadot-node-metrics", "polkadot-omni-node-lib", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-common", "polkadot-runtime-parachains", "polkadot-sdk-frame", "polkadot-service", - "sc-client-db", - "sc-service", - "sp-runtime", - "sp-staking", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-node-inspect", "staging-parachain-info", - "staging-xcm", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "xcm-runtime-apis", @@ -12645,10 +12650,10 @@ version = "0.10.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "docify", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-executive", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -12656,22 +12661,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-arithmetic", - "sp-block-builder", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-storage", - "sp-transaction-pool", - "sp-version", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -12680,9 +12685,9 @@ version = "25.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "async-trait", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-benchmarking-cli", - "frame-system", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-rpc-runtime-api", "futures", "is_executable", @@ -12700,7 +12705,7 @@ dependencies = [ "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-collator-protocol", - "polkadot-core-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-dispute-distribution", "polkadot-gossip-support", "polkadot-network-bridge", @@ -12726,56 +12731,56 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-rpc", "polkadot-runtime-parachains", "polkadot-statement-distribution", "rococo-runtime", "sc-authority-discovery", "sc-basic-authorship", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-consensus-babe", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-beefy", "sc-consensus-grandpa", - "sc-consensus-slots", - "sc-executor", - "sc-keystore", - "sc-network", - "sc-network-sync", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-offchain", - "sc-service", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-sync-state-rpc", - "sc-sysinfo", - "sc-telemetry", - "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-api", - "sp-authority-discovery", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", "sp-mmr-primitives", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-timestamp", - "sp-transaction-pool", - "sp-version", - "sp-weights", - "staging-xcm", - "substrate-prometheus-endpoint", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", "westend-runtime", @@ -12796,8 +12801,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives", - "sp-keystore", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -12808,7 +12813,7 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "parity-scale-codec", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] @@ -13084,8 +13089,8 @@ dependencies = [ "environmental", "evm", "fp-evm", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "hex", "hex-literal", "impl-trait-for-tuples", @@ -13928,13 +13933,13 @@ name = "rococo-runtime" version = "24.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "bitvec", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-executive", "frame-metadata-hash-extension", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -13985,8 +13990,8 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-common", "polkadot-runtime-parachains", "rococo-runtime-constants", @@ -13994,27 +13999,27 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api", - "sp-arithmetic", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", "sp-mmr-primitives", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-storage", - "sp-transaction-pool", - "sp-version", - "staging-xcm", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -14026,14 +14031,14 @@ name = "rococo-runtime-constants" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "polkadot-primitives", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-common", "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", ] @@ -14376,8 +14381,8 @@ name = "safe-math" version = "0.1.0" dependencies = [ "num-traits", - "sp-arithmetic", - "sp-std", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", ] @@ -14443,18 +14448,18 @@ dependencies = [ "prost 0.12.6", "prost-build", "rand 0.8.5", - "sc-client-api", - "sc-network", - "sc-network-types", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-api", - "sp-authority-discovery", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio", ] @@ -14467,7 +14472,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-block-builder", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-proposer-metrics", "sc-telemetry", "sc-transaction-pool-api", @@ -14505,11 +14510,11 @@ dependencies = [ "docify", "memmap2 0.9.8", "parity-scale-codec", - "sc-chain-spec-derive", - "sc-client-api", - "sc-executor", - "sc-network", - "sc-telemetry", + "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", "sp-blockchain", @@ -14552,25 +14557,25 @@ dependencies = [ "rand 0.8.5", "regex", "rpassword", - "sc-client-api", - "sc-client-db", - "sc-keystore", - "sc-mixnet", - "sc-network", - "sc-service", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-blockchain", - "sp-core", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", - "sp-version", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio", ] @@ -14724,18 +14729,18 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "futures", "jsonrpsee", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-rpc-api", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-api", - "sp-application-crypto", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -14751,23 +14756,23 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api", - "sc-consensus", - "sc-network", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-network-gossip", - "sc-network-sync", - "sc-network-types", - "sc-utils", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-core", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio", "wasm-timer", @@ -14784,12 +14789,12 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "sc-consensus-beefy", - "sc-rpc", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-application-crypto", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -14816,25 +14821,25 @@ dependencies = [ "async-trait", "dyn-clone", "finality-grandpa", - "fork-tree", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "futures-timer", "log", "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-network-gossip", - "sc-network-sync", - "sc-network-types", - "sc-telemetry", - "sc-transaction-pool-api", - "sc-utils", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde_json", "sp-api", "sp-application-crypto", @@ -14860,13 +14865,13 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-grandpa", - "sc-rpc", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -14882,26 +14887,26 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-consensus-aura", - "sc-consensus-babe", - "sc-consensus-epochs", - "sc-transaction-pool", - "sc-transaction-pool-api", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-timestamp", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -15118,13 +15123,13 @@ dependencies = [ "futures", "futures-timer", "log", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -15263,17 +15268,17 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "rustls", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-offchain", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "threadpool", "tracing", ] @@ -15494,14 +15499,14 @@ dependencies = [ "log", "parity-db", "parking_lot 0.12.5", - "sc-client-api", - "sc-keystore", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-statement-store", - "substrate-prometheus-endpoint", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tokio", ] @@ -15513,7 +15518,7 @@ dependencies = [ "clap", "fs4", "log", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tokio", ] @@ -15525,15 +15530,15 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec", - "sc-client-api", - "sc-consensus-babe", - "sc-consensus-epochs", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus-grandpa", "serde", "serde_json", - "sp-blockchain", - "sp-runtime", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -15569,7 +15574,7 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-utils", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "serde", "serde_json", "thiserror 1.0.69", @@ -16280,7 +16285,7 @@ name = "share-pool" version = "0.1.0" dependencies = [ "safe-math", - "sp-std", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", ] @@ -16389,7 +16394,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -16650,19 +16655,19 @@ version = "0.14.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "bp-relayers", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "hex-literal", "log", "parity-scale-codec", - "polkadot-parachain-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "staging-xcm", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -16894,8 +16899,8 @@ dependencies = [ "sp-io", "sp-keystore", "sp-mmr-primitives", - "sp-runtime", - "sp-weights", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", ] @@ -16968,7 +16973,7 @@ dependencies = [ "sp-std", "sp-storage", "ss58-registry", - "substrate-bip39", + "substrate-bip39 0.6.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tracing", "w3f-bls 0.1.9", @@ -16992,7 +16997,7 @@ dependencies = [ "ark-ed-on-bls12-381-bandersnatch 0.4.0", "ark-ed-on-bls12-381-bandersnatch-ext", "ark-scale 0.0.12", - "sp-runtime-interface", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -17117,8 +17122,8 @@ name = "sp-keyring" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", ] @@ -17173,10 +17178,10 @@ dependencies = [ "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api", - "sp-core", - "sp-debug-derive", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -17354,6 +17359,11 @@ dependencies = [ "x25519-dalek", ] +[[package]] +name = "sp-std" +version = "14.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" + [[package]] name = "sp-std" version = "14.0.0" @@ -17664,10 +17674,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "clap", "docify", - "sc-chain-spec", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-tracing", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] @@ -17678,13 +17688,13 @@ dependencies = [ "clap", "parity-scale-codec", "sc-cli", - "sc-client-api", - "sc-service", - "sp-blockchain", - "sp-core", - "sp-io", - "sp-runtime", - "sp-statement-store", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] @@ -17693,9 +17703,9 @@ name = "staging-parachain-info" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "cumulus-primitives-core", - "frame-support", - "frame-system", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "sp-runtime", @@ -17728,20 +17738,20 @@ version = "21.1.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "environmental", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", - "polkadot-parachain-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-executor", "tracing", ] @@ -17752,17 +17762,17 @@ version = "20.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "environmental", - "frame-benchmarking", - "frame-support", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] @@ -17800,6 +17810,62 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "stc-shield" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "chacha20poly1305", + "futures", + "hex", + "log", + "ml-kem", + "parity-scale-codec", + "rand 0.8.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stp-shield 0.1.0", +] + +[[package]] +name = "stp-io" +version = "0.1.0" +dependencies = [ + "parity-scale-codec", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stp-shield 0.1.0", +] + +[[package]] +name = "stp-shield" +version = "0.1.0" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "stp-shield" +version = "0.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + [[package]] name = "string-interner" version = "0.17.0" @@ -17940,13 +18006,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-client-api", - "sc-rpc-api", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "trie-db", ] @@ -17976,13 +18042,13 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker 0.24.0", - "sc-executor", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "shlex", - "sp-core", - "sp-io", - "sp-maybe-compressed-blob", - "sp-tracing", - "sp-version", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "strum 0.26.3", "tempfile", "toml 0.8.23", @@ -18006,8 +18072,8 @@ dependencies = [ name = "subtensor-chain-extensions" version = "0.1.0" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "num_enum", "pallet-balances", @@ -18023,10 +18089,10 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -18038,9 +18104,9 @@ version = "0.0.2" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-custom-rpc-runtime-api", "subtensor-runtime-common", ] @@ -18051,8 +18117,8 @@ version = "0.0.2" dependencies = [ "pallet-subtensor", "parity-scale-codec", - "sp-api", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "subtensor-runtime-common", ] @@ -18082,8 +18148,8 @@ version = "0.1.0" dependencies = [ "ed25519-dalek", "fp-evm", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-admin-utils", "pallet-balances", @@ -18100,10 +18166,10 @@ dependencies = [ "pallet-subtensor-swap", "precompile-utils", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -18120,8 +18186,8 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-macros", ] @@ -18130,7 +18196,7 @@ dependencies = [ name = "subtensor-swap-interface" version = "0.1.0" dependencies = [ - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", "substrate-fixed", @@ -18154,8 +18220,8 @@ name = "subtensor-transaction-fee" version = "0.1.0" dependencies = [ "frame-executive", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "pallet-balances", "pallet-crowdloan", @@ -18170,14 +18236,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "smallvec", - "sp-consensus-aura", - "sp-consensus-grandpa", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", - "sp-weights", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -18997,7 +19063,7 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ "coarsetime", - "polkadot-primitives", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", "tracing-gum-proc-macro", ] @@ -19958,14 +20024,14 @@ name = "westend-runtime" version = "24.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "bitvec", - "frame-benchmarking", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -20022,37 +20088,37 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", "serde", "serde_derive", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-authority-discovery", - "sp-block-builder", - "sp-consensus-babe", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-beefy", - "sp-consensus-grandpa", - "sp-core", - "sp-genesis-builder", - "sp-inherents", - "sp-io", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", - "sp-offchain", - "sp-runtime", - "sp-session", - "sp-staking", - "sp-storage", - "sp-transaction-pool", - "sp-version", - "staging-xcm", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -20065,14 +20131,14 @@ name = "westend-runtime-constants" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "polkadot-primitives", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-common", "smallvec", - "sp-core", - "sp-runtime", - "sp-weights", - "staging-xcm", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", ] @@ -20629,12 +20695,12 @@ name = "xcm-runtime-apis" version = "0.8.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "scale-info", - "sp-api", - "sp-weights", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-executor", ] @@ -20643,18 +20709,18 @@ name = "xcm-simulator" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" dependencies = [ - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "paste", - "polkadot-core-primitives", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "polkadot-runtime-parachains", "scale-info", - "sp-io", - "sp-runtime", - "staging-xcm", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "staging-xcm-builder", "staging-xcm-executor", ] diff --git a/Cargo.toml b/Cargo.toml index 05ebab1eb9..9ffb13ed53 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,9 +43,6 @@ edition = "2024" [workspace.lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(substrate_runtime)'] } -[workspace.lints.rust] -unexpected_cfgs = { level = "allow", check-cfg = ['cfg(substrate_runtime)'] } - [workspace.lints.clippy] arithmetic-side-effects = "deny" expect-used = "deny" @@ -130,123 +127,123 @@ ethereum = { version = "0.18.2", default-features = false } num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -zeroize = { version = "1.8.2", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-root-testing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +frame-election-provider-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-bags-list = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-fast-unstake = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-nomination-pools = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-epochs = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-npos-elections = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } - -stc-shield = { path = "client/shield", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } # Frontier fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } @@ -281,11 +278,11 @@ pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", re #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } getrandom = { version = "0.2.15", default-features = false, features = [ "custom", ] } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "71629fd93b6c12a362a5cfb6331accef9b2b2b61", default-features = false } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } @@ -323,4 +320,4 @@ default = [] pow-faucet = [] [patch.crates-io] -w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std" } \ No newline at end of file +w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std" } diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 7fe99adaf9..fbc13e75a6 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -36,6 +36,22 @@ sp-inherents.workspace = true stp-io.workspace = true stp-shield.workspace = true +# Benchmark-only (optional, activated by runtime-benchmarks feature) +pallet-aura = { workspace = true, optional = true } +sp-consensus-aura = { workspace = true, optional = true } +sp-consensus-slots = { workspace = true, optional = true } +ml-kem = { workspace = true, optional = true } +chacha20poly1305 = { workspace = true, optional = true, features = ["std"] } +rand = { workspace = true, optional = true } + +[dev-dependencies] +stc-shield.workspace = true +ml-kem.workspace = true +chacha20poly1305 = { workspace = true, features = ["std"] } +rand.workspace = true +pallet-subtensor-utility.workspace = true + + [features] default = ["std"] @@ -54,6 +70,9 @@ std = [ "sp-inherents/std", "stp-io/std", "stp-shield/std", + "pallet-aura?/std", + "sp-consensus-aura?/std", + "sp-consensus-slots?/std", ] runtime-benchmarks = [ @@ -61,6 +80,9 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "pallet-aura/runtime-benchmarks", + "sp-consensus-aura/runtime-benchmarks", + "sp-consensus-slots/runtime-benchmarks", ] try-runtime = [ @@ -68,10 +90,3 @@ try-runtime = [ "frame-system/try-runtime", "sp-runtime/try-runtime", ] - -[dev-dependencies] -stc-shield.workspace = true -ml-kem.workspace = true -chacha20poly1305 = { workspace = true, features = ["std"] } -rand.workspace = true -pallet-subtensor-utility.workspace = true From 0b06781636aa663b447351268f6b2ea16536a086 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sat, 14 Feb 2026 00:15:52 -0300 Subject: [PATCH 058/204] move stp-shield/stc-shield to polkadot-sdk to avoid circular deps --- client/shield/Cargo.toml | 47 ---- client/shield/src/inherents.rs | 30 --- client/shield/src/key_rotation.rs | 40 ---- client/shield/src/keystore.rs | 319 --------------------------- client/shield/src/lib.rs | 7 - primitives/shield/Cargo.toml | 21 -- primitives/shield/src/keystore.rs | 88 -------- primitives/shield/src/lib.rs | 24 -- primitives/shield/src/runtime_api.rs | 15 -- primitives/shield/src/shielded_tx.rs | 162 -------------- 10 files changed, 753 deletions(-) delete mode 100644 client/shield/Cargo.toml delete mode 100644 client/shield/src/inherents.rs delete mode 100644 client/shield/src/key_rotation.rs delete mode 100644 client/shield/src/keystore.rs delete mode 100644 client/shield/src/lib.rs delete mode 100644 primitives/shield/Cargo.toml delete mode 100644 primitives/shield/src/keystore.rs delete mode 100644 primitives/shield/src/lib.rs delete mode 100644 primitives/shield/src/runtime_api.rs delete mode 100644 primitives/shield/src/shielded_tx.rs diff --git a/client/shield/Cargo.toml b/client/shield/Cargo.toml deleted file mode 100644 index 6a42bdd9b5..0000000000 --- a/client/shield/Cargo.toml +++ /dev/null @@ -1,47 +0,0 @@ -[package] -name = "stc-shield" -description = "MEV Shield client implementation" -version = "0.1.0" -edition.workspace = true - -[dependencies] -log.workspace = true -async-trait.workspace = true -anyhow.workspace = true -codec.workspace = true -futures.workspace = true -hex.workspace = true - -# Crypto -rand.workspace = true -chacha20poly1305 = { workspace = true, features = ["std"] } -ml-kem = { workspace = true, features = ["zeroize"] } - -# Substrate -sc-service.workspace = true -sc-client-api.workspace = true -sp-runtime.workspace = true -sp-consensus.workspace = true -sp-inherents.workspace = true - -# Subtensor -stp-shield.workspace = true - -[lints] -workspace = true - -[features] -default = ["std"] -std = [ - "anyhow/std", - "chacha20poly1305/std", - "ml-kem/std", - "stp-shield/std", - "codec/std", - "futures/std", - "hex/std", - "log/std", - "rand/std", - "sp-runtime/std", - "sp-inherents/std", -] diff --git a/client/shield/src/inherents.rs b/client/shield/src/inherents.rs deleted file mode 100644 index 16352e6744..0000000000 --- a/client/shield/src/inherents.rs +++ /dev/null @@ -1,30 +0,0 @@ -use sp_inherents::{Error, InherentData, InherentIdentifier}; -use sp_runtime::BoundedVec; -use stp_shield::{INHERENT_IDENTIFIER, InherentType, ShieldKeystorePtr}; - -pub struct InherentDataProvider { - keystore: ShieldKeystorePtr, -} - -impl InherentDataProvider { - pub fn new(keystore: ShieldKeystorePtr) -> Self { - Self { keystore } - } -} - -#[async_trait::async_trait] -impl sp_inherents::InherentDataProvider for InherentDataProvider { - async fn provide_inherent_data(&self, inherent_data: &mut InherentData) -> Result<(), Error> { - let public_key = self.keystore.next_public_key().ok(); - let bounded = public_key.map(|pk| BoundedVec::truncate_from(pk)); - inherent_data.put_data::(INHERENT_IDENTIFIER, &bounded) - } - - async fn try_handle_error( - &self, - _: &InherentIdentifier, - _: &[u8], - ) -> Option> { - None - } -} diff --git a/client/shield/src/key_rotation.rs b/client/shield/src/key_rotation.rs deleted file mode 100644 index b5151bc7b6..0000000000 --- a/client/shield/src/key_rotation.rs +++ /dev/null @@ -1,40 +0,0 @@ -use futures::StreamExt; -use sc_client_api::BlockchainEvents; -use sc_service::SpawnTaskHandle; -use sp_consensus::BlockOrigin; -use sp_runtime::traits::{Block, Header}; -use std::sync::Arc; -use stp_shield::ShieldKeystorePtr; - -pub fn spawn_key_rotation_on_own_import( - task_spawner: &SpawnTaskHandle, - client: Arc, - keystore: ShieldKeystorePtr, -) where - B: Block, - C: BlockchainEvents + Send + Sync + 'static, -{ - task_spawner.spawn("mev-shield-key-rotation", None, async move { - log::debug!(target: "mev-shield", "Key-rotation task started"); - let mut import_stream = client.import_notification_stream(); - - while let Some(notif) = import_stream.next().await { - if notif.origin != BlockOrigin::Own { - continue; - } - - if keystore.roll_for_next_slot().is_ok() { - log::debug!( - target: "mev-shield", - "Rotated shield key after importing own block #{}", - notif.header.number() - ); - } else { - log::warn!( - target: "mev-shield", - "Key rotation: failed to roll for next slot" - ); - } - } - }); -} diff --git a/client/shield/src/keystore.rs b/client/shield/src/keystore.rs deleted file mode 100644 index 541f2ba761..0000000000 --- a/client/shield/src/keystore.rs +++ /dev/null @@ -1,319 +0,0 @@ -use chacha20poly1305::{ - KeyInit, XChaCha20Poly1305, XNonce, - aead::{Aead, Payload}, -}; -use ml_kem::{ - Ciphertext, EncodedSizeUser, KemCore, MlKem768, MlKem768Params, - kem::{Decapsulate, DecapsulationKey, EncapsulationKey}, -}; -use rand::rngs::OsRng; -use std::sync::RwLock; -use stp_shield::{Error as TraitError, Result as TraitResult, ShieldKeystore}; - -/// An memory-based keystore for the MEV-Shield. -pub struct MemoryShieldKeystore(RwLock); - -impl MemoryShieldKeystore { - pub fn new() -> Self { - Self(RwLock::new(ShieldKeystoreInner::new())) - } -} - -impl ShieldKeystore for MemoryShieldKeystore { - fn roll_for_next_slot(&self) -> TraitResult<()> { - self.0 - .write() - .map_err(|_| TraitError::Unavailable)? - .roll_for_next_slot() - } - - fn next_public_key(&self) -> TraitResult> { - self.0 - .read() - .map_err(|_| TraitError::Unavailable)? - .next_public_key() - } - - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> TraitResult<[u8; 32]> { - self.0 - .read() - .map_err(|_| TraitError::Unavailable)? - .mlkem768_decapsulate(ciphertext) - } - - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> TraitResult> { - self.0 - .read() - .map_err(|_| TraitError::Unavailable)? - .aead_decrypt(key, nonce, msg, aad) - } -} - -/// Holds the current/next ML‑KEM keypairs in-memory for a single author. -pub struct ShieldKeystoreInner { - current_pair: ShieldKeyPair, - next_pair: ShieldKeyPair, -} - -impl ShieldKeystoreInner { - fn new() -> Self { - Self { - current_pair: ShieldKeyPair::generate(), - next_pair: ShieldKeyPair::generate(), - } - } - - fn roll_for_next_slot(&mut self) -> TraitResult<()> { - self.current_pair = std::mem::replace(&mut self.next_pair, ShieldKeyPair::generate()); - Ok(()) - } - - fn next_public_key(&self) -> TraitResult> { - Ok(self.next_pair.enc_key.as_bytes().to_vec()) - } - - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> TraitResult<[u8; 32]> { - let ciphertext = Ciphertext::::try_from(ciphertext) - .map_err(|e| TraitError::ValidationError(e.to_string()))?; - let shared_secret = self - .current_pair - .dec_key - .decapsulate(&ciphertext) - .map_err(|_| { - TraitError::Other("Failed to decapsulate ciphertext using ML-KEM 768".into()) - })?; - - Ok(shared_secret.into()) - } - - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> TraitResult> { - let aead = XChaCha20Poly1305::new((&key).into()); - let nonce = XNonce::from_slice(&nonce); - let payload = Payload { msg, aad }; - let decrypted = aead - .decrypt(nonce, payload) - .map_err(|_| TraitError::Other("Failed to decrypt message using AEAD".into()))?; - - Ok(decrypted) - } -} - -/// A pair of ML‑KEM‑768 decapsulation and encapsulation keys. -#[derive(Debug, Clone)] -struct ShieldKeyPair { - dec_key: DecapsulationKey, - enc_key: EncapsulationKey, -} - -impl ShieldKeyPair { - fn generate() -> Self { - let (dec_key, enc_key) = MlKem768::generate(&mut OsRng); - Self { dec_key, enc_key } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use ml_kem::kem::Encapsulate; - use stp_shield::ShieldKeystore; - - const MLKEM768_PK_LEN: usize = 1184; - const MLKEM768_CT_LEN: usize = 1088; - - #[test] - fn next_public_key_returns_valid_mlkem768_key() { - let ks = MemoryShieldKeystore::new(); - let pk = ks.next_public_key().unwrap(); - assert_eq!(pk.len(), MLKEM768_PK_LEN); - } - - #[test] - fn next_public_key_is_stable_without_roll() { - let ks = MemoryShieldKeystore::new(); - let pk1 = ks.next_public_key().unwrap(); - let pk2 = ks.next_public_key().unwrap(); - assert_eq!(pk1, pk2); - } - - #[test] - fn roll_changes_next_public_key() { - let ks = MemoryShieldKeystore::new(); - let before = ks.next_public_key().unwrap(); - ks.roll_for_next_slot().unwrap(); - let after = ks.next_public_key().unwrap(); - assert_ne!(before, after); - } - - #[test] - fn decapsulate_with_current_key_after_roll() { - let ks = MemoryShieldKeystore::new(); - - // The "next" public key is what will be announced in the inherent. - // After a roll, it becomes the "current" key used for decapsulation. - let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = - EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); - - let (ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); - - // Roll so that next → current. - ks.roll_for_next_slot().unwrap(); - - // Decapsulate uses `current_pair`, which is now the old `next_pair`. - let ss_receiver = ks.mlkem768_decapsulate(ct.as_slice()).unwrap(); - assert_eq!(ss_sender.as_slice(), &ss_receiver); - } - - #[test] - fn decapsulate_fails_with_wrong_ciphertext() { - let ks = MemoryShieldKeystore::new(); - let garbage = vec![0u8; MLKEM768_CT_LEN]; - // Decapsulation with garbage should still produce a result (ML-KEM implicit reject), - // but let's just verify it doesn't panic. - let _ = ks.mlkem768_decapsulate(&garbage); - } - - #[test] - fn decapsulate_fails_with_wrong_length() { - let ks = MemoryShieldKeystore::new(); - let short = vec![0u8; 32]; - assert!(ks.mlkem768_decapsulate(&short).is_err()); - } - - #[test] - fn aead_encrypt_decrypt_roundtrip() { - let ks = MemoryShieldKeystore::new(); - let key = [42u8; 32]; - let nonce = [7u8; 24]; - let plaintext = b"hello mev shield"; - let aad = b"extra data"; - - // Encrypt with chacha20poly1305 directly. - let cipher = XChaCha20Poly1305::new((&key).into()); - let ciphertext = cipher - .encrypt( - XNonce::from_slice(&nonce), - Payload { - msg: plaintext, - aad, - }, - ) - .unwrap(); - - // Decrypt via keystore. - let decrypted = ks.aead_decrypt(key, nonce, &ciphertext, aad).unwrap(); - assert_eq!(decrypted, plaintext); - } - - #[test] - fn aead_decrypt_fails_with_wrong_key() { - let ks = MemoryShieldKeystore::new(); - let key = [42u8; 32]; - let wrong_key = [99u8; 32]; - let nonce = [7u8; 24]; - let plaintext = b"secret"; - - let cipher = XChaCha20Poly1305::new((&key).into()); - let ciphertext = cipher - .encrypt( - XNonce::from_slice(&nonce), - Payload { - msg: plaintext.as_slice(), - aad: &[], - }, - ) - .unwrap(); - - assert!(ks.aead_decrypt(wrong_key, nonce, &ciphertext, &[]).is_err()); - } - - #[test] - fn aead_decrypt_fails_with_wrong_aad() { - let ks = MemoryShieldKeystore::new(); - let key = [42u8; 32]; - let nonce = [7u8; 24]; - let plaintext = b"secret"; - - let cipher = XChaCha20Poly1305::new((&key).into()); - let ciphertext = cipher - .encrypt( - XNonce::from_slice(&nonce), - Payload { - msg: plaintext.as_slice(), - aad: b"correct aad", - }, - ) - .unwrap(); - - assert!( - ks.aead_decrypt(key, nonce, &ciphertext, b"wrong aad") - .is_err() - ); - } - - #[test] - fn full_encrypt_decrypt_roundtrip() { - // Simulates the full client → block author flow: - // 1. Client reads next_public_key, encapsulates, encrypts with AEAD - // 2. Author rolls, decapsulates with current key, decrypts AEAD - let ks = MemoryShieldKeystore::new(); - - // Client side: read the announced public key and encrypt. - let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = - EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); - let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); - - let nonce = [13u8; 24]; - let plaintext = b"signed_extrinsic_bytes_here"; - let cipher = XChaCha20Poly1305::new(shared_secret.as_slice().into()); - let aead_ct = cipher - .encrypt( - XNonce::from_slice(&nonce), - Payload { - msg: plaintext.as_slice(), - aad: &[], - }, - ) - .unwrap(); - - // Author side: roll (next → current), then decrypt. - ks.roll_for_next_slot().unwrap(); - - let recovered_ss = ks.mlkem768_decapsulate(kem_ct.as_slice()).unwrap(); - let decrypted = ks.aead_decrypt(recovered_ss, nonce, &aead_ct, &[]).unwrap(); - - assert_eq!(decrypted, plaintext); - } - - #[test] - fn decapsulate_before_roll_uses_different_key() { - // Without rolling, decapsulate uses the initial `current_pair`, - // not the `next_pair` whose public key we encapsulated with. - let ks = MemoryShieldKeystore::new(); - - let pk_bytes = ks.next_public_key().unwrap(); - let enc_key = - EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); - let (kem_ct, ss_sender) = enc_key.encapsulate(&mut OsRng).unwrap(); - - // DO NOT roll — decapsulate uses initial current_pair, not next_pair. - let ss_receiver = ks.mlkem768_decapsulate(kem_ct.as_slice()).unwrap(); - - // Shared secrets should NOT match (different keypairs). - assert_ne!(ss_sender.as_slice(), &ss_receiver); - } -} diff --git a/client/shield/src/lib.rs b/client/shield/src/lib.rs deleted file mode 100644 index 6c62c5e8a4..0000000000 --- a/client/shield/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -pub mod inherents; -pub mod key_rotation; -pub mod keystore; - -pub use inherents::*; -pub use key_rotation::*; -pub use keystore::*; diff --git a/primitives/shield/Cargo.toml b/primitives/shield/Cargo.toml deleted file mode 100644 index c3dad9daa2..0000000000 --- a/primitives/shield/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "stp-shield" -description = "MEV Shield primitives for Subtensor runtime" -version = "0.1.0" -edition.workspace = true - - -[dependencies] -codec.workspace = true -scale-info.workspace = true -sp-externalities.workspace = true -sp-api.workspace = true -sp-runtime.workspace = true -sp-inherents.workspace = true - -[lints] -workspace = true - -[features] -default = ["std"] -std = ["codec/std", "scale-info/std", "sp-externalities/std", "sp-api/std", "sp-runtime/std", "sp-inherents/std"] diff --git a/primitives/shield/src/keystore.rs b/primitives/shield/src/keystore.rs deleted file mode 100644 index 137d9e32dd..0000000000 --- a/primitives/shield/src/keystore.rs +++ /dev/null @@ -1,88 +0,0 @@ -//! MEV Shield Keystore traits - -extern crate alloc; - -use codec::{Decode, Encode}; - -use alloc::{string::String, sync::Arc, vec::Vec}; - -#[derive(Debug, Encode, Decode)] -pub enum Error { - /// Keystore unavailable - Unavailable, - /// Validation error - ValidationError(String), - /// Other error - Other(String), -} - -impl core::fmt::Display for Error { - fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - match self { - Error::Unavailable => write!(f, "Keystore unavailable"), - Error::ValidationError(e) => write!(f, "Validation error: {}", e), - Error::Other(e) => write!(f, "Other error: {}", e), - } - } -} - -pub type Result = core::result::Result; - -/// Something that generates, stores and provides access to secret keys -/// and operations used by the MEV Shield. -pub trait ShieldKeystore: Send + Sync { - /// Roll for the next slot and update the current/next keys. - fn roll_for_next_slot(&self) -> Result<()>; - - /// Get the next public key. - fn next_public_key(&self) -> Result>; - - /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]>; - - /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> Result>; -} - -impl ShieldKeystore for Arc { - fn roll_for_next_slot(&self) -> Result<()> { - (**self).roll_for_next_slot() - } - - fn next_public_key(&self) -> Result> { - (**self).next_public_key() - } - - fn mlkem768_decapsulate(&self, ciphertext: &[u8]) -> Result<[u8; 32]> { - (**self).mlkem768_decapsulate(ciphertext) - } - - fn aead_decrypt( - &self, - key: [u8; 32], - nonce: [u8; 24], - msg: &[u8], - aad: &[u8], - ) -> Result> { - (**self).aead_decrypt(key, nonce, msg, aad) - } -} - -pub type ShieldKeystorePtr = Arc; - -sp_externalities::decl_extension! { - /// The shield keystore extension to register/retrieve from the externalities. - pub struct ShieldKeystoreExt(ShieldKeystorePtr); -} - -impl ShieldKeystoreExt { - pub fn from(keystore: ShieldKeystorePtr) -> Self { - Self(keystore) - } -} diff --git a/primitives/shield/src/lib.rs b/primitives/shield/src/lib.rs deleted file mode 100644 index cb6e7049d2..0000000000 --- a/primitives/shield/src/lib.rs +++ /dev/null @@ -1,24 +0,0 @@ -//! MEV Shield primitives for Subtensor -#![cfg_attr(not(feature = "std"), no_std)] - -use sp_inherents::InherentIdentifier; -use sp_runtime::{BoundedVec, traits::ConstU32}; - -mod keystore; -mod runtime_api; -mod shielded_tx; - -pub use keystore::*; -pub use runtime_api::*; -pub use shielded_tx::*; - -pub const LOG_TARGET: &str = "mev-shield"; - -// The inherent identifier for the next MEV-Shield public key. -pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"shieldpk"; - -// The public key type for the MEV-Shield. -pub type ShieldPublicKey = BoundedVec>; - -// The inherent type for the MEV-Shield. -pub type InherentType = Option; diff --git a/primitives/shield/src/runtime_api.rs b/primitives/shield/src/runtime_api.rs deleted file mode 100644 index abe9c01b3b..0000000000 --- a/primitives/shield/src/runtime_api.rs +++ /dev/null @@ -1,15 +0,0 @@ -//! Runtime API definition for the MEV Shield. - -extern crate alloc; - -use crate::ShieldedTransaction; -use sp_runtime::traits::Block as BlockT; - -type ExtrinsicOf = ::Extrinsic; - -sp_api::decl_runtime_apis! { - pub trait ShieldApi { - fn try_decode_shielded_tx(uxt: ExtrinsicOf) -> Option; - fn try_unshield_tx(shielded_tx: ShieldedTransaction) -> Option>; - } -} diff --git a/primitives/shield/src/shielded_tx.rs b/primitives/shield/src/shielded_tx.rs deleted file mode 100644 index 047038df72..0000000000 --- a/primitives/shield/src/shielded_tx.rs +++ /dev/null @@ -1,162 +0,0 @@ -//! MEV Shielded Transaction - -extern crate alloc; - -use alloc::vec::Vec; -use codec::{Decode, Encode}; -use scale_info::TypeInfo; - -const KEY_HASH_LEN: usize = 16; -const NONCE_LEN: usize = 24; - -#[derive(Debug, Clone, Encode, Decode, TypeInfo)] -pub struct ShieldedTransaction { - pub key_hash: [u8; KEY_HASH_LEN], - pub kem_ct: Vec, - pub aead_ct: Vec, - pub nonce: [u8; NONCE_LEN], -} - -impl ShieldedTransaction { - pub fn parse(ciphertext: &[u8]) -> Option { - let mut cursor: usize = 0; - - let key_hash_end = cursor.checked_add(KEY_HASH_LEN)?; - let key_hash: [u8; KEY_HASH_LEN] = ciphertext.get(cursor..key_hash_end)?.try_into().ok()?; - cursor = key_hash_end; - - let kem_ct_len_end = cursor.checked_add(2)?; - let kem_ct_len = ciphertext - .get(cursor..kem_ct_len_end)? - .try_into() - .map(u16::from_le_bytes) - .ok()? - .into(); - cursor = kem_ct_len_end; - - let kem_ct_end = cursor.checked_add(kem_ct_len)?; - let kem_ct = ciphertext.get(cursor..kem_ct_end)?.to_vec(); - cursor = kem_ct_end; - - let nonce_end = cursor.checked_add(NONCE_LEN)?; - let nonce = ciphertext.get(cursor..nonce_end)?.try_into().ok()?; - cursor = nonce_end; - - let aead_ct = ciphertext.get(cursor..)?.to_vec(); - - Some(Self { - key_hash, - kem_ct, - aead_ct, - nonce, - }) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - fn build_ciphertext( - key_hash: &[u8; KEY_HASH_LEN], - kem_ct: &[u8], - nonce: &[u8; 24], - aead_ct: &[u8], - ) -> Vec { - let kem_len = (kem_ct.len() as u16).to_le_bytes(); - let mut buf = Vec::with_capacity(KEY_HASH_LEN + 2 + kem_ct.len() + 24 + aead_ct.len()); - buf.extend_from_slice(key_hash); - buf.extend_from_slice(&kem_len); - buf.extend_from_slice(kem_ct); - buf.extend_from_slice(nonce); - buf.extend_from_slice(aead_ct); - buf - } - - const DUMMY_KEM_CT: [u8; 1088] = [0xAA; 1088]; - const DUMMY_NONCE: [u8; 24] = [0xBB; 24]; - const DUMMY_KEY_HASH: [u8; KEY_HASH_LEN] = [0xCC; KEY_HASH_LEN]; - const DUMMY_AEAD: [u8; 64] = [0xDD; 64]; - - fn valid_ciphertext() -> Vec { - build_ciphertext(&DUMMY_KEY_HASH, &DUMMY_KEM_CT, &DUMMY_NONCE, &DUMMY_AEAD) - } - - #[test] - fn parse_valid_roundtrip() { - let ct = valid_ciphertext(); - let tx = ShieldedTransaction::parse(&ct).expect("should parse"); - - assert_eq!(tx.key_hash, DUMMY_KEY_HASH); - assert_eq!(tx.kem_ct, DUMMY_KEM_CT); - assert_eq!(tx.nonce, DUMMY_NONCE); - assert_eq!(tx.aead_ct, DUMMY_AEAD); - } - - #[test] - fn parse_empty_aead_ct() { - let ct = build_ciphertext(&DUMMY_KEY_HASH, &DUMMY_KEM_CT, &DUMMY_NONCE, &[]); - let tx = ShieldedTransaction::parse(&ct).expect("should parse with empty aead_ct"); - - assert!(tx.aead_ct.is_empty()); - assert_eq!(tx.kem_ct, DUMMY_KEM_CT); - } - - #[test] - fn parse_zero_length_kem_ct() { - let ct = build_ciphertext(&DUMMY_KEY_HASH, &[], &DUMMY_NONCE, &DUMMY_AEAD); - let tx = ShieldedTransaction::parse(&ct).expect("should parse with zero-length kem_ct"); - - assert!(tx.kem_ct.is_empty()); - assert_eq!(tx.aead_ct, DUMMY_AEAD); - } - - #[test] - fn parse_empty_returns_none() { - assert!(ShieldedTransaction::parse(&[]).is_none()); - } - - #[test] - fn parse_truncated_key_hash() { - let ct = [0u8; KEY_HASH_LEN - 1]; - assert!(ShieldedTransaction::parse(&ct).is_none()); - } - - #[test] - fn parse_truncated_kem_len() { - // key_hash present but only 1 byte for kem_ct_len (needs 2). - let ct = [0u8; KEY_HASH_LEN + 1]; - assert!(ShieldedTransaction::parse(&ct).is_none()); - } - - #[test] - fn parse_kem_ct_len_exceeds_remaining() { - // Claim 1088 bytes of kem_ct but only provide 10. - let mut ct = Vec::new(); - ct.extend_from_slice(&DUMMY_KEY_HASH); - ct.extend_from_slice(&1088u16.to_le_bytes()); - ct.extend_from_slice(&[0u8; 10]); - assert!(ShieldedTransaction::parse(&ct).is_none()); - } - - #[test] - fn parse_truncated_nonce() { - // key_hash + kem_len + kem_ct present, but nonce truncated. - let mut ct = Vec::new(); - ct.extend_from_slice(&DUMMY_KEY_HASH); - ct.extend_from_slice(&4u16.to_le_bytes()); - ct.extend_from_slice(&[0u8; 4]); // kem_ct - ct.extend_from_slice(&[0u8; 20]); // only 20 of 24 nonce bytes - assert!(ShieldedTransaction::parse(&ct).is_none()); - } - - #[test] - fn parse_small_kem_ct() { - let small_kem = [0x11; 4]; - let ct = build_ciphertext(&DUMMY_KEY_HASH, &small_kem, &DUMMY_NONCE, &DUMMY_AEAD); - let tx = ShieldedTransaction::parse(&ct).expect("should parse"); - - assert_eq!(tx.kem_ct, small_kem); - assert_eq!(tx.aead_ct, DUMMY_AEAD); - } -} From 4a999c12c90e5d05dfb81377f2f46de04de60ab0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sat, 14 Feb 2026 00:39:00 -0300 Subject: [PATCH 059/204] update benchmarks --- Cargo.lock | 7407 +++++++++++++++++----------- Cargo.toml | 271 +- pallets/shield/Cargo.toml | 18 +- pallets/shield/src/benchmarking.rs | 262 +- 4 files changed, 4909 insertions(+), 3049 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d7547286d9..6053fb9741 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,12 +1056,12 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "ethereum-standards", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-assets", @@ -1071,10 +1071,10 @@ dependencies = [ "parachains-common", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -1435,7 +1435,17 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", +] + +[[package]] +name = "binary-merkle-tree" +version = "16.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "hash-db", "log", @@ -1704,94 +1714,94 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-runtime", "finality-grandpa", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-messages", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-messages", "bp-parachains", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hash-db", "impl-trait-for-tuples", "log", @@ -1799,19 +1809,19 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "trie-db", ] [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1820,58 +1830,58 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-messages", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-message-queue", "parity-scale-codec", "scale-info", "snowbridge-core", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -1879,7 +1889,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-messages", @@ -1887,8 +1897,8 @@ dependencies = [ "bp-polkadot-core", "bp-relayers", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -1898,12 +1908,12 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tuplex", ] @@ -2722,12 +2732,12 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "cumulus-client-network", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "futures", "hex", @@ -2738,57 +2748,57 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tokio", ] [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "clap", "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "url", ] [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "futures", "parity-scale-codec", "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2796,7 +2806,7 @@ dependencies = [ "cumulus-client-consensus-proposer", "cumulus-client-parachain-inherent", "cumulus-primitives-aura", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "futures", "parity-scale-codec", @@ -2805,29 +2815,29 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tokio", "tracing", ] @@ -2835,77 +2845,77 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "dyn-clone", "futures", "log", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "anyhow", "async-trait", "cumulus-primitives-parachain-inherent", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "cumulus-client-consensus-common", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "futures", "parking_lot 0.12.5", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2915,48 +2925,48 @@ dependencies = [ "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", "parity-scale-codec", - "sc-client-api", - "sc-consensus-babe", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-storage", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "futures", @@ -2965,23 +2975,23 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -2989,102 +2999,102 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-streams", "futures", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "prometheus", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-transactions 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-aura", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-primitives-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hashbrown 0.15.5", "impl-trait-for-tuples", "log", "pallet-message-queue", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-parachains", "scale-info", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "trie-db", ] @@ -3092,7 +3102,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3103,86 +3113,86 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-session", "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-sudo", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "derive-where", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "approx", "bounded-collections 0.2.4", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-message-queue", "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3190,98 +3200,141 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-xcm", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-api", - "sp-consensus-aura", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "cumulus-primitives-core" +version = "0.19.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tracing", ] [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain-primitives", - "polkadot-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "scale-info", - "sp-api", - "sp-runtime", - "sp-trie", - "staging-xcm", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tracing", ] [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core", - "sp-inherents", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "cumulus-primitives-proof-size-hostfunction" +version = "0.13.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ - "sp-externalities", - "sp-runtime-interface", - "sp-trie", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core", - "cumulus-primitives-proof-size-hostfunction", + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "docify", - "frame-benchmarking", - "frame-support", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "cumulus-primitives-storage-weight-reclaim" +version = "12.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "docify", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3289,94 +3342,94 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "futures", "futures-timer", "polkadot-cli", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-service", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "futures", "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-network-bridge", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-service", "sc-authority-discovery", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "either", "futures", @@ -3387,23 +3440,23 @@ dependencies = [ "polkadot-overseer", "prometheus", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", "serde", "serde_json", "smoldot 0.11.0", "smoldot-light 0.9.0", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tokio", "tokio-util", @@ -3414,28 +3467,28 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-relay-chain-interface", "futures", "polkadot-node-subsystem", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -4210,7 +4263,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "alloy-core", ] @@ -4427,67 +4480,67 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "async-trait", "fp-storage", "parity-scale-codec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fc-rpc", "fp-storage", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fc-rpc", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "async-trait", "fp-consensus", "fp-rpc", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 2.0.17", ] [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "async-trait", "ethereum", @@ -4502,14 +4555,14 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "smallvec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sqlx", "tokio", ] @@ -4517,7 +4570,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fc-db", "fc-storage", @@ -4527,20 +4580,20 @@ dependencies = [ "futures-timer", "log", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tokio", ] [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", @@ -4562,28 +4615,28 @@ dependencies = [ "prometheus", "rand 0.9.2", "rlp 0.6.1", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 2.0.17", "tokio", ] @@ -4591,7 +4644,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", @@ -4600,24 +4653,24 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", "fp-rpc", "fp-storage", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -4771,7 +4824,15 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "fork-tree" +version = "13.0.1" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "parity-scale-codec", ] @@ -4798,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "hex", "impl-serde", @@ -4807,83 +4868,83 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "parity-scale-codec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", ] [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "environmental", "evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "num_enum", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", "fp-evm", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "parity-scale-codec", "serde", @@ -4898,31 +4959,55 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support", - "frame-support-procedural", - "frame-system", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "linregress", "log", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-storage", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "static_assertions", ] [[package]] -name = "frame-benchmarking-cli" -version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "frame-benchmarking" +version = "41.0.1" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "linregress", + "log", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "static_assertions", +] + +[[package]] +name = "frame-benchmarking-cli" +version = "49.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -4930,54 +5015,54 @@ dependencies = [ "clap", "comfy-table", "cumulus-client-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "env_filter", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-storage-access-test-runtime", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "gethostname", "handlebars", "itertools 0.11.0", "linked-hash-map", "log", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "rand_pcg", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor-common 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-runtime-utilities", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-database 10.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-wasm-interface 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subxt", "subxt-signer", "thiserror 1.0.69", @@ -4987,15 +5072,15 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -5015,7 +5100,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5026,36 +5111,36 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "frame-election-provider-solution-type", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "aquamarine", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -5096,46 +5181,87 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "const-hex", "docify", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-wasm-builder", +] + +[[package]] +name = "frame-support" +version = "41.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "aquamarine", + "array-bytes 6.2.3", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "bitflags 1.3.2", + "docify", + "environmental", + "frame-metadata 23.0.0", + "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "impl-trait-for-tuples", + "k256", + "log", + "macro_magic", + "parity-scale-codec", + "paste", + "scale-info", + "serde", + "serde_json", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-wasm-builder", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tt-call", ] [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "aquamarine", "array-bytes 6.2.3", - "binary-merkle-tree", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "bitflags 1.3.2", "docify", "environmental", "frame-metadata 23.0.0", - "frame-support-procedural", + "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "impl-trait-for-tuples", "k256", "log", @@ -5145,42 +5271,62 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api", - "sp-arithmetic", - "sp-core", - "sp-crypto-hashing-proc-macro", - "sp-debug-derive", - "sp-genesis-builder", - "sp-inherents", - "sp-io", - "sp-metadata-ir", - "sp-runtime", - "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-weights", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tt-call", ] [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "Inflector", + "cfg-expr", + "derive-syn-parse", + "docify", + "expander", + "frame-support-procedural-tools 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "itertools 0.11.0", + "macro_magic", + "proc-macro-warning", + "proc-macro2", + "quote", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "syn 2.0.106", +] + +[[package]] +name = "frame-support-procedural" +version = "34.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "docify", "expander", - "frame-support-procedural-tools 13.0.1", + "frame-support-procedural-tools 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "itertools 0.11.0", "macro_magic", "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "syn 2.0.106", ] @@ -5200,9 +5346,21 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "frame-support-procedural-tools" +version = "13.0.1" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ - "frame-support-procedural-tools-derive 12.0.0", + "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "proc-macro-crate 3.4.0", "proc-macro2", "quote", @@ -5223,7 +5381,17 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "frame-support-procedural-tools-derive" +version = "12.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "proc-macro2", "quote", @@ -5233,55 +5401,74 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cfg-if", "docify", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-version", - "sp-weights", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "frame-system" +version = "41.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "cfg-if", + "docify", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -7834,35 +8021,35 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-offchain", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "jsonrpsee", "parity-scale-codec", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -8216,10 +8403,10 @@ dependencies = [ "fc-storage", "fp-consensus", "fp-rpc", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-benchmarking-cli", "frame-metadata-hash-extension", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-rpc-runtime-api", "futures", "hex", @@ -8238,57 +8425,57 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "polkadot-sdk", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-babe-rpc", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-consensus-manual-seal", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-offchain", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-crypto-ec-utils", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "stc-shield", "stp-io", - "stp-shield 0.1.0", + "stp-shield", "substrate-build-script-utils", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-custom-rpc", "subtensor-custom-rpc-runtime-api", "subtensor-macros", @@ -8306,13 +8493,13 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-self-contained", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", "frame-executive", "frame-metadata 23.0.0", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -8373,30 +8560,30 @@ dependencies = [ "serde_json", "sha2 0.10.9", "smallvec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-npos-elections", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "stp-io", - "stp-shield 0.1.0", + "stp-shield", "substrate-fixed", "substrate-wasm-builder", "subtensor-chain-extensions", @@ -8765,9 +8952,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" name = "pallet-admin-utils" version = "4.0.0-dev" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "pallet-crowdloan", @@ -8780,14 +8967,14 @@ dependencies = [ "pallet-subtensor-swap", "parity-scale-codec", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -8797,144 +8984,144 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-collective", "pallet-identity", "parity-scale-codec", "scale-info", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-io", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-asset-conversion", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-transaction-payment", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ethereum-standards", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "pallet-revive", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "pallet-assets", @@ -8946,22 +9133,22 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-assets", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -8971,128 +9158,128 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-session", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "aquamarine", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-session", @@ -9100,21 +9287,21 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-beefy", "pallet-mmr", @@ -9122,101 +9309,101 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-runtime", "bp-test-utils", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-messages", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-parachains", "bp-polkadot-core", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-bridge-grandpa", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-header-chain", "bp-messages", "bp-relayers", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -9224,54 +9411,54 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-bounties", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-balances", @@ -9279,39 +9466,39 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -9320,9 +9507,9 @@ version = "4.0.0-dev" dependencies = [ "ark-serialize 0.4.2", "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex", "log", "pallet-balances", @@ -9331,10 +9518,10 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "sha2 0.10.9", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-macros", "subtensor-runtime-common", "tle", @@ -9344,12 +9531,12 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "pallet-balances", @@ -9362,11 +9549,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "wasm-instrument", "wasmi 0.32.3", @@ -9375,10 +9562,10 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-assets", "pallet-balances", "pallet-contracts", @@ -9387,17 +9574,17 @@ dependencies = [ "pallet-timestamp", "pallet-xcm", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-parachains", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "xcm-simulator", @@ -9406,7 +9593,17 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-6#598feddb893f5ad3923a62e41a2f179b6e10c30c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "pallet-contracts-proc-macro" +version = "23.0.3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "proc-macro2", "quote", @@ -9416,7 +9613,18 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-6#598feddb893f5ad3923a62e41a2f179b6e10c30c" +dependencies = [ + "bitflags 1.3.2", + "parity-scale-codec", + "paste", + "scale-info", +] + +[[package]] +name = "pallet-contracts-uapi" +version = "14.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9427,101 +9635,101 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assert_matches", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-crowdloan" version = "0.1.0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "pallet-preimage", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-macros", ] [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -9536,9 +9744,9 @@ dependencies = [ "ark-scale 0.0.11", "ark-serialize 0.4.2", "ark-std 0.4.0", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex", "log", "parity-scale-codec", @@ -9546,13 +9754,13 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-crypto-ec-utils", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-macros", "tle", "w3f-bls 0.1.3", @@ -9561,98 +9769,98 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", ] [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "ethereum", "ethereum-types", @@ -9662,48 +9870,48 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-storage", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "environmental", "ethereum", "evm", "fp-account", "fp-evm", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hash-db", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", ] @@ -9711,29 +9919,29 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-bn", ] [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-evm", "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", "num", @@ -9742,7 +9950,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", "tiny-keccak", @@ -9751,140 +9959,140 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", "ripemd", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "blake2 0.10.6", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9895,106 +10103,106 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-mixnet 0.15.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", @@ -10006,7 +10214,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", @@ -10017,7 +10225,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "pallet-assets", @@ -10030,24 +10238,24 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10057,7 +10265,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", @@ -10068,75 +10276,75 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-bags-list", "pallet-delegated-staking", "pallet-nomination-pools", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-babe", "pallet-balances", @@ -10147,32 +10355,32 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", "parity-scale-codec", @@ -10183,58 +10391,58 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "verifiable", ] [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10244,25 +10452,25 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10272,19 +10480,19 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assert_matches", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -10292,46 +10500,46 @@ name = "pallet-registry" version = "4.0.0-dev" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-macros", ] [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "alloy-core", "derive_more 0.99.20", "environmental", "ethereum-standards", "ethereum-types", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex-literal", "humantime-serde", "impl-trait-for-tuples", @@ -10353,14 +10561,14 @@ dependencies = [ "rlp 0.6.1", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-bn", "subxt-signer", ] @@ -10368,21 +10576,21 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "anyhow", "cargo_metadata", "pallet-revive-uapi", "polkavm-linker 0.21.0", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "toml 0.8.23", ] [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "proc-macro2", "quote", @@ -10392,7 +10600,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10404,36 +10612,36 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-session", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", "pallet-balances", @@ -10447,7 +10655,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "pallet-ranked-collective", @@ -10459,68 +10667,68 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-session", "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -10528,9 +10736,9 @@ name = "pallet-shield" version = "0.0.1" dependencies = [ "chacha20poly1305", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "ml-kem", "pallet-aura", @@ -10538,58 +10746,57 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "stc-shield", "stp-io", - "stp-shield 0.1.0", + "stp-shield", "subtensor-macros", ] [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-session", @@ -10597,21 +10804,21 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-staking-async-rc-client", "parity-scale-codec", @@ -10619,20 +10826,20 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-authorship", "pallet-session", @@ -10640,32 +10847,32 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10676,53 +10883,53 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -10731,9 +10938,9 @@ version = "4.0.0-dev" dependencies = [ "approx", "ark-serialize 0.4.2", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex", "hex-literal", "libsecp256k1", @@ -10767,10 +10974,10 @@ dependencies = [ "sp-core", "sp-io", "sp-keyring", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -10800,21 +11007,21 @@ version = "0.1.0" dependencies = [ "alloy-primitives 0.8.25", "approx", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", "safe-math", "scale-info", "serde", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -10828,9 +11035,9 @@ dependencies = [ "jsonrpsee", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-runtime-common", "subtensor-swap-interface", ] @@ -10839,7 +11046,7 @@ dependencies = [ name = "pallet-subtensor-swap-runtime-api" version = "1.0.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "sp-api", @@ -10853,156 +11060,156 @@ dependencies = [ name = "pallet-subtensor-utility" version = "40.0.0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "pallet-balances", "pallet-root-testing", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-macros", ] [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-treasury", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-rpc 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-storage-proof 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", "parity-scale-codec", @@ -11013,65 +11220,65 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11081,12 +11288,12 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bounded-collections 0.2.4", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex-literal", "pallet-balances", "pallet-revive", @@ -11094,10 +11301,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -11107,16 +11314,16 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11124,21 +11331,21 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-messages", "bp-runtime", "bp-xcm-bridge-hub", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11146,32 +11353,32 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-xcm-bridge-hub-router", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "parity-scale-codec", "polkadot-runtime-parachains", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", ] [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-primitives-utility", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-asset-tx-payment", "pallet-assets", @@ -11181,14 +11388,14 @@ dependencies = [ "pallet-message-queue", "pallet-xcm", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-parachain-info", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-executor", ] @@ -11505,7 +11712,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "futures-timer", @@ -11515,7 +11722,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "tracing-gum", ] @@ -11523,14 +11730,14 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "tracing-gum", ] @@ -11538,7 +11745,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fatality", "futures", @@ -11548,12 +11755,12 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11561,7 +11768,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "fatality", @@ -11572,9 +11779,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", "thiserror 1.0.69", "tokio", @@ -11594,7 +11801,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11604,13 +11811,13 @@ dependencies = [ "polkadot-node-primitives", "polkadot-service", "sc-cli", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-storage-monitor", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-build-script-utils", "thiserror 1.0.69", ] @@ -11618,7 +11825,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "fatality", @@ -11628,11 +11835,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tokio-util", "tracing-gum", @@ -11641,18 +11848,29 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "polkadot-core-primitives" +version = "18.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fatality", "futures", @@ -11663,10 +11881,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11674,42 +11892,42 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "reed-solomon-novelpoly", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "futures-timer", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "rand_chacha 0.3.1", - "sc-network", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-keystore", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "always-assert", "async-trait", @@ -11722,9 +11940,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11732,7 +11950,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "parity-scale-codec", @@ -11740,9 +11958,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11750,7 +11968,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "bitvec", @@ -11764,17 +11982,17 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", "schnorrkel 0.11.5", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11782,7 +12000,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -11795,18 +12013,18 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "rand_core 0.6.4", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "futures", @@ -11816,8 +12034,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11825,7 +12043,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "fatality", @@ -11834,11 +12052,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-statement-table", "schnellru", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11846,13 +12064,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", "wasm-timer", @@ -11861,7 +12079,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -11873,31 +12091,31 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "futures-timer", @@ -11905,7 +12123,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11913,7 +12131,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fatality", "futures", @@ -11921,8 +12139,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", "thiserror 1.0.69", "tracing-gum", @@ -11931,16 +12149,16 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", "futures-timer", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11948,13 +12166,13 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fatality", "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11962,7 +12180,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "fatality", @@ -11971,7 +12189,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -11979,7 +12197,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -11991,12 +12209,12 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "slotmap", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", "tempfile", "thiserror 1.0.69", @@ -12007,20 +12225,20 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cpu-time", "futures", @@ -12028,17 +12246,17 @@ dependencies = [ "libc", "nix 0.29.0", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor-common 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "seccompiler", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-externalities", - "sp-io", - "sp-tracing", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", "tracing-gum", ] @@ -12046,39 +12264,39 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bs58", "futures", "futures-timer", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "prioritized-metered-channel", "sc-cli", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12089,12 +12307,12 @@ dependencies = [ "hex", "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "rand 0.8.5", "sc-authority-discovery", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", "thiserror 1.0.69", "tracing-gum", @@ -12103,23 +12321,23 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "bounded-vec", "futures", "futures-timer", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnorrkel 0.11.5", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "zstd 0.12.4", ] @@ -12127,7 +12345,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12136,7 +12354,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12145,26 +12363,26 @@ dependencies = [ "orchestra", "polkadot-node-network-protocol", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-statement-table", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "smallvec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fatality", "futures", @@ -12180,14 +12398,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "prioritized-metered-channel", "rand 0.8.5", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "schnellru", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -12195,7 +12413,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "clap", @@ -12210,12 +12428,12 @@ dependencies = [ "cumulus-client-parachain-inherent", "cumulus-client-service", "cumulus-primitives-aura", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-relay-chain-interface", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-benchmarking-cli", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-rpc-runtime-api", "frame-try-runtime", "futures", @@ -12228,52 +12446,52 @@ dependencies = [ "parachains-common", "parity-scale-codec", "polkadot-cli", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-manual-seal", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-network-statement", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-offchain", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-runtime-utilities", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-statement-store", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "scale-info", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-chain-spec-builder", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-state-trie-migration-rpc", "subxt-metadata", ] @@ -12281,7 +12499,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -12291,9 +12509,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tikv-jemalloc-ctl", "tracing-gum", ] @@ -12301,77 +12519,122 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", "parity-scale-codec", - "polkadot-core-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", "serde", - "sp-core", - "sp-runtime", - "sp-weights", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "polkadot-parachain-primitives" +version = "17.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "bounded-collections 0.2.4", + "derive_more 0.99.20", + "parity-scale-codec", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "scale-info", + "serde", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "bounded-collections 0.2.4", "hex-literal", "log", "parity-scale-codec", - "polkadot-core-primitives", - "polkadot-parachain-primitives", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-authority-discovery", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-staking", - "sp-std", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] -name = "polkadot-rpc" -version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "polkadot-primitives" +version = "19.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ - "jsonrpsee", - "mmr-rpc", - "pallet-transaction-payment-rpc", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe-rpc", - "sc-consensus-beefy", - "sc-consensus-beefy-rpc", - "sc-consensus-grandpa", - "sc-consensus-grandpa-rpc", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "bitvec", + "bounded-collections 0.2.4", + "hex-literal", + "log", + "parity-scale-codec", + "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "scale-info", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "polkadot-rpc" +version = "25.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "jsonrpsee", + "mmr-rpc", + "pallet-transaction-payment-rpc", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe-rpc", + "sc-consensus-beefy", + "sc-consensus-beefy-rpc", + "sc-consensus-grandpa", + "sc-consensus-grandpa-rpc", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-sync-state-rpc", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -12379,13 +12642,13 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "libsecp256k1", "log", @@ -12405,22 +12668,22 @@ dependencies = [ "pallet-treasury", "pallet-vesting", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "slot-range-helper", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "static_assertions", @@ -12429,26 +12692,26 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bs58", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitflags 1.3.2", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "log", "pallet-authority-discovery", @@ -12462,26 +12725,26 @@ dependencies = [ "pallet-staking", "pallet-timestamp", "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-metrics", "rand 0.8.5", "rand_chacha 0.3.1", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-executor", "static_assertions", ] @@ -12489,7 +12752,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assets-common", "bridge-hub-common", @@ -12503,16 +12766,16 @@ dependencies = [ "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", "cumulus-ping", - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "cumulus-primitives-utility", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-benchmarking-cli", "frame-benchmarking-pallet-pov", "frame-election-provider-support", "frame-executive", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-benchmarking", "frame-try-runtime", "pallet-alliance", @@ -12626,19 +12889,19 @@ dependencies = [ "polkadot-cli", "polkadot-node-metrics", "polkadot-omni-node-lib", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-common", "polkadot-runtime-parachains", "polkadot-sdk-frame", "polkadot-service", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-node-inspect", "staging-parachain-info", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "xcm-runtime-apis", @@ -12647,13 +12910,13 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-executive", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -12661,33 +12924,33 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-benchmarking-cli", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-rpc-runtime-api", "futures", "is_executable", @@ -12705,7 +12968,7 @@ dependencies = [ "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-collator-protocol", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-dispute-distribution", "polkadot-gossip-support", "polkadot-network-bridge", @@ -12731,56 +12994,56 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-rpc", "polkadot-runtime-parachains", "polkadot-statement-distribution", "rococo-runtime", "sc-authority-discovery", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-beefy", "sc-consensus-grandpa", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-offchain", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-sync-state-rpc", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", "sp-mmr-primitives", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", "westend-runtime", @@ -12790,7 +13053,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", "fatality", @@ -12801,8 +13064,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing-gum", ] @@ -12810,10 +13073,10 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing-gum", ] @@ -13083,14 +13346,14 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "derive_more 1.0.0", "environmental", "evm", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex", "hex-literal", "impl-trait-for-tuples", @@ -13112,14 +13375,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=b51a81bb3f2a94eabaafcde40eab6a91accf3f36#b51a81bb3f2a94eabaafcde40eab6a91accf3f36" +source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "syn 2.0.106", ] @@ -13301,7 +13564,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "syn 2.0.106", ] @@ -13931,15 +14194,15 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-executive", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -13990,8 +14253,8 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-common", "polkadot-runtime-parachains", "rococo-runtime-constants", @@ -13999,27 +14262,27 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", "sp-mmr-primitives", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -14029,16 +14292,16 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-common", "smallvec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", ] @@ -14381,8 +14644,8 @@ name = "safe-math" version = "0.1.0" dependencies = [ "num-traits", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", ] @@ -14425,18 +14688,29 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", - "sp-core", - "sp-wasm-interface", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-allocator" +version = "32.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "log", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -14448,18 +14722,18 @@ dependencies = [ "prost 0.12.6", "prost-build", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tokio", ] @@ -14467,70 +14741,122 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "log", "parity-scale-codec", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-proposer-metrics", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-inherents", - "sp-runtime", - "substrate-prometheus-endpoint", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "stp-shield 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-block-builder" +version = "0.45.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "clap", "docify", "memmap2 0.9.8", "parity-scale-codec", - "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-blockchain", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-genesis-builder", - "sp-io", - "sp-runtime", - "sp-state-machine", - "sp-tracing", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] -name = "sc-chain-spec-derive" +name = "sc-chain-spec" +version = "44.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "docify", + "memmap2 0.9.8", + "parity-scale-codec", + "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde", + "serde_json", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sc-chain-spec-derive" +version = "12.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14541,7 +14867,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14557,25 +14883,25 @@ dependencies = [ "rand 0.8.5", "regex", "rpassword", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-mixnet 0.21.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-panic-handler 13.0.2 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tokio", ] @@ -14583,33 +14909,59 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor", - "sc-transaction-pool-api", - "sc-utils", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-database", - "sp-externalities", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", - "substrate-prometheus-endpoint", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-client-api" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "fnv", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "hash-db", "kvdb", @@ -14620,265 +14972,394 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api", - "sc-state-db", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-state-db 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", - "substrate-prometheus-endpoint", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sysinfo", +] + +[[package]] +name = "sc-client-db" +version = "0.47.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "hash-db", + "kvdb", + "kvdb-memorydb", + "kvdb-rocksdb", + "linked-hash-map", + "log", + "parity-db", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-state-db 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "sysinfo", ] [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", "log", "mockall", "parking_lot 0.12.5", - "sc-client-api", - "sc-network-types", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", - "substrate-prometheus-endpoint", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] -name = "sc-consensus-aura" -version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sc-consensus" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "async-trait", "futures", "log", - "parity-scale-codec", - "sc-block-builder", - "sc-client-api", - "sc-consensus", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", + "mockall", + "parking_lot 0.12.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] -name = "sc-consensus-babe" +name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "fork-tree", "futures", "log", - "num-bigint", - "num-rational", - "num-traits", "parity-scale-codec", - "parking_lot 0.12.5", - "sc-client-api", - "sc-consensus", - "sc-consensus-epochs", - "sc-consensus-slots", - "sc-telemetry", - "sc-transaction-pool-api", - "sp-api", - "sp-application-crypto", - "sp-block-builder", - "sp-blockchain", - "sp-consensus", - "sp-consensus-babe", - "sp-consensus-slots", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-inherents", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-babe-rpc" -version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" -dependencies = [ - "futures", - "jsonrpsee", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] -name = "sc-consensus-beefy" -version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sc-consensus-aura" +version = "0.51.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "futures", + "log", + "parity-scale-codec", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-babe" +version = "0.51.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "array-bytes 6.2.3", - "async-channel 1.9.0", "async-trait", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "log", + "num-bigint", + "num-rational", + "num-traits", "parity-scale-codec", "parking_lot 0.12.5", "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-gossip", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-beefy", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", - "tokio", - "wasm-timer", ] [[package]] -name = "sc-consensus-beefy-rpc" -version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sc-consensus-babe" +version = "0.51.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ + "async-trait", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "futures", - "jsonrpsee", "log", + "num-bigint", + "num-rational", + "num-traits", "parity-scale-codec", "parking_lot 0.12.5", - "sc-consensus-beefy", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.51.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "futures", + "jsonrpsee", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "serde", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-beefy" +version = "30.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "array-bytes 6.2.3", + "async-channel 1.9.0", + "async-trait", + "futures", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-gossip", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-beefy", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "thiserror 1.0.69", + "tokio", + "wasm-timer", +] + +[[package]] +name = "sc-consensus-beefy-rpc" +version = "30.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-consensus-beefy", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "serde", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-beefy", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "fork-tree", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sp-blockchain", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-consensus-epochs" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "parity-scale-codec", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ahash", "array-bytes 6.2.3", "async-trait", "dyn-clone", "finality-grandpa", - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "fork-tree 13.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "futures", "futures-timer", "log", "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-network-gossip", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "finality-grandpa", "futures", "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-grandpa", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assert_matches", "async-trait", @@ -14887,84 +15368,143 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "serde", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-consensus-slots" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "log", + "parity-scale-codec", "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "async-trait", "futures", "futures-timer", "log", "parity-scale-codec", - "sc-client-api", - "sc-consensus", - "sc-telemetry", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-executor" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor-common", - "sc-executor-polkavm", - "sc-executor-wasmtime", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-polkavm 0.36.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", - "sp-api", - "sp-core", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", - "sp-trie", - "sp-version", - "sp-wasm-interface", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tracing", +] + +[[package]] +name = "sc-executor" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor-polkavm 0.36.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tracing", ] [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "polkavm 0.24.0", + "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "wasm-instrument", +] + +[[package]] +name = "sc-executor-common" +version = "0.39.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "polkavm 0.24.0", - "sc-allocator", - "sp-maybe-compressed-blob", - "sp-wasm-interface", + "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "wasm-instrument", ] @@ -14972,92 +15512,177 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "log", + "polkavm 0.24.0", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-executor-polkavm" +version = "0.36.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "log", "polkavm 0.24.0", - "sc-executor-common", - "sp-wasm-interface", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sc-executor-wasmtime" +version = "0.39.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "anyhow", + "log", + "parking_lot 0.12.5", + "rustix 0.36.17", + "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "wasmtime", ] [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "anyhow", "log", "parking_lot 0.12.5", "rustix 0.36.17", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", + "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "wasmtime", ] [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "console", "futures", "futures-timer", "log", - "sc-client-api", - "sc-network", - "sc-network-sync", - "sp-blockchain", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-informant" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "console", + "futures", + "futures-timer", + "log", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] -name = "sc-mixnet" -version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sc-keystore" +version = "36.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "array-bytes 6.2.3", - "arrayvec 0.7.6", - "blake2 0.10.6", - "bytes", - "futures", - "futures-timer", - "log", + "parking_lot 0.12.5", + "serde_json", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-mixnet" +version = "0.21.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "array-bytes 6.2.3", + "arrayvec 0.7.6", + "blake2 0.10.6", + "bytes", + "futures", + "futures-timer", + "log", "mixnet", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api", - "sc-network", - "sc-network-types", - "sc-transaction-pool-api", - "sp-api", - "sp-consensus", - "sp-core", - "sp-keystore", - "sp-mixnet", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-mixnet" +version = "0.21.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "arrayvec 0.7.6", + "blake2 0.10.6", + "bytes", + "futures", + "futures-timer", + "log", + "mixnet", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15082,19 +15707,69 @@ dependencies = [ "prost 0.12.6", "prost-build", "rand 0.8.5", - "sc-client-api", - "sc-network-common", - "sc-network-types", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "serde", "serde_json", "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "unsigned-varint 0.7.2", + "void", + "wasm-timer", + "zeroize", +] + +[[package]] +name = "sc-network" +version = "0.51.1" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "async-channel 1.9.0", + "async-trait", + "asynchronous-codec 0.6.2", + "bytes", + "cid 0.9.0", + "either", + "fnv", + "futures", + "futures-timer", + "ip_network", + "libp2p", + "linked_hash_set", + "litep2p", + "log", + "mockall", + "parity-scale-codec", + "parking_lot 0.12.5", + "partial_sort", + "pin-project", + "prost 0.12.6", + "prost-build", + "rand 0.8.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "serde", + "serde_json", + "smallvec", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -15107,36 +15782,67 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-network-common" +version = "0.49.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "bitflags 1.3.2", + "parity-scale-codec", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ahash", "futures", "futures-timer", "log", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "schnellru", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "tracing", +] + +[[package]] +name = "sc-network-light" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "array-bytes 6.2.3", + "async-channel 1.9.0", + "futures", + "log", + "parity-scale-codec", + "prost 0.12.6", + "prost-build", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tracing", + "thiserror 1.0.69", ] [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15145,65 +15851,100 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-client-api", - "sc-network", - "sc-network-types", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "futures", "log", "parity-scale-codec", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", - "sp-consensus", - "sp-runtime", - "sp-statement-store", - "substrate-prometheus-endpoint", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", - "fork-tree", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "log", "mockall", "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-types", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "smallvec", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-consensus-grandpa", - "sp-core", - "sp-runtime", - "substrate-prometheus-endpoint", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tokio", + "tokio-stream", +] + +[[package]] +name = "sc-network-sync" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "async-channel 1.9.0", + "async-trait", + "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "futures", + "log", + "mockall", + "parity-scale-codec", + "prost 0.12.6", + "prost-build", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "smallvec", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -15212,26 +15953,45 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "futures", "log", "parity-scale-codec", - "sc-network", - "sc-network-common", - "sc-network-sync", - "sc-network-types", - "sc-utils", - "sp-consensus", - "sp-runtime", - "substrate-prometheus-endpoint", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-network-transactions" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "futures", + "log", + "parity-scale-codec", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bs58", "bytes", @@ -15250,35 +16010,56 @@ dependencies = [ ] [[package]] -name = "sc-offchain" -version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sc-network-types" +version = "0.17.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ + "bs58", "bytes", - "fnv", - "futures", - "futures-timer", - "http-body-util", - "hyper 1.7.0", - "hyper-rustls", - "hyper-util", - "num_cpus", - "once_cell", - "parity-scale-codec", + "ed25519-dalek", + "libp2p-identity", + "libp2p-kad", + "litep2p", + "log", + "multiaddr 0.18.2", + "multihash 0.19.3", + "rand 0.8.5", + "serde", + "serde_with", + "thiserror 1.0.69", + "zeroize", +] + +[[package]] +name = "sc-offchain" +version = "46.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "bytes", + "fnv", + "futures", + "futures-timer", + "http-body-util", + "hyper 1.7.0", + "hyper-rustls", + "hyper-util", + "num_cpus", + "once_cell", + "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", "rustls", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "threadpool", "tracing", ] @@ -15286,68 +16067,144 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-mixnet", - "sc-rpc-api", - "sc-tracing", - "sc-transaction-pool-api", - "sc-utils", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde_json", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-offchain", - "sp-rpc", - "sp-runtime", - "sp-session", - "sp-statement-store", - "sp-version", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tokio", +] + +[[package]] +name = "sc-rpc" +version = "46.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde_json", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tokio", ] [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec", - "sc-mixnet", - "sc-transaction-pool-api", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "scale-info", "serde", "serde_json", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-version", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] +[[package]] +name = "sc-rpc-api" +version = "0.50.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "jsonrpsee", + "parity-scale-codec", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "scale-info", + "serde", + "serde_json", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-rpc-server" +version = "23.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "dyn-clone", + "forwarded-header-value", + "futures", + "governor", + "http 1.3.1", + "http-body-util", + "hyper 1.7.0", + "ip_network", + "jsonrpsee", + "log", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "serde", + "serde_json", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tokio", + "tower", + "tower-http", +] + [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -15359,10 +16216,10 @@ dependencies = [ "ip_network", "jsonrpsee", "log", - "sc-rpc-api", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "serde", "serde_json", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tokio", "tower", "tower-http", @@ -15371,7 +16228,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15383,19 +16240,52 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", - "sc-chain-spec", - "sc-client-api", - "sc-rpc", - "sc-transaction-pool-api", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-version", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tokio", + "tokio-stream", +] + +[[package]] +name = "sc-rpc-spec-v2" +version = "0.51.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "array-bytes 6.2.3", + "futures", + "futures-util", + "hex", + "itertools 0.11.0", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "rand 0.8.5", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -15404,22 +16294,22 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "sc-executor", - "sc-executor-common", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-state-machine", - "sp-wasm-interface", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "thiserror 1.0.69", ] [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "directories", @@ -15432,47 +16322,111 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-chain-spec", - "sc-client-api", - "sc-client-db", - "sc-consensus", - "sc-executor", - "sc-informant", - "sc-keystore", - "sc-network", - "sc-network-common", - "sc-network-light", - "sc-network-sync", - "sc-network-transactions", - "sc-network-types", - "sc-rpc", - "sc-rpc-server", - "sc-rpc-spec-v2", - "sc-sysinfo", - "sc-telemetry", - "sc-tracing", - "sc-transaction-pool", - "sc-transaction-pool-api", - "sc-utils", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-informant 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-light 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-server 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-rpc-spec-v2 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "schnellru", "serde", "serde_json", - "sp-api", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-session", - "sp-state-machine", - "sp-storage", - "sp-transaction-pool", - "sp-transaction-storage-proof", - "sp-trie", - "sp-version", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "static_init", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tracing", + "tracing-futures", +] + +[[package]] +name = "sc-service" +version = "0.52.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "directories", + "exit-future", + "futures", + "futures-timer", + "jsonrpsee", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "pin-project", + "rand 0.8.5", + "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-informant 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-light 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc-server 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc-spec-v2 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "schnellru", + "serde", + "serde_json", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "static_init", - "substrate-prometheus-endpoint", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tempfile", "thiserror 1.0.69", "tokio", @@ -15483,42 +16437,53 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.5", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-state-db" +version = "0.39.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-db", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tokio", ] [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "clap", "fs4", "log", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tokio", ] @@ -15526,26 +16491,26 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sc-consensus-grandpa", "serde", "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "derive_more 0.99.20", "futures", @@ -15554,18 +16519,57 @@ dependencies = [ "rand 0.8.5", "rand_pcg", "regex", - "sc-telemetry", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", "serde_json", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-io", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-sysinfo" +version = "43.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "derive_more 0.99.20", + "futures", + "libc", + "log", + "rand 0.8.5", + "rand_pcg", + "regex", + "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde", + "serde_json", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sc-telemetry" +version = "29.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "chrono", + "futures", + "libp2p", + "log", + "parking_lot 0.12.5", + "pin-project", + "rand 0.8.5", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-timer", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "chrono", "futures", @@ -15574,7 +16578,7 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", "thiserror 1.0.69", @@ -15584,7 +16588,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "chrono", "console", @@ -15594,15 +16598,43 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "rustc-hash 1.1.0", - "sc-client-api", - "sc-tracing-proc-macro", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-tracing-proc-macro 11.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", - "sp-runtime", - "sp-tracing", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tracing", + "tracing-log", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "sc-tracing" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "chrono", + "console", + "is-terminal", + "libc", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "rustc-hash 1.1.0", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-tracing-proc-macro 11.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tracing", "tracing-log", @@ -15612,7 +16644,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sc-tracing-proc-macro" +version = "11.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -15623,7 +16666,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -15633,18 +16676,49 @@ dependencies = [ "linked-hash-map", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api", - "sc-transaction-pool-api", - "sc-utils", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "serde", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-runtime", - "sp-tracing", - "sp-transaction-pool", - "substrate-prometheus-endpoint", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "sc-transaction-pool" +version = "40.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "indexmap 2.11.4", + "itertools 0.11.0", + "linked-hash-map", + "parity-scale-codec", + "parking_lot 0.12.5", + "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -15654,7 +16728,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", @@ -15662,16 +16736,47 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sc-transaction-pool-api" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "futures", + "indexmap 2.11.4", + "log", + "parity-scale-codec", + "serde", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "async-channel 1.9.0", + "futures", + "futures-timer", + "log", + "parking_lot 0.12.5", + "prometheus", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sc-utils" +version = "19.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "async-channel 1.9.0", "futures", @@ -15679,7 +16784,7 @@ dependencies = [ "log", "parking_lot 0.12.5", "prometheus", - "sp-arithmetic", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -16285,7 +17390,7 @@ name = "share-pool" version = "0.1.0" dependencies = [ "safe-math", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", ] @@ -16389,12 +17494,12 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -16652,22 +17757,22 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-relayers", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "hex-literal", "log", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] @@ -16734,31 +17839,67 @@ dependencies = [ ] [[package]] -name = "sp-api" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +name = "sp-api" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "docify", + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-api" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "docify", + "hash-db", + "log", + "parity-scale-codec", + "scale-info", + "sp-api-proc-macro 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-api-proc-macro" +version = "23.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "docify", - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro", - "sp-core", - "sp-externalities", - "sp-metadata-ir", - "sp-runtime", - "sp-runtime-interface", - "sp-state-machine", - "sp-trie", - "sp-version", - "thiserror 1.0.69", + "Inflector", + "blake2 0.10.6", + "expander", + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "Inflector", "blake2 0.10.6", @@ -16772,19 +17913,45 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-application-crypto" +version = "41.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-arithmetic" +version = "27.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "docify", + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "static_assertions", ] [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "docify", "integer-sqrt", @@ -16798,40 +17965,81 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-authority-discovery" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-api", - "sp-inherents", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-block-builder" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "futures", "parity-scale-codec", "parking_lot 0.12.5", "schnellru", - "sp-api", - "sp-consensus", - "sp-core", - "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "sp-blockchain" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "futures", + "parity-scale-codec", + "parking_lot 0.12.5", + "schnellru", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tracing", ] @@ -16839,103 +18047,227 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "futures", "log", - "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-consensus" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "futures", + "log", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "sp-timestamp", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-consensus-aura" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-timestamp", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-consensus-babe" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-io", - "sp-keystore", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", ] [[package]] name = "sp-consensus-grandpa" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "finality-grandpa", "log", "parity-scale-codec", "scale-info", "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-consensus-grandpa" +version = "24.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "finality-grandpa", + "log", + "parity-scale-codec", + "scale-info", + "serde", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-consensus-slots" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sp-consensus-slots" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-core" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ + "ark-vrf", + "array-bytes 6.2.3", + "bitflags 1.3.2", + "blake2 0.10.6", + "bounded-collections 0.2.4", + "bs58", + "dyn-clone", + "ed25519-zebra", + "futures", + "hash-db", + "hash256-std-hasher", + "impl-serde", + "itertools 0.11.0", + "k256", + "libsecp256k1", + "log", + "merlin", + "parity-bip39", "parity-scale-codec", + "parking_lot 0.12.5", + "paste", + "primitive-types 0.13.1", + "rand 0.8.5", "scale-info", + "schnorrkel 0.11.5", + "secp256k1 0.28.2", + "secrecy 0.8.0", "serde", - "sp-timestamp", + "sha2 0.10.9", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "ss58-registry", + "substrate-bip39 0.6.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tracing", + "w3f-bls 0.1.9", + "zeroize", ] [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -16966,14 +18298,14 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "ss58-registry", - "substrate-bip39 0.6.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", "tracing", "w3f-bls 0.1.9", @@ -16983,7 +18315,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -16997,7 +18329,7 @@ dependencies = [ "ark-ed-on-bls12-381-bandersnatch 0.4.0", "ark-ed-on-bls12-381-bandersnatch-ext", "ark-scale 0.0.12", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -17017,7 +18349,20 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "blake2b_simd", + "byteorder", + "digest 0.10.7", + "sha2 0.10.9", + "sha3", + "twox-hash", +] + +[[package]] +name = "sp-crypto-hashing" +version = "0.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "blake2b_simd", "byteorder", @@ -17030,17 +18375,36 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "quote", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "syn 2.0.106", +] + +[[package]] +name = "sp-crypto-hashing-proc-macro" +version = "0.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "kvdb", + "parking_lot 0.12.5", +] + +[[package]] +name = "sp-database" +version = "10.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -17049,7 +18413,17 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sp-debug-derive" +version = "14.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "proc-macro2", "quote", @@ -17059,42 +18433,77 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-externalities" +version = "0.30.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-genesis-builder" +version = "0.18.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde_json", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-inherents" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bytes", "docify", @@ -17105,14 +18514,40 @@ dependencies = [ "polkavm-derive 0.24.0", "rustversion", "secp256k1 0.28.2", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-tracing", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "41.0.1" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "bytes", + "docify", + "ed25519-dalek", + "libsecp256k1", + "log", + "parity-scale-codec", + "polkavm-derive 0.24.0", + "rustversion", + "secp256k1 0.28.2", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tracing", "tracing-core", ] @@ -17120,28 +18555,48 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", ] [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sp-core", - "sp-externalities", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-keystore" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "parking_lot 0.12.5", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-maybe-compressed-blob" +version = "11.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "thiserror 1.0.69", + "zstd 0.12.4", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -17150,7 +18605,17 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "frame-metadata 23.0.0", + "parity-scale-codec", + "scale-info", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.11.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -17160,58 +18625,88 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-application-crypto", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-mixnet" +version = "0.15.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", "parity-scale-codec", "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-core", - "sp-runtime", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-api", - "sp-core", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-offchain" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-panic-handler" +version = "13.0.2" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "backtrace", + "regex", ] [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "backtrace", "regex", @@ -17220,19 +18715,58 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-rpc" +version = "35.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "rustc-hash 1.1.0", + "serde", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", +] + +[[package]] +name = "sp-runtime" +version = "42.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "docify", + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "num-traits", + "parity-scale-codec", + "paste", + "rand 0.8.5", + "scale-info", + "serde", + "simple-mermaid", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "tracing", + "tuplex", ] [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ - "binary-merkle-tree", + "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "docify", "either", "hash256-std-hasher", @@ -17245,13 +18779,13 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", - "sp-trie", - "sp-weights", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "tracing", "tuplex", ] @@ -17259,26 +18793,58 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive 0.24.0", "primitive-types 0.13.1", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface-proc-macro 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "30.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec", + "polkavm-derive 0.24.0", + "primitive-types 0.13.1", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface-proc-macro 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "Inflector", + "expander", + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "19.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "Inflector", "expander", @@ -17291,34 +18857,61 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-staking", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-session" +version = "39.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-runtime", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-staking" +version = "39.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "hash-db", "log", @@ -17326,10 +18919,30 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "smallvec", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tracing", + "trie-db", +] + +[[package]] +name = "sp-state-machine" +version = "0.46.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "hash-db", + "log", + "parity-scale-codec", + "parking_lot 0.12.5", + "rand 0.8.5", + "smallvec", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tracing", "trie-db", @@ -17338,7 +18951,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17348,13 +18961,37 @@ dependencies = [ "rand 0.8.5", "scale-info", "sha2 0.10.9", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61)", - "sp-externalities", - "sp-runtime", - "sp-runtime-interface", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "x25519-dalek", +] + +[[package]] +name = "sp-statement-store" +version = "21.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "aes-gcm", + "curve25519-dalek", + "ed25519-dalek", + "hkdf", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "sha2 0.10.9", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "x25519-dalek", ] @@ -17362,41 +18999,76 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" + +[[package]] +name = "sp-storage" +version = "22.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents", - "sp-runtime", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-timestamp" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "parity-scale-codec", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", + "tracing", + "tracing-core", + "tracing-subscriber 0.3.18", +] + +[[package]] +name = "sp-tracing" +version = "17.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "parity-scale-codec", "tracing", @@ -17407,30 +19079,53 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-api", - "sp-runtime", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-transaction-pool" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core", - "sp-inherents", - "sp-runtime", - "sp-trie", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-transaction-storage-proof" +version = "37.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "async-trait", + "parity-scale-codec", + "scale-info", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17443,9 +19138,34 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core", - "sp-externalities", - "substrate-prometheus-endpoint", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", + "tracing", + "trie-db", + "trie-root", +] + +[[package]] +name = "sp-trie" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "ahash", + "foldhash 0.1.5", + "hash-db", + "hashbrown 0.15.5", + "memory-db", + "nohash-hasher", + "parity-scale-codec", + "parking_lot 0.12.5", + "rand 0.8.5", + "scale-info", + "schnellru", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", "tracing", "trie-db", @@ -17455,24 +19175,53 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", + "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-version-proc-macro 15.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "thiserror 1.0.69", +] + +[[package]] +name = "sp-version" +version = "40.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm", + "scale-info", + "serde", + "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-version-proc-macro 15.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "thiserror 1.0.69", ] [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "parity-scale-codec", + "proc-macro-warning", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "sp-version-proc-macro" +version = "15.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -17484,7 +19233,19 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "anyhow", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "wasmtime", +] + +[[package]] +name = "sp-wasm-interface" +version = "22.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -17496,15 +19257,29 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "bounded-collections 0.2.4", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "sp-weights" +version = "32.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic", - "sp-debug-derive", + "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] @@ -17670,88 +19445,109 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "clap", "docify", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", "serde_json", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "clap", "parity-scale-codec", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "thiserror 1.0.69", ] [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "parity-scale-codec", + "scale-info", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "staging-xcm" +version = "17.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "array-bytes 6.2.3", + "bounded-collections 0.2.4", + "derive-where", + "environmental", "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "hex-literal", + "impl-trait-for-tuples", + "log", "parity-scale-codec", "scale-info", - "sp-runtime", + "serde", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "xcm-procedural 11.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", ] [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", "derive-where", "environmental", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime", - "sp-weights", - "xcm-procedural", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "xcm-procedural 11.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", ] [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-executor", "tracing", ] @@ -17759,20 +19555,20 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", ] @@ -17813,6 +19609,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" dependencies = [ "anyhow", "async-trait", @@ -17823,12 +19620,12 @@ dependencies = [ "ml-kem", "parity-scale-codec", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "stp-shield 0.1.0", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "stp-shield", ] [[package]] @@ -17836,34 +19633,22 @@ name = "stp-io" version = "0.1.0" dependencies = [ "parity-scale-codec", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "stp-shield 0.1.0", -] - -[[package]] -name = "stp-shield" -version = "0.1.0" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "stp-shield", ] [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", ] [[package]] @@ -17927,7 +19712,19 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "hmac 0.12.1", + "pbkdf2", + "schnorrkel 0.11.5", + "sha2 0.10.9", + "zeroize", +] + +[[package]] +name = "substrate-bip39" +version = "0.6.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -17952,7 +19749,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" [[package]] name = "substrate-fixed" @@ -17968,7 +19765,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -17976,19 +19773,33 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-rpc-api", - "sc-transaction-pool-api", - "sp-api", - "sp-block-builder", - "sp-blockchain", - "sp-core", - "sp-runtime", + "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", +] + +[[package]] +name = "substrate-prometheus-endpoint" +version = "0.17.6" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "http-body-util", + "hyper 1.7.0", + "hyper-util", + "log", + "prometheus", + "thiserror 1.0.69", + "tokio", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -18002,17 +19813,17 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "trie-db", ] @@ -18029,7 +19840,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -18042,13 +19853,13 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker 0.24.0", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "shlex", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "strum 0.26.3", "tempfile", "toml 0.8.23", @@ -18072,8 +19883,8 @@ dependencies = [ name = "subtensor-chain-extensions" version = "0.1.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "num_enum", "pallet-balances", @@ -18089,10 +19900,10 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -18104,9 +19915,9 @@ version = "0.0.2" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-custom-rpc-runtime-api", "subtensor-runtime-common", ] @@ -18117,8 +19928,8 @@ version = "0.0.2" dependencies = [ "pallet-subtensor", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "subtensor-runtime-common", ] @@ -18148,8 +19959,8 @@ version = "0.1.0" dependencies = [ "ed25519-dalek", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-admin-utils", "pallet-balances", @@ -18166,10 +19977,10 @@ dependencies = [ "pallet-subtensor-swap", "precompile-utils", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -18180,14 +19991,13 @@ name = "subtensor-runtime-common" version = "0.1.0" dependencies = [ "approx", - "environmental", - "frame-support", + "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "parity-scale-codec", "polkadot-runtime-common", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-macros", ] @@ -18196,7 +20006,7 @@ dependencies = [ name = "subtensor-swap-interface" version = "0.1.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", "substrate-fixed", @@ -18220,8 +20030,8 @@ name = "subtensor-transaction-fee" version = "0.1.0" dependencies = [ "frame-executive", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "log", "pallet-balances", "pallet-crowdloan", @@ -18236,14 +20046,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "smallvec", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -19060,10 +20870,10 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "coarsetime", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "tracing", "tracing-gum-proc-macro", ] @@ -19071,7 +20881,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -20022,16 +21832,16 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -20088,37 +21898,37 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", "serde", "serde_derive", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -20129,16 +21939,16 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-common", "smallvec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", ] @@ -20682,7 +22492,18 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.106", +] + +[[package]] +name = "xcm-procedural" +version = "11.0.2" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" dependencies = [ "Inflector", "proc-macro2", @@ -20693,34 +22514,34 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-executor", ] [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=71629fd93b6c12a362a5cfb6331accef9b2b2b61#71629fd93b6c12a362a5cfb6331accef9b2b2b61" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "parity-scale-codec", "paste", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "polkadot-runtime-parachains", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", "staging-xcm-builder", "staging-xcm-executor", ] diff --git a/Cargo.toml b/Cargo.toml index 9ffb13ed53..c2e67e8e7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,6 @@ members = [ "runtime", "support/*", "chain-extensions", - "client/shield", ] resolver = "2" @@ -75,8 +74,8 @@ subtensor-swap-interface = { default-features = false, path = "pallets/swap-inte subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } stp-io = { path = "primitives/io", default-features = false } -stp-shield = { path = "primitives/shield", default-features = false } -stc-shield = { path = "client/shield", default-features = false } +stp-shield = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +stc-shield = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -128,161 +127,161 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-root-testing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-root-testing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-bags-list = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-fast-unstake = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-nomination-pools = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +frame-election-provider-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-bags-list = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-fast-unstake = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-nomination-pools = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-epochs = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-epochs = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-npos-elections = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-npos-elections = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "b51a81bb3f2a94eabaafcde40eab6a91accf3f36", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } getrandom = { version = "0.2.15", default-features = false, features = [ "custom", ] } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "7244332d66a4ca8d0a461e54afdb540ed1301105", default-features = false } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index fbc13e75a6..ed7c440e24 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -39,7 +39,6 @@ stp-shield.workspace = true # Benchmark-only (optional, activated by runtime-benchmarks feature) pallet-aura = { workspace = true, optional = true } sp-consensus-aura = { workspace = true, optional = true } -sp-consensus-slots = { workspace = true, optional = true } ml-kem = { workspace = true, optional = true } chacha20poly1305 = { workspace = true, optional = true, features = ["std"] } rand = { workspace = true, optional = true } @@ -51,7 +50,6 @@ chacha20poly1305 = { workspace = true, features = ["std"] } rand.workspace = true pallet-subtensor-utility.workspace = true - [features] default = ["std"] @@ -72,7 +70,10 @@ std = [ "stp-shield/std", "pallet-aura?/std", "sp-consensus-aura?/std", - "sp-consensus-slots?/std", + "chacha20poly1305?/std", + "ml-kem?/std", + "pallet-subtensor-utility/std", + "stc-shield/std", ] runtime-benchmarks = [ @@ -80,13 +81,18 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", - "pallet-aura/runtime-benchmarks", - "sp-consensus-aura/runtime-benchmarks", - "sp-consensus-slots/runtime-benchmarks", + "pallet-subtensor-utility/runtime-benchmarks", + "chacha20poly1305", + "ml-kem", + "pallet-aura", + "sp-consensus-aura", + "rand", ] try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime", + "pallet-aura/try-runtime", + "pallet-subtensor-utility/try-runtime", ] diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index e3890bae76..421aa8adf6 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -2,43 +2,90 @@ use super::*; use frame_benchmarking::v2::*; use frame_support::{BoundedVec, pallet_prelude::ConstU32}; -use frame_system::{RawOrigin, pallet_prelude::BlockNumberFor}; +use frame_system::RawOrigin; use sp_core::sr25519; -use sp_runtime::{AccountId32, traits::Hash as HashT}; use sp_std::vec; -// /// Helper to build bounded bytes (public key) of a given length. -// fn bounded_pk(len: usize) -> BoundedVec> { -// let v = vec![7u8; len]; -// BoundedVec::>::try_from(v).expect("within bound; qed") -// } +use chacha20poly1305::{ + KeyInit, XChaCha20Poly1305, XNonce, + aead::{Aead, Payload}, +}; +use ml_kem::{ + Ciphertext, KemCore, MlKem768, MlKem768Params, + kem::{Decapsulate, DecapsulationKey, Encapsulate}, +}; +use rand::rngs::OsRng; +use stp_shield::ShieldedTransaction; + +use codec::Encode; +use sp_consensus_aura::AURA_ENGINE_ID; +use sp_core::crypto::KeyTypeId; +use sp_io::crypto::sr25519_generate; + +/// Seed Aura authorities from sr25519 public keys. +fn seed_aura_authorities(pubkeys: &[sr25519::Public]) +where + T: pallet::Config + pallet_aura::Config, + ::AuthorityId: From, +{ + pallet_aura::Authorities::::mutate(|auths| { + for pk in pubkeys { + let auth_id: ::AuthorityId = (*pk).into(); + let _ = auths.try_push(auth_id); + } + }); +} -/// Helper to build bounded bytes (ciphertext) of a given length. -fn bounded_ct(len: usize) -> BoundedVec> { - let v = vec![0u8; len]; - BoundedVec::>::try_from(v).expect("within bound; qed") +/// Deposit an Aura pre-runtime digest for the given slot. +fn deposit_slot_digest(slot: u64) { + frame_system::Pallet::::deposit_log(sp_runtime::DigestItem::PreRuntime( + AURA_ENGINE_ID, + slot.encode(), + )); } -// /// Seed Aura authorities so `EnsureAuraAuthority` passes for a given sr25519 pubkey. -// /// -// /// We avoid requiring `ByteArray` on `AuthorityId` by relying on: -// /// `::AuthorityId: From`. -// fn seed_aura_authority_from_sr25519(pubkey: &sr25519::Public) -// where -// T: pallet::Config + pallet_aura::Config, -// ::AuthorityId: From, -// { -// let auth_id: ::AuthorityId = (*pubkey).into(); -// pallet_aura::Authorities::::mutate(|auths| { -// let _ = auths.try_push(auth_id); -// }); -// } +/// Build a real max-size encrypted ciphertext (8192 bytes wire format). +/// +/// Returns `(wire_ciphertext, dec_key)` so the benchmark can measure decryption. +fn build_max_encrypted_payload() -> (Vec, DecapsulationKey) { + let (dec_key, enc_key) = MlKem768::generate(&mut OsRng); + let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); + + // Wire overhead: key_hash(16) + kem_ct_len(2) + kem_ct(1088) + nonce(24) = 1130. + // Max aead_ct = 8192 − 1130 = 7062. + // Poly1305 tag = 16 bytes ⇒ max plaintext = 7046. + let plaintext = vec![0x42u8; 7046]; + + let nonce = [0u8; 24]; + let cipher = XChaCha20Poly1305::new(shared_secret.as_slice().into()); + let aead_ct = cipher + .encrypt( + XNonce::from_slice(&nonce), + Payload { + msg: &plaintext, + aad: &[], + }, + ) + .expect("AEAD encryption must succeed in benchmark setup"); + + let kem_ct_bytes = kem_ct.as_slice(); + let key_hash = [0u8; 16]; + + let mut wire = Vec::with_capacity(8192); + wire.extend_from_slice(&key_hash); + wire.extend_from_slice(&(kem_ct_bytes.len() as u16).to_le_bytes()); + wire.extend_from_slice(kem_ct_bytes); + wire.extend_from_slice(&nonce); + wire.extend_from_slice(&aead_ct); + + debug_assert_eq!(wire.len(), 8192); + + (wire, dec_key) +} #[benchmarks( where - // Needed to build a concrete inner call and convert into T::RuntimeCall. - ::RuntimeCall: From>, - // Needed so we can seed Authorities from a dev sr25519 pubkey. + T: pallet_aura::Config, ::AuthorityId: From, ::AccountId: From + Into, ::RuntimeOrigin: From> @@ -46,101 +93,88 @@ fn bounded_ct(len: usize) -> BoundedVec> { mod benches { use super::*; - // We use the custom value for announce_next_key to charge a higher fee, not the benchmark result. - // /// Benchmark `announce_next_key`. - // #[benchmark] - // fn announce_next_key() { - // // Generate a deterministic dev key in the host keystore (for benchmarks). - // // Any 4-byte KeyTypeId works for generation; it does not affect AccountId derivation. - // const KT: KeyTypeId = KeyTypeId(*b"benc"); - // let alice_pub: sr25519::Public = sr25519_generate(KT, Some("//Alice".as_bytes().to_vec())); - // let alice_acc: AccountId32 = alice_pub.into(); - - // // Make this account an Aura authority for the generic runtime. - // seed_aura_authority_from_sr25519::(&alice_pub); - - // // Valid Kyber768 public key length per pallet check. - // const KYBER768_PK_LEN: usize = 1184; - // let public_key: BoundedVec> = bounded_pk::<2048>(KYBER768_PK_LEN); - - // // Measure: dispatch the extrinsic. - // #[extrinsic_call] - // announce_next_key(RawOrigin::Signed(alice_acc.clone()), public_key.clone()); - - // // Assert: NextKey should be set exactly. - // let stored = NextKey::::get().expect("must be set by announce_next_key"); - // assert_eq!(stored, public_key); - // } - - /// Benchmark `submit_encrypted`. + /// Worst-case `announce_next_key`: both current and next author exist, + /// NextKey is populated (shift to CurrentKey), and the next author has a + /// stored key (triggers NextKey write). #[benchmark] - fn submit_encrypted() { - // Any whitelisted caller is fine (no authority requirement). - let who: T::AccountId = whitelisted_caller(); + fn announce_next_key() { + let alice = sr25519_generate(KeyTypeId(*b"aura"), Some("//Alice".as_bytes().to_vec())); + let bob = sr25519_generate(KeyTypeId(*b"aura"), Some("//Bob".as_bytes().to_vec())); + + // Seed Aura with [alice, bob]. + seed_aura_authorities::(&[alice, bob]); - // Dummy commitment and ciphertext (bounded to 8192). - let commitment: T::Hash = ::Hashing::hash(b"bench-commitment"); - const CT_DEFAULT_LEN: usize = 256; - let ciphertext: BoundedVec> = super::bounded_ct::<8192>(CT_DEFAULT_LEN); + // Slot 0 → current = authorities[0 % 2] = alice, + // next = authorities[1 % 2] = bob. + deposit_slot_digest::(0); - // Pre-compute expected id to assert postconditions. - let id: T::Hash = - ::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); + // Pre-populate NextKey so the shift (CurrentKey ← NextKey) writes. + let old_next_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]); + NextKey::::put(old_next_key); + + // Pre-populate AuthorKeys for the next author (bob) so NextKey gets set. + let bob_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x77; MLKEM768_PK_LEN]); + let bob_id: ::AuthorityId = bob.into(); + AuthorKeys::::insert(&bob_id, bob_key); + + // Valid 1184-byte ML-KEM-768 public key. + let public_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x42; MLKEM768_PK_LEN]); - // Measure: dispatch the extrinsic. #[extrinsic_call] - submit_encrypted( - RawOrigin::Signed(who.clone()), - commitment, - ciphertext.clone(), - ); - - // Assert: stored under expected id. - let got = Submissions::::get(id).expect("submission must exist"); - assert_eq!(got.author, who); - assert_eq!( - got.commitment, - ::Hashing::hash(b"bench-commitment") - ); - assert_eq!(got.ciphertext.as_slice(), ciphertext.as_slice()); + announce_next_key(RawOrigin::None, Some(public_key.clone())); + + // CurrentKey was shifted from old NextKey. + assert!(CurrentKey::::get().is_some()); + // NextKey was set from bob's AuthorKeys entry. + assert!(NextKey::::get().is_some()); + // Alice's AuthorKeys was updated. + let alice_id: ::AuthorityId = alice.into(); + assert_eq!(AuthorKeys::::get(&alice_id), Some(public_key)); } - /// Benchmark `mark_decryption_failed`. + /// Worst-case `submit_encrypted`: max-size ciphertext (8192 bytes) with + /// real ML-KEM-768 + XChaCha20-Poly1305 decryption to account for the + /// block proposer's off-chain decrypt cost. #[benchmark] - fn mark_decryption_failed() { - // Any account can be the author of the submission. + fn submit_encrypted() { let who: T::AccountId = whitelisted_caller(); - let submitted_in: BlockNumberFor = frame_system::Pallet::::block_number(); - - // Build a dummy commitment and ciphertext. - let commitment: T::Hash = - ::Hashing::hash(b"bench-mark-decryption-failed"); - const CT_DEFAULT_LEN: usize = 32; - let ciphertext: BoundedVec> = - BoundedVec::truncate_from(vec![0u8; CT_DEFAULT_LEN]); - - // Compute the submission id exactly like `submit_encrypted` does. - let id: T::Hash = - ::Hashing::hash_of(&(who.clone(), commitment, &ciphertext)); - - // Seed Submissions with an entry for this id. - let sub = Submission::, ::Hash> { - author: who, - commitment, - ciphertext: ciphertext.clone(), - submitted_in, - }; - Submissions::::insert(id, sub); - - // Reason for failure. - let reason: BoundedVec> = - BoundedVec::truncate_from(b"benchmark-decryption-failed".to_vec()); - - // Measure: dispatch the unsigned extrinsic. - #[extrinsic_call] - mark_decryption_failed(RawOrigin::None, id, reason); - // Assert: submission is removed. - assert!(Submissions::::get(id).is_none()); + // Build a real max-size encrypted payload. + let (wire, dec_key) = build_max_encrypted_payload(); + let ciphertext: BoundedVec> = BoundedVec::truncate_from(wire); + + #[block] + { + // 1. On-chain dispatch (event deposit). + Pallet::::submit_encrypted( + RawOrigin::Signed(who.clone()).into(), + ciphertext.clone(), + ) + .expect("submit_encrypted dispatch must succeed"); + + // 2. Parse wire-format ciphertext (proposer decode). + let shielded_tx = + ShieldedTransaction::parse(&ciphertext).expect("wire format must be valid"); + + // 3. ML-KEM-768 decapsulate (proposer crypto). + let ct = Ciphertext::::try_from(shielded_tx.kem_ct.as_slice()) + .expect("kem_ct must be valid ML-KEM-768 ciphertext"); + let shared_secret = dec_key + .decapsulate(&ct) + .expect("decapsulation must succeed"); + let ss: [u8; 32] = shared_secret.into(); + + // 4. AEAD decrypt (proposer crypto). + let aead = XChaCha20Poly1305::new((&ss).into()); + let _plaintext = aead + .decrypt( + XNonce::from_slice(&shielded_tx.nonce), + Payload { + msg: &shielded_tx.aead_ct, + aad: &[], + }, + ) + .expect("AEAD decryption must succeed"); + } } } From e6ed136fa1f983426a30fa28c644f72620db8a3f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Sat, 14 Feb 2026 01:01:31 -0300 Subject: [PATCH 060/204] update Cargo.toml/lock --- Cargo.lock | 3538 ++++++++++++++++++++++++++-------------------------- Cargo.toml | 216 ++-- 2 files changed, 1877 insertions(+), 1877 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6053fb9741..807a4500ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1058,10 +1058,10 @@ name = "assets-common" version = "0.22.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "ethereum-standards", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-assets", @@ -1071,10 +1071,10 @@ dependencies = [ "parachains-common", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -1718,14 +1718,14 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bp-runtime", "finality-grandpa", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] @@ -1735,13 +1735,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bp-header-chain", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-std", ] [[package]] @@ -1752,13 +1752,13 @@ dependencies = [ "bp-header-chain", "bp-polkadot-core", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] @@ -1768,13 +1768,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bp-messages", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-std", ] [[package]] @@ -1786,13 +1786,13 @@ dependencies = [ "bp-messages", "bp-parachains", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-utility", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", ] [[package]] @@ -1800,8 +1800,8 @@ name = "bp-runtime" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "hash-db", "impl-trait-for-tuples", "log", @@ -1809,12 +1809,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", "trie-db", ] @@ -1830,12 +1830,12 @@ dependencies = [ "ed25519-dalek", "finality-grandpa", "parity-scale-codec", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "sp-std", + "sp-trie", ] [[package]] @@ -1845,14 +1845,14 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bp-messages", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-std", + "staging-xcm", ] [[package]] @@ -1862,9 +1862,9 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -1872,16 +1872,16 @@ name = "bridge-hub-common" version = "0.14.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-support", "pallet-message-queue", "parity-scale-codec", "scale-info", "snowbridge-core", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-std", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -1897,8 +1897,8 @@ dependencies = [ "bp-polkadot-core", "bp-relayers", "bp-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -1908,12 +1908,12 @@ dependencies = [ "pallet-utility", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-std", + "sp-trie", + "sp-weights", + "staging-xcm", "tuplex", ] @@ -2737,7 +2737,7 @@ dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "cumulus-client-network", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "hex", @@ -2748,10 +2748,10 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network", + "sc-service", + "sp-consensus-babe", + "sp-runtime", "tokio", ] @@ -2762,13 +2762,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "clap", "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-service", + "sp-blockchain", + "sp-core", + "sp-runtime", "url", ] @@ -2779,19 +2779,19 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "futures", "parity-scale-codec", "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-client-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-runtime", "tracing", ] @@ -2806,7 +2806,7 @@ dependencies = [ "cumulus-client-consensus-proposer", "cumulus-client-parachain-inherent", "cumulus-primitives-aura", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "parity-scale-codec", @@ -2815,29 +2815,29 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-babe", + "sc-consensus-slots", + "sc-telemetry", + "sc-utils", "schnellru", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-state-machine", + "sp-timestamp", + "sp-trie", + "substrate-prometheus-endpoint", "tokio", "tracing", ] @@ -2849,28 +2849,28 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "async-trait", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "dyn-clone", "futures", "log", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-network", "schnellru", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-runtime", + "sp-timestamp", + "sp-trie", + "sp-version", + "substrate-prometheus-endpoint", "tracing", ] @@ -2882,10 +2882,10 @@ dependencies = [ "anyhow", "async-trait", "cumulus-primitives-parachain-inherent", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus", + "sp-inherents", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.69", ] @@ -2896,19 +2896,19 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "async-trait", "cumulus-client-consensus-common", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "parking_lot 0.12.5", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", "tracing", ] @@ -2925,17 +2925,17 @@ dependencies = [ "parking_lot 0.12.5", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sc-client-api", + "sc-network", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-version", "tracing", ] @@ -2945,7 +2945,7 @@ version = "0.18.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", @@ -2966,7 +2966,7 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-streams", "futures", @@ -2975,16 +2975,16 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus", + "sc-network", + "sp-api", + "sp-consensus", + "sp-maybe-compressed-blob", + "sp-runtime", + "sp-version", "tracing", ] @@ -2999,33 +2999,33 @@ dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-client-pov-recovery", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "cumulus-relay-chain-inprocess-interface", "cumulus-relay-chain-interface", "cumulus-relay-chain-minimal-node", "cumulus-relay-chain-streams", "futures", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "prometheus", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-transactions 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-sync", + "sc-network-transactions", + "sc-rpc", + "sc-service", + "sc-sysinfo", + "sc-telemetry", + "sc-transaction-pool", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-io", + "sp-runtime", + "sp-transaction-pool", ] [[package]] @@ -3034,15 +3034,15 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-aura", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", ] [[package]] @@ -3050,16 +3050,16 @@ name = "cumulus-pallet-dmp-queue" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -3069,32 +3069,32 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-proof-size-hostfunction", "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hashbrown 0.15.5", "impl-trait-for-tuples", "log", "pallet-message-queue", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-version", + "staging-xcm", "staging-xcm-builder", "trie-db", ] @@ -3115,12 +3115,12 @@ name = "cumulus-pallet-session-benchmarking" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-session", "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -3129,13 +3129,13 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-parachain-system", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-sudo", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -3143,18 +3143,18 @@ name = "cumulus-pallet-weight-reclaim" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-storage-weight-reclaim", "derive-where", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-trie", ] [[package]] @@ -3162,14 +3162,14 @@ name = "cumulus-pallet-xcm" version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -3179,20 +3179,20 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "approx", "bounded-collections 0.2.4", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-message-queue", "parity-scale-codec", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3203,13 +3203,13 @@ version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "cumulus-pallet-xcm", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -3261,7 +3261,7 @@ version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "parity-scale-codec", "scale-info", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -3327,14 +3327,14 @@ name = "cumulus-primitives-utility" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-support", "log", "pallet-asset-conversion", "parity-scale-codec", "polkadot-runtime-common", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -3347,24 +3347,24 @@ dependencies = [ "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures", "futures-timer", "polkadot-cli", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "polkadot-service", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-sysinfo", + "sc-telemetry", + "sc-tracing", + "sp-api", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", ] [[package]] @@ -3373,17 +3373,17 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "futures", "jsonrpsee-core", "parity-scale-codec", "polkadot-overseer", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sp-api", + "sp-blockchain", + "sp-state-machine", + "sp-version", "thiserror 1.0.69", ] @@ -3396,30 +3396,30 @@ dependencies = [ "async-channel 1.9.0", "async-trait", "cumulus-client-bootnodes", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures", - "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-core-primitives", "polkadot-network-bridge", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "polkadot-service", "sc-authority-discovery", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-network-common", + "sc-service", + "sc-tracing", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-runtime", + "substrate-prometheus-endpoint", "tracing", ] @@ -3429,7 +3429,7 @@ version = "0.24.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "either", "futures", @@ -3440,23 +3440,23 @@ dependencies = [ "polkadot-overseer", "prometheus", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-rpc-api", + "sc-service", "schnellru", "serde", "serde_json", "smoldot 0.11.0", "smoldot-light 0.9.0", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-authority-discovery", + "sp-consensus-babe", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-version", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-util", @@ -3472,9 +3472,9 @@ dependencies = [ "cumulus-relay-chain-interface", "futures", "polkadot-node-subsystem", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-api", + "sp-consensus", "tracing", ] @@ -3483,12 +3483,12 @@ name = "cumulus-test-relay-sproof-builder" version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-runtime", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -4485,8 +4485,8 @@ dependencies = [ "async-trait", "fp-storage", "parity-scale-codec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -4496,13 +4496,13 @@ source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722 dependencies = [ "fc-rpc", "fp-storage", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-aura 0.51.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus-aura", + "sp-api", + "sp-consensus-aura", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] @@ -4511,14 +4511,14 @@ version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fc-rpc", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus-babe", + "sp-api", + "sp-blockchain", + "sp-consensus-babe", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] @@ -4529,11 +4529,11 @@ dependencies = [ "async-trait", "fp-consensus", "fp-rpc", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus", + "sp-api", + "sp-block-builder", + "sp-consensus", + "sp-runtime", "thiserror 2.0.17", ] @@ -4555,14 +4555,14 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-client-db", "smallvec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-runtime", "sqlx", "tokio", ] @@ -4580,13 +4580,13 @@ dependencies = [ "futures-timer", "log", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", "tokio", ] @@ -4615,28 +4615,28 @@ dependencies = [ "prometheus", "rand 0.9.2", "rlp 0.6.1", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-network-sync", + "sc-rpc", + "sc-service", + "sc-transaction-pool-api", + "sc-utils", "schnellru", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", + "substrate-prometheus-endpoint", "thiserror 2.0.17", "tokio", ] @@ -4666,11 +4666,11 @@ dependencies = [ "fp-rpc", "fp-storage", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sp-api", + "sp-io", + "sp-runtime", + "sp-storage", ] [[package]] @@ -4868,10 +4868,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", ] [[package]] @@ -4881,8 +4881,8 @@ source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722 dependencies = [ "ethereum", "parity-scale-codec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -4893,7 +4893,7 @@ dependencies = [ "ethereum", "ethereum-types", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", ] @@ -4904,13 +4904,13 @@ source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722 dependencies = [ "environmental", "evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "num_enum", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -4923,10 +4923,10 @@ dependencies = [ "fp-evm", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-runtime", + "sp-state-machine", ] [[package]] @@ -4934,11 +4934,11 @@ name = "fp-self-contained" version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -5015,54 +5015,54 @@ dependencies = [ "clap", "comfy-table", "cumulus-client-parachain-inherent", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-proof-size-hostfunction", "env_filter", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-storage-access-test-runtime", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "gethostname", "handlebars", "itertools 0.11.0", "linked-hash-map", "log", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "rand 0.8.5", "rand_pcg", - "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-block-builder", + "sc-chain-spec", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor-common 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-client-db", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", "sc-runtime-utilities", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service", + "sc-sysinfo", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-database 10.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-wasm-interface 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-externalities", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-runtime-interface", + "sp-state-machine", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", + "sp-trie", + "sp-version", + "sp-wasm-interface", "subxt", "subxt-signer", "thiserror 1.0.69", @@ -5074,13 +5074,13 @@ name = "frame-benchmarking-pallet-pov" version = "31.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -5114,15 +5114,15 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "frame-election-provider-solution-type", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", ] [[package]] @@ -5131,16 +5131,16 @@ version = "41.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "aquamarine", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-try-runtime", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-tracing", ] [[package]] @@ -5186,12 +5186,12 @@ dependencies = [ "array-bytes 6.2.3", "const-hex", "docify", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -5201,10 +5201,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", "substrate-wasm-builder", ] @@ -5441,13 +5441,13 @@ name = "frame-system-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -5457,7 +5457,7 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "docify", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", ] [[package]] @@ -5465,10 +5465,10 @@ name = "frame-try-runtime" version = "0.47.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-runtime", ] [[package]] @@ -8026,15 +8026,15 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", "sc-offchain", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-consensus", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -8045,11 +8045,11 @@ dependencies = [ "jsonrpsee", "parity-scale-codec", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-core", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -8403,10 +8403,10 @@ dependencies = [ "fc-storage", "fp-consensus", "fp-rpc", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-benchmarking-cli", "frame-metadata-hash-extension", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system", "frame-system-rpc-runtime-api", "futures", "hex", @@ -8425,57 +8425,57 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api", "polkadot-sdk", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-chain-spec-derive 12.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", + "sc-chain-spec-derive", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-babe", "sc-consensus-babe-rpc", - "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-epochs", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", "sc-consensus-manual-seal", - "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-slots", + "sc-executor", + "sc-keystore", + "sc-network", + "sc-network-sync", "sc-offchain", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc", + "sc-rpc-api", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-grandpa", + "sp-consensus-slots", + "sp-core", "sp-crypto-ec-utils", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents", + "sp-io", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", "stc-shield", "stp-io", "stp-shield", "substrate-build-script-utils", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint", "subtensor-custom-rpc", "subtensor-custom-rpc-runtime-api", "subtensor-macros", @@ -8493,13 +8493,13 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-self-contained", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata 23.0.0", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -8560,28 +8560,28 @@ dependencies = [ "serde_json", "sha2 0.10.9", "smallvec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-grandpa", + "sp-consensus-slots", + "sp-core", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", "sp-npos-elections", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-transaction-pool", + "sp-version", "stp-io", "stp-shield", "substrate-fixed", @@ -8952,9 +8952,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" name = "pallet-admin-utils" version = "4.0.0-dev" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-balances", "pallet-crowdloan", @@ -8967,14 +8967,14 @@ dependencies = [ "pallet-subtensor-swap", "parity-scale-codec", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "sp-weights", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -8987,9 +8987,9 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-collective", "pallet-identity", @@ -9006,17 +9006,17 @@ name = "pallet-asset-conversion" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9024,17 +9024,17 @@ name = "pallet-asset-conversion-ops" version = "0.9.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-asset-conversion", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9042,14 +9042,14 @@ name = "pallet-asset-conversion-tx-payment" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -9057,13 +9057,13 @@ name = "pallet-asset-rate" version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -9071,17 +9071,17 @@ name = "pallet-asset-rewards" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -9089,15 +9089,15 @@ name = "pallet-asset-tx-payment" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-transaction-payment", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -9106,16 +9106,16 @@ version = "43.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "ethereum-standards", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "pallet-revive", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -9135,14 +9135,14 @@ name = "pallet-assets-holder" version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-assets", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -9160,15 +9160,15 @@ name = "pallet-aura" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", ] [[package]] @@ -9176,14 +9176,14 @@ name = "pallet-authority-discovery" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-authority-discovery", + "sp-runtime", ] [[package]] @@ -9191,12 +9191,12 @@ name = "pallet-authorship" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -9204,22 +9204,22 @@ name = "pallet-babe" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-session", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-babe", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] @@ -9229,18 +9229,18 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "aquamarine", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-tracing", ] [[package]] @@ -9249,14 +9249,14 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -9265,12 +9265,12 @@ version = "1.0.0" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -9278,8 +9278,8 @@ name = "pallet-beefy" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-session", @@ -9287,9 +9287,9 @@ dependencies = [ "scale-info", "serde", "sp-consensus-beefy", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] @@ -9298,10 +9298,10 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "binary-merkle-tree", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-beefy", "pallet-mmr", @@ -9309,12 +9309,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", ] [[package]] @@ -9322,16 +9322,16 @@ name = "pallet-bounties" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9342,15 +9342,15 @@ dependencies = [ "bp-header-chain", "bp-runtime", "bp-test-utils", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa", + "sp-runtime", + "sp-std", ] [[package]] @@ -9361,15 +9361,15 @@ dependencies = [ "bp-header-chain", "bp-messages", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", + "sp-trie", ] [[package]] @@ -9381,15 +9381,15 @@ dependencies = [ "bp-parachains", "bp-polkadot-core", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bridge-grandpa", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", ] [[package]] @@ -9401,9 +9401,9 @@ dependencies = [ "bp-messages", "bp-relayers", "bp-runtime", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bridge-grandpa", "pallet-bridge-messages", @@ -9411,8 +9411,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-runtime", ] [[package]] @@ -9421,16 +9421,16 @@ version = "0.20.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-runtime", ] [[package]] @@ -9438,17 +9438,17 @@ name = "pallet-child-bounties" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-bounties", "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9456,9 +9456,9 @@ name = "pallet-collator-selection" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-balances", @@ -9466,8 +9466,8 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-staking", ] [[package]] @@ -9476,15 +9476,15 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9492,13 +9492,13 @@ name = "pallet-collective-content" version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -9507,9 +9507,9 @@ version = "4.0.0-dev" dependencies = [ "ark-serialize 0.4.2", "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hex", "log", "pallet-balances", @@ -9518,10 +9518,10 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "sha2 0.10.9", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "subtensor-macros", "subtensor-runtime-common", "tle", @@ -9534,9 +9534,9 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "pallet-balances", @@ -9549,11 +9549,11 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "wasm-instrument", "wasmi 0.32.3", @@ -9564,8 +9564,8 @@ name = "pallet-contracts-mock-network" version = "18.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-assets", "pallet-balances", "pallet-contracts", @@ -9574,17 +9574,17 @@ dependencies = [ "pallet-timestamp", "pallet-xcm", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-tracing", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "xcm-simulator", @@ -9638,14 +9638,14 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assert_matches", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -9653,35 +9653,35 @@ name = "pallet-core-fellowship" version = "25.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-ranked-collective", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] name = "pallet-crowdloan" version = "0.1.0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-balances", "pallet-preimage", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "subtensor-macros", ] @@ -9690,14 +9690,14 @@ name = "pallet-delegated-staking" version = "8.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] @@ -9705,16 +9705,16 @@ name = "pallet-democracy" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9722,14 +9722,14 @@ name = "pallet-dev-mode" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -9744,9 +9744,9 @@ dependencies = [ "ark-scale 0.0.11", "ark-serialize 0.4.2", "ark-std 0.4.0", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hex", "log", "parity-scale-codec", @@ -9754,13 +9754,13 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "sp-crypto-ec-utils", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore", + "sp-runtime", + "sp-std", "subtensor-macros", "tle", "w3f-bls 0.1.3", @@ -9771,17 +9771,17 @@ name = "pallet-dummy-dim" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9789,20 +9789,20 @@ name = "pallet-election-provider-multi-block" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", ] [[package]] @@ -9810,19 +9810,19 @@ name = "pallet-election-provider-multi-phase" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", "strum 0.26.3", ] @@ -9831,12 +9831,12 @@ name = "pallet-election-provider-support-benchmarking" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system", "parity-scale-codec", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -9844,17 +9844,17 @@ name = "pallet-elections-phragmen" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-staking", ] [[package]] @@ -9870,14 +9870,14 @@ dependencies = [ "fp-evm", "fp-rpc", "fp-storage", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-version", ] [[package]] @@ -9885,24 +9885,24 @@ name = "pallet-evm" version = "6.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "cumulus-primitives-storage-weight-reclaim 12.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-storage-weight-reclaim", "environmental", "ethereum", "evm", "fp-account", "fp-evm", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hash-db", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -9910,8 +9910,8 @@ name = "pallet-evm-chain-id" version = "1.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", ] @@ -9922,7 +9922,7 @@ version = "2.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "substrate-bn", ] @@ -9932,10 +9932,10 @@ version = "2.0.0-dev" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "pallet-evm", "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -9963,7 +9963,7 @@ source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722 dependencies = [ "fp-evm", "ripemd", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", ] [[package]] @@ -9972,16 +9972,16 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] @@ -9990,16 +9990,16 @@ version = "27.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "blake2 0.10.6", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", ] [[package]] @@ -10007,21 +10007,21 @@ name = "pallet-grandpa" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", ] [[package]] @@ -10029,14 +10029,14 @@ name = "pallet-hotfix-sufficients" version = "1.0.0" source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-evm", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -10045,14 +10045,14 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -10060,18 +10060,18 @@ name = "pallet-im-online" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10079,14 +10079,14 @@ name = "pallet-indices" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10105,12 +10105,12 @@ name = "pallet-lottery" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -10118,15 +10118,15 @@ name = "pallet-membership" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10135,17 +10135,17 @@ version = "44.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] @@ -10154,16 +10154,16 @@ version = "0.3.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] @@ -10172,17 +10172,17 @@ version = "11.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "parity-scale-codec", "polkadot-sdk-frame", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10195,8 +10195,8 @@ dependencies = [ "polkadot-sdk-frame", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-mixnet 0.15.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-mixnet", ] [[package]] @@ -10241,15 +10241,15 @@ version = "35.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10278,17 +10278,17 @@ name = "pallet-nomination-pools" version = "39.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", + "sp-tracing", ] [[package]] @@ -10296,19 +10296,19 @@ name = "pallet-nomination-pools-benchmarking" version = "39.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-bags-list", "pallet-delegated-staking", "pallet-nomination-pools", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-runtime-interface", + "sp-staking", ] [[package]] @@ -10318,7 +10318,7 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "pallet-nomination-pools", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", ] [[package]] @@ -10326,14 +10326,14 @@ name = "pallet-offences" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10341,10 +10341,10 @@ name = "pallet-offences-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-babe", "pallet-balances", @@ -10355,8 +10355,8 @@ dependencies = [ "pallet-staking", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10364,17 +10364,17 @@ name = "pallet-origin-restriction" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-transaction-payment", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10394,15 +10394,15 @@ version = "0.12.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -10410,16 +10410,16 @@ name = "pallet-people" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", "verifiable", ] @@ -10428,15 +10428,15 @@ name = "pallet-preimage" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10454,17 +10454,17 @@ name = "pallet-ranked-collective" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10483,16 +10483,16 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "assert_matches", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-io", + "sp-runtime", ] [[package]] @@ -10500,15 +10500,15 @@ name = "pallet-registry" version = "4.0.0-dev" dependencies = [ "enumflags2", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "subtensor-macros", ] @@ -10517,14 +10517,14 @@ name = "pallet-remark" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10537,9 +10537,9 @@ dependencies = [ "environmental", "ethereum-standards", "ethereum-types", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hex-literal", "humantime-serde", "impl-trait-for-tuples", @@ -10561,14 +10561,14 @@ dependencies = [ "rlp 0.6.1", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-io", + "sp-runtime", "substrate-bn", "subxt-signer", ] @@ -10582,8 +10582,8 @@ dependencies = [ "cargo_metadata", "pallet-revive-uapi", "polkavm-linker 0.21.0", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", "toml 0.8.23", ] @@ -10614,15 +10614,15 @@ name = "pallet-root-offences" version = "38.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "pallet-session", "pallet-staking", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10630,12 +10630,12 @@ name = "pallet-root-testing" version = "17.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -10670,15 +10670,15 @@ version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] @@ -10686,12 +10686,12 @@ name = "pallet-scored-pool" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -10699,20 +10699,20 @@ name = "pallet-session" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-state-machine", + "sp-trie", ] [[package]] @@ -10720,15 +10720,15 @@ name = "pallet-session-benchmarking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-session", "pallet-staking", "parity-scale-codec", "rand 0.8.5", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-session", ] [[package]] @@ -10736,9 +10736,9 @@ name = "pallet-shield" version = "0.0.1" dependencies = [ "chacha20poly1305", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "ml-kem", "pallet-aura", @@ -10746,13 +10746,13 @@ dependencies = [ "parity-scale-codec", "rand 0.8.5", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-std", + "sp-weights", "stc-shield", "stp-io", "stp-shield", @@ -10764,11 +10764,11 @@ name = "pallet-skip-feeless-payment" version = "16.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -10776,16 +10776,16 @@ name = "pallet-society" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-io", + "sp-runtime", ] [[package]] @@ -10793,10 +10793,10 @@ name = "pallet-staking" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-session", @@ -10804,10 +10804,10 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10815,10 +10815,10 @@ name = "pallet-staking-async" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-staking-async-rc-client", "parity-scale-codec", @@ -10826,11 +10826,11 @@ dependencies = [ "rand_chacha 0.3.1", "scale-info", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10838,8 +10838,8 @@ name = "pallet-staking-async-ah-client" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-authorship", "pallet-session", @@ -10847,9 +10847,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-staking", ] [[package]] @@ -10857,16 +10857,16 @@ name = "pallet-staking-async-rc-client" version = "0.2.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-staking", + "staging-xcm", ] [[package]] @@ -10886,7 +10886,7 @@ version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "log", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", ] [[package]] @@ -10895,8 +10895,8 @@ version = "27.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-staking", ] [[package]] @@ -10904,15 +10904,15 @@ name = "pallet-state-trie-migration" version = "46.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -10920,16 +10920,16 @@ name = "pallet-statement" version = "23.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-io", + "sp-runtime", + "sp-statement-store", ] [[package]] @@ -10938,9 +10938,9 @@ version = "4.0.0-dev" dependencies = [ "approx", "ark-serialize 0.4.2", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hex", "hex-literal", "libsecp256k1", @@ -10974,10 +10974,10 @@ dependencies = [ "sp-core", "sp-io", "sp-keyring", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-std", + "sp-tracing", + "sp-version", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -11007,21 +11007,21 @@ version = "0.1.0" dependencies = [ "alloy-primitives 0.8.25", "approx", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", "safe-math", "scale-info", "serde", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", "substrate-fixed", "subtensor-macros", "subtensor-runtime-common", @@ -11035,9 +11035,9 @@ dependencies = [ "jsonrpsee", "pallet-subtensor-swap-runtime-api", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-runtime", "subtensor-runtime-common", "subtensor-swap-interface", ] @@ -11046,7 +11046,7 @@ dependencies = [ name = "pallet-subtensor-swap-runtime-api" version = "1.0.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "sp-api", @@ -11060,17 +11060,17 @@ dependencies = [ name = "pallet-subtensor-utility" version = "40.0.0" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "pallet-balances", "pallet-root-testing", "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", "subtensor-macros", ] @@ -11080,13 +11080,13 @@ version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -11095,16 +11095,16 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents", + "sp-runtime", + "sp-storage", + "sp-timestamp", ] [[package]] @@ -11112,17 +11112,17 @@ name = "pallet-tips" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-treasury", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -11130,14 +11130,14 @@ name = "pallet-transaction-payment" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "serde", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", ] [[package]] @@ -11148,12 +11148,12 @@ dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-rpc 35.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-weights", ] [[package]] @@ -11163,9 +11163,9 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "pallet-transaction-payment", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-runtime", + "sp-weights", ] [[package]] @@ -11174,17 +11174,17 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "array-bytes 6.2.3", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "pallet-balances", "parity-scale-codec", "scale-info", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-storage-proof 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-transaction-storage-proof", ] [[package]] @@ -11193,17 +11193,17 @@ version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", ] [[package]] @@ -11222,13 +11222,13 @@ name = "pallet-uniques" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -11236,14 +11236,14 @@ name = "pallet-utility" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] @@ -11251,14 +11251,14 @@ name = "pallet-verify-signature" version = "0.4.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "sp-weights", ] [[package]] @@ -11266,13 +11266,13 @@ name = "pallet-vesting" version = "41.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -11291,9 +11291,9 @@ version = "20.1.3" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bounded-collections 0.2.4", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "hex-literal", "pallet-balances", "pallet-revive", @@ -11301,10 +11301,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "tracing", @@ -11316,14 +11316,14 @@ name = "pallet-xcm-benchmarks" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11336,16 +11336,16 @@ dependencies = [ "bp-messages", "bp-runtime", "bp-xcm-bridge-hub", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-bridge-messages", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-std", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -11356,17 +11356,17 @@ version = "0.19.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-xcm-bridge-hub-router", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "polkadot-runtime-parachains", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-std", + "staging-xcm", "staging-xcm-builder", ] @@ -11375,10 +11375,10 @@ name = "parachains-common" version = "22.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-primitives-utility", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-asset-tx-payment", "pallet-assets", @@ -11388,14 +11388,14 @@ dependencies = [ "pallet-message-queue", "pallet-xcm", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "scale-info", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura", + "sp-core", + "sp-io", + "sp-runtime", "staging-parachain-info", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm", "staging-xcm-executor", ] @@ -11722,7 +11722,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "tracing-gum", ] @@ -11737,7 +11737,7 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "tracing-gum", ] @@ -11755,12 +11755,12 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network", "schnellru", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -11779,9 +11779,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network", "schnellru", "thiserror 1.0.69", "tokio", @@ -11811,13 +11811,13 @@ dependencies = [ "polkadot-node-primitives", "polkadot-service", "sc-cli", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service", "sc-storage-monitor", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo", + "sc-tracing", + "sp-core", "sp-keyring", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", "substrate-build-script-utils", "thiserror 1.0.69", ] @@ -11835,11 +11835,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "schnellru", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-keystore", + "sp-runtime", "thiserror 1.0.69", "tokio-util", "tracing-gum", @@ -11881,10 +11881,10 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-network", + "sp-application-crypto", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -11896,10 +11896,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "reed-solomon-novelpoly", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-trie", "thiserror 1.0.69", ] @@ -11913,7 +11913,7 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -11940,9 +11940,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-network", + "sp-consensus", "thiserror 1.0.69", "tracing-gum", ] @@ -11958,9 +11958,9 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "schnellru", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "thiserror 1.0.69", "tracing-gum", ] @@ -11982,17 +11982,17 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", "rand_core 0.6.4", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore", "schnellru", "schnorrkel 0.11.5", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus", + "sp-consensus-slots", + "sp-runtime", "thiserror 1.0.69", "tracing-gum", ] @@ -12013,11 +12013,11 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "rand_core 0.6.4", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore", + "sp-consensus", "tracing-gum", ] @@ -12034,8 +12034,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-consensus", "thiserror 1.0.69", "tracing-gum", ] @@ -12052,11 +12052,11 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-statement-table", "schnellru", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -12069,8 +12069,8 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", "wasm-timer", @@ -12091,10 +12091,10 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sp-application-crypto", + "sp-keystore", "tracing-gum", ] @@ -12107,8 +12107,8 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus-babe", "tracing-gum", ] @@ -12123,7 +12123,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "thiserror 1.0.69", "tracing-gum", ] @@ -12139,8 +12139,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-keystore", "schnellru", "thiserror 1.0.69", "tracing-gum", @@ -12156,9 +12156,9 @@ dependencies = [ "futures-timer", "polkadot-node-subsystem", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-blockchain", + "sp-inherents", "thiserror 1.0.69", "tracing-gum", ] @@ -12172,7 +12172,7 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "thiserror 1.0.69", "tracing-gum", ] @@ -12189,7 +12189,7 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "thiserror 1.0.69", "tracing-gum", ] @@ -12209,12 +12209,12 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-primitives", "polkadot-node-subsystem", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "rand 0.8.5", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-tracing", "slotmap", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "strum 0.26.3", "tempfile", "thiserror 1.0.69", @@ -12230,8 +12230,8 @@ dependencies = [ "futures", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-keystore", "tracing-gum", ] @@ -12246,11 +12246,11 @@ dependencies = [ "libc", "nix 0.29.0", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor-common 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sc-executor", + "sc-executor-common", + "sc-executor-wasmtime", "seccompiler", "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -12270,9 +12270,9 @@ dependencies = [ "polkadot-node-metrics", "polkadot-node-subsystem", "polkadot-node-subsystem-types", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "schnellru", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-babe", "tracing-gum", ] @@ -12285,12 +12285,12 @@ dependencies = [ "futures", "futures-timer", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "prioritized-metered-channel", "sc-cli", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service", + "sc-tracing", + "substrate-prometheus-endpoint", ] [[package]] @@ -12307,12 +12307,12 @@ dependencies = [ "hex", "parity-scale-codec", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "rand 0.8.5", "sc-authority-discovery", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network", + "sc-network-types", + "sp-runtime", "strum 0.26.3", "thiserror 1.0.69", "tracing-gum", @@ -12328,16 +12328,16 @@ dependencies = [ "futures", "futures-timer", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", + "sc-keystore", "schnorrkel 0.11.5", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-keystore", + "sp-maybe-compressed-blob", "thiserror 1.0.69", "zstd 0.12.4", ] @@ -12363,19 +12363,19 @@ dependencies = [ "orchestra", "polkadot-node-network-protocol", "polkadot-node-primitives", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "polkadot-statement-table", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", "smallvec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-authority-discovery", + "sp-blockchain", + "sp-consensus-babe", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -12398,14 +12398,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-types", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "prioritized-metered-channel", "rand 0.8.5", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-keystore", "schnellru", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", + "sp-core", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -12428,12 +12428,12 @@ dependencies = [ "cumulus-client-parachain-inherent", "cumulus-client-service", "cumulus-primitives-aura", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", "cumulus-relay-chain-interface", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-benchmarking-cli", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "frame-system-rpc-runtime-api", "frame-try-runtime", "futures", @@ -12446,52 +12446,52 @@ dependencies = [ "parachains-common", "parity-scale-codec", "polkadot-cli", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-client-db", + "sc-consensus", "sc-consensus-manual-seal", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor", + "sc-keystore", + "sc-network", "sc-network-statement", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync", "sc-offchain", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc", "sc-runtime-utilities", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service", "sc-statement-store", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-transaction-pool-api", "scale-info", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-block-builder", + "sp-consensus", + "sp-consensus-aura", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-statement-store", + "sp-storage", + "sp-timestamp", + "sp-transaction-pool", + "sp-version", + "sp-weights", "staging-chain-spec-builder", "substrate-frame-rpc-system", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-prometheus-endpoint", "substrate-state-trie-migration-rpc", "subxt-metadata", ] @@ -12509,9 +12509,9 @@ dependencies = [ "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem-types", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-client-api", + "sp-core", "tikv-jemalloc-ctl", "tracing-gum", ] @@ -12614,27 +12614,27 @@ dependencies = [ "jsonrpsee", "mmr-rpc", "pallet-transaction-payment-rpc", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", "sc-consensus-babe-rpc", "sc-consensus-beefy", "sc-consensus-beefy-rpc", "sc-consensus-grandpa", "sc-consensus-grandpa-rpc", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc", "sc-sync-state-rpc", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-transaction-pool-api", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore", + "sp-runtime", "substrate-frame-rpc-system", "substrate-state-trie-migration-rpc", ] @@ -12645,10 +12645,10 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "libsecp256k1", "log", @@ -12668,22 +12668,22 @@ dependencies = [ "pallet-treasury", "pallet-vesting", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "polkadot-runtime-parachains", "rustc-hex", "scale-info", "serde", "slot-range-helper", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", "sp-keyring", "sp-npos-elections", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-session", + "sp-staking", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "static_assertions", @@ -12695,10 +12695,10 @@ version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bs58", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-tracing", ] [[package]] @@ -12708,10 +12708,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "bitflags 1.3.2", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "log", "pallet-authority-discovery", @@ -12725,26 +12725,26 @@ dependencies = [ "pallet-staking", "pallet-timestamp", "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-metrics", "rand 0.8.5", "rand_chacha 0.3.1", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "staging-xcm", "staging-xcm-executor", "static_assertions", ] @@ -12766,16 +12766,16 @@ dependencies = [ "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", "cumulus-ping", - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "cumulus-primitives-utility", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-benchmarking-cli", "frame-benchmarking-pallet-pov", "frame-election-provider-support", "frame-executive", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-system-benchmarking", "frame-try-runtime", "pallet-alliance", @@ -12889,19 +12889,19 @@ dependencies = [ "polkadot-cli", "polkadot-node-metrics", "polkadot-omni-node-lib", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", "polkadot-sdk-frame", "polkadot-service", - "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-db", + "sc-service", + "sp-runtime", + "sp-staking", "staging-node-inspect", "staging-parachain-info", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "xcm-runtime-apis", @@ -12913,10 +12913,10 @@ version = "0.10.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-executive", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -12924,22 +12924,22 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-block-builder", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", "sp-keyring", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-storage", + "sp-transaction-pool", + "sp-version", ] [[package]] @@ -12948,9 +12948,9 @@ version = "25.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "async-trait", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-benchmarking-cli", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-system", "frame-system-rpc-runtime-api", "futures", "is_executable", @@ -12968,7 +12968,7 @@ dependencies = [ "polkadot-availability-distribution", "polkadot-availability-recovery", "polkadot-collator-protocol", - "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-core-primitives", "polkadot-dispute-distribution", "polkadot-gossip-support", "polkadot-network-bridge", @@ -12994,56 +12994,56 @@ dependencies = [ "polkadot-node-subsystem-types", "polkadot-node-subsystem-util", "polkadot-overseer", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "polkadot-rpc", "polkadot-runtime-parachains", "polkadot-statement-distribution", "rococo-runtime", "sc-authority-discovery", "sc-basic-authorship", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", "sc-consensus-beefy", "sc-consensus-grandpa", - "sc-consensus-slots 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-slots", + "sc-executor", + "sc-keystore", + "sc-network", + "sc-network-sync", "sc-offchain", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-service", "sc-sync-state-rpc", - "sc-sysinfo 43.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-sysinfo", + "sc-telemetry", + "sc-transaction-pool", + "sc-transaction-pool-api", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", "sp-keyring", "sp-mmr-primitives", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-timestamp", + "sp-transaction-pool", + "sp-version", + "sp-weights", + "staging-xcm", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing-gum", "westend-runtime", @@ -13064,8 +13064,8 @@ dependencies = [ "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", + "sp-keystore", "thiserror 1.0.69", "tracing-gum", ] @@ -13076,7 +13076,7 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "parity-scale-codec", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "tracing-gum", ] @@ -13352,8 +13352,8 @@ dependencies = [ "environmental", "evm", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "hex", "hex-literal", "impl-trait-for-tuples", @@ -14196,13 +14196,13 @@ name = "rococo-runtime" version = "24.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "binary-merkle-tree", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-executive", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -14253,8 +14253,8 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", "rococo-runtime-constants", @@ -14262,27 +14262,27 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", "sp-keyring", "sp-mmr-primitives", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-storage", + "sp-transaction-pool", + "sp-version", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -14294,14 +14294,14 @@ name = "rococo-runtime-constants" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-weights", + "staging-xcm", "staging-xcm-builder", ] @@ -14644,8 +14644,8 @@ name = "safe-math" version = "0.1.0" dependencies = [ "num-traits", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-std", "substrate-fixed", ] @@ -14722,18 +14722,18 @@ dependencies = [ "prost 0.12.6", "prost-build", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-network-types", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-authority-discovery", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", ] @@ -14746,7 +14746,7 @@ dependencies = [ "futures", "log", "parity-scale-codec", - "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-block-builder", "sc-proposer-metrics", "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -14883,25 +14883,25 @@ dependencies = [ "rand 0.8.5", "regex", "rpassword", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-db 0.47.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-mixnet 0.21.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-tracing 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-client-db", + "sc-keystore", + "sc-mixnet", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-utils", "serde", "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain", + "sp-core", "sp-keyring", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-panic-handler 13.0.2 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-keystore", + "sp-panic-handler", + "sp-runtime", + "sp-version", "thiserror 1.0.69", "tokio", ] @@ -15197,18 +15197,18 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "futures", "jsonrpsee", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-rpc-api", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-keystore", + "sp-runtime", "thiserror 1.0.69", ] @@ -15224,23 +15224,23 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus", + "sc-network", "sc-network-gossip", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync", + "sc-network-types", + "sc-utils", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "wasm-timer", @@ -15257,12 +15257,12 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "sc-consensus-beefy", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc", "serde", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-application-crypto", "sp-consensus-beefy", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] @@ -15302,25 +15302,25 @@ dependencies = [ "async-trait", "dyn-clone", "finality-grandpa", - "fork-tree 13.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "fork-tree", "futures", "futures-timer", "log", "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", - "sc-block-builder 0.45.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", "sc-network-gossip", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network-sync", + "sc-network-types", + "sc-telemetry", + "sc-transaction-pool-api", + "sc-utils", "serde_json", "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -15346,13 +15346,13 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", "sc-consensus-grandpa", - "sc-rpc 46.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-rpc", "serde", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] @@ -15368,26 +15368,26 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-aura 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool 40.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-consensus", + "sc-consensus-aura", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-transaction-pool", + "sc-transaction-pool-api", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-slots 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-timestamp 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "sp-timestamp", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] @@ -15808,13 +15808,13 @@ dependencies = [ "futures", "futures-timer", "log", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-common 0.49.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-sync 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", "schnellru", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "substrate-prometheus-endpoint", "tracing", ] @@ -16049,17 +16049,17 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "rustls", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network-types 0.17.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-keystore 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", + "sc-utils", + "sp-api", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-offchain", + "sp-runtime", "threadpool", "tracing", ] @@ -16464,14 +16464,14 @@ dependencies = [ "log", "parity-db", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-keystore 36.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-keystore", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-runtime", + "sp-statement-store", + "substrate-prometheus-endpoint", "tokio", ] @@ -16483,7 +16483,7 @@ dependencies = [ "clap", "fs4", "log", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", "thiserror 1.0.69", "tokio", ] @@ -16495,15 +16495,15 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-babe 0.51.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-epochs", "sc-consensus-grandpa", "serde", "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-blockchain", + "sp-runtime", "thiserror 1.0.69", ] @@ -17390,7 +17390,7 @@ name = "share-pool" version = "0.1.0" dependencies = [ "safe-math", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-std", "substrate-fixed", ] @@ -17499,7 +17499,7 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", ] [[package]] @@ -17760,19 +17760,19 @@ version = "0.14.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "bp-relayers", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "hex-literal", "log", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] @@ -18155,8 +18155,8 @@ dependencies = [ "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "sp-mmr-primitives", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime", + "sp-weights", "strum 0.26.3", ] @@ -18329,7 +18329,7 @@ dependencies = [ "ark-ed-on-bls12-381-bandersnatch 0.4.0", "ark-ed-on-bls12-381-bandersnatch-ext", "ark-scale 0.0.12", - "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-runtime-interface", ] [[package]] @@ -18557,8 +18557,8 @@ name = "sp-keyring" version = "42.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", "strum 0.26.3", ] @@ -18654,10 +18654,10 @@ dependencies = [ "polkadot-ckb-merkle-mountain-range", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-core", + "sp-debug-derive", + "sp-runtime", "thiserror 1.0.69", ] @@ -19449,10 +19449,10 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "clap", "docify", - "sc-chain-spec 44.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-chain-spec", "serde", "serde_json", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-tracing", ] [[package]] @@ -19463,13 +19463,13 @@ dependencies = [ "clap", "parity-scale-codec", "sc-cli", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-statement-store 21.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-service", + "sp-blockchain", + "sp-core", + "sp-io", + "sp-runtime", + "sp-statement-store", "thiserror 1.0.69", ] @@ -19478,9 +19478,9 @@ name = "staging-parachain-info" version = "0.21.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "cumulus-primitives-core", + "frame-support", + "frame-system", "parity-scale-codec", "scale-info", "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", @@ -19534,20 +19534,20 @@ version = "21.1.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "impl-trait-for-tuples", "pallet-asset-conversion", "pallet-transaction-payment", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", + "staging-xcm", "staging-xcm-executor", "tracing", ] @@ -19558,17 +19558,17 @@ version = "20.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "environmental", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", + "frame-support", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-weights", + "staging-xcm", "tracing", ] @@ -19609,7 +19609,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" dependencies = [ "anyhow", "async-trait", @@ -19620,11 +19620,11 @@ dependencies = [ "ml-kem", "parity-scale-codec", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-service 0.52.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-service", + "sp-consensus", + "sp-inherents", + "sp-runtime", "stp-shield", ] @@ -19633,22 +19633,22 @@ name = "stp-io" version = "0.1.0" dependencies = [ "parity-scale-codec", - "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime-interface 30.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-externalities", + "sp-runtime-interface", "stp-shield", ] [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-externalities 0.30.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-externalities", + "sp-inherents", + "sp-runtime", ] [[package]] @@ -19817,13 +19817,13 @@ source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8 dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-rpc-api 0.50.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-client-api", + "sc-rpc-api", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-state-machine 0.46.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-trie 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-state-machine", + "sp-trie", "trie-db", ] @@ -19853,13 +19853,13 @@ dependencies = [ "parity-scale-codec", "parity-wasm", "polkavm-linker 0.24.0", - "sc-executor 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-executor", "shlex", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-maybe-compressed-blob", + "sp-tracing", + "sp-version", "strum 0.26.3", "tempfile", "toml 0.8.23", @@ -19883,8 +19883,8 @@ dependencies = [ name = "subtensor-chain-extensions" version = "0.1.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "num_enum", "pallet-balances", @@ -19900,10 +19900,10 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -19915,9 +19915,9 @@ version = "0.0.2" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-blockchain 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-blockchain", + "sp-runtime", "subtensor-custom-rpc-runtime-api", "subtensor-runtime-common", ] @@ -19928,8 +19928,8 @@ version = "0.0.2" dependencies = [ "pallet-subtensor", "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-runtime", "subtensor-runtime-common", ] @@ -19959,8 +19959,8 @@ version = "0.1.0" dependencies = [ "ed25519-dalek", "fp-evm", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-admin-utils", "pallet-balances", @@ -19977,10 +19977,10 @@ dependencies = [ "pallet-subtensor-swap", "precompile-utils", "scale-info", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -19996,8 +19996,8 @@ dependencies = [ "polkadot-runtime-common", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", "substrate-fixed", "subtensor-macros", ] @@ -20006,7 +20006,7 @@ dependencies = [ name = "subtensor-swap-interface" version = "0.1.0" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", "substrate-fixed", @@ -20030,8 +20030,8 @@ name = "subtensor-transaction-fee" version = "0.1.0" dependencies = [ "frame-executive", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "log", "pallet-balances", "pallet-crowdloan", @@ -20046,14 +20046,14 @@ dependencies = [ "parity-scale-codec", "scale-info", "smallvec", - "sp-consensus-aura 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-tracing 17.1.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-aura", + "sp-consensus-grandpa", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", + "sp-weights", "substrate-fixed", "subtensor-runtime-common", "subtensor-swap-interface", @@ -20873,7 +20873,7 @@ version = "20.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ "coarsetime", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-primitives", "tracing", "tracing-gum-proc-macro", ] @@ -21834,14 +21834,14 @@ name = "westend-runtime" version = "24.0.1" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "binary-merkle-tree", "bitvec", - "frame-benchmarking 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-metadata-hash-extension", - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", @@ -21898,37 +21898,37 @@ dependencies = [ "pallet-xcm", "pallet-xcm-benchmarks", "parity-scale-codec", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", "scale-info", "serde", "serde_derive", "serde_json", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-application-crypto 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-arithmetic 27.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-authority-discovery 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-block-builder 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-consensus-babe 0.43.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", "sp-consensus-beefy", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-genesis-builder 0.18.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-inherents 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-consensus-grandpa", + "sp-core", + "sp-genesis-builder", + "sp-inherents", + "sp-io", "sp-keyring", "sp-mmr-primitives", "sp-npos-elections", - "sp-offchain 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-session 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-staking 39.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-storage 22.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-transaction-pool 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-version 40.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-storage", + "sp-transaction-pool", + "sp-version", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", @@ -21941,14 +21941,14 @@ name = "westend-runtime-constants" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "polkadot-primitives", "polkadot-runtime-common", "smallvec", - "sp-core 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-core", + "sp-runtime", + "sp-weights", + "staging-xcm", "staging-xcm-builder", ] @@ -22516,12 +22516,12 @@ name = "xcm-runtime-apis" version = "0.8.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-weights 32.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-api", + "sp-weights", + "staging-xcm", "staging-xcm-executor", ] @@ -22530,18 +22530,18 @@ name = "xcm-simulator" version = "21.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "frame-system 41.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "frame-support", + "frame-system", "parity-scale-codec", "paste", - "polkadot-core-primitives 18.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "polkadot-primitives 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", "polkadot-runtime-parachains", "scale-info", - "sp-io 41.0.1 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sp-runtime 42.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "staging-xcm 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sp-io", + "sp-runtime", + "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", ] diff --git a/Cargo.toml b/Cargo.toml index c2e67e8e7f..b31a7ca95e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,8 +74,8 @@ subtensor-swap-interface = { default-features = false, path = "pallets/swap-inte subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } stp-io = { path = "primitives/io", default-features = false } -stp-shield = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -stc-shield = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -127,122 +127,122 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-root-testing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-bags-list = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-fast-unstake = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-nomination-pools = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-offences = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-epochs = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-authority-discovery = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-staking = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-npos-elections = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-crypto-hashing = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-application-crypto = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-debug-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -polkadot-sdk = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } # Frontier fp-evm = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } @@ -277,11 +277,11 @@ pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", re #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } getrandom = { version = "0.2.15", default-features = false, features = [ "custom", ] } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From a51e27d8917363d7d2933320ddc83cb4ad8faf71 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 11:21:42 -0300 Subject: [PATCH 061/204] added migration to clear old storage + tests --- pallets/shield/src/lib.rs | 21 ++++- .../migrations/migrate_clear_v1_storage.rs | 49 ++++++++++++ pallets/shield/src/migrations/mod.rs | 4 + pallets/shield/src/tests.rs | 80 ++++++++++++++++++- 4 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 pallets/shield/src/migrations/migrate_clear_v1_storage.rs create mode 100644 pallets/shield/src/migrations/mod.rs diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 4d062ed9e8..17b5149a54 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -24,8 +24,11 @@ pub mod mock; mod tests; mod extension; +mod migrations; pub use extension::CheckShieldedTxValidity; +type MigrationKeyMaxLen = ConstU32<128>; + type ExtrinsicOf = ::Extrinsic; type CheckedOf = >::Checked; type ApplyableCallOf = ::Call; @@ -69,6 +72,11 @@ pub mod pallet { pub type AuthorKeys = StorageMap<_, Twox64Concat, T::AuthorityId, ShieldPublicKey, OptionQuery>; + /// Stores whether some migration has been run. + #[pallet::storage] + pub type HasMigrationRun = + StorageMap<_, Identity, BoundedVec, bool, ValueQuery>; + #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { @@ -84,7 +92,18 @@ pub mod pallet { Unreachable, } - // ----------------- Calls ----------------- + #[pallet::hooks] + impl Hooks> for Pallet { + fn on_runtime_upgrade() -> frame_support::weights::Weight { + let mut weight = frame_support::weights::Weight::from_parts(0, 0); + + weight = weight.saturating_add( + migrations::migrate_clear_v1_storage::migrate_clear_v1_storage::(), + ); + + weight + } + } #[pallet::call] impl Pallet { diff --git a/pallets/shield/src/migrations/migrate_clear_v1_storage.rs b/pallets/shield/src/migrations/migrate_clear_v1_storage.rs new file mode 100644 index 0000000000..e3c55d8713 --- /dev/null +++ b/pallets/shield/src/migrations/migrate_clear_v1_storage.rs @@ -0,0 +1,49 @@ +use super::*; +use frame_support::storage::unhashed; +use scale_info::prelude::string::String; +use sp_io::hashing::twox_128; + +/// Clears removed v1 storage items (`Submissions`, `KeyHashByBlock`) and resets `CurrentKey`. +pub fn migrate_clear_v1_storage() -> Weight { + let migration_name = b"migrate_clear_v1_storage".to_vec(); + let bounded_name = BoundedVec::truncate_from(migration_name.clone()); + let mut weight = T::DbWeight::get().reads(1); + + if HasMigrationRun::::get(&bounded_name) { + log::info!( + "Migration '{:?}' has already run. Skipping.", + String::from_utf8_lossy(&migration_name) + ); + return weight; + } + + log::info!( + "Running migration '{}'", + String::from_utf8_lossy(&migration_name) + ); + + let pallet_prefix = twox_128("MevShield".as_bytes()); + + // Clear removed storage maps. + for name in ["Submissions", "KeyHashByBlock"] { + let prefix = [pallet_prefix.as_slice(), &twox_128(name.as_bytes())].concat(); + let result = unhashed::clear_prefix(&prefix, Some(u32::MAX), None); + weight = weight.saturating_add(T::DbWeight::get().writes(result.backend as u64)); + + log::info!("Removed {} entries from {name:?}.", result.backend,); + } + + // Reset current key. + CurrentKey::::kill(); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + HasMigrationRun::::insert(&bounded_name, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + log::info!( + "Migration '{}' completed successfully.", + String::from_utf8_lossy(&migration_name) + ); + + weight +} diff --git a/pallets/shield/src/migrations/mod.rs b/pallets/shield/src/migrations/mod.rs new file mode 100644 index 0000000000..1069de5297 --- /dev/null +++ b/pallets/shield/src/migrations/mod.rs @@ -0,0 +1,4 @@ +use crate::*; +use frame_support::{traits::Get, weights::Weight}; + +pub mod migrate_clear_v1_storage; diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 3f397dcb98..78b4219a72 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,5 +1,5 @@ use crate::mock::*; -use crate::{AuthorKeys, CurrentKey, Error, NextKey}; +use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, MigrationKeyMaxLen, NextKey}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; @@ -333,3 +333,81 @@ fn try_unshield_tx_decrypts_extrinsic() { assert_eq!(decoded.encode(), inner_uxt.encode()); }); } + +// --------------------------------------------------------------------------- +// Migration tests +// --------------------------------------------------------------------------- + +mod migration_tests { + use super::*; + use crate::migrations::migrate_clear_v1_storage::migrate_clear_v1_storage; + use sp_io::hashing::twox_128; + + #[test] + fn migrate_clear_v1_storage_works() { + new_test_ext().execute_with(|| { + // Seed legacy storage that should be cleared. + seed_legacy_map("Submissions", 5); + seed_legacy_map("KeyHashByBlock", 3); + CurrentKey::::put(valid_pk()); + + // Current storage that must survive. + NextKey::::put(valid_pk()); + AuthorKeys::::insert(1u64, valid_pk_b()); + + // Sanity: legacy values exist. + assert_eq!(count_keys("Submissions"), 5); + assert_eq!(count_keys("KeyHashByBlock"), 3); + assert!(CurrentKey::::get().is_some()); + + migrate_clear_v1_storage::(); + + // Legacy storage cleared. + assert_eq!(count_keys("Submissions"), 0); + assert_eq!(count_keys("KeyHashByBlock"), 0); + assert!(CurrentKey::::get().is_none()); + + // Current storage untouched. + assert_eq!(NextKey::::get(), Some(valid_pk())); + assert_eq!(AuthorKeys::::get(1u64), Some(valid_pk_b())); + + // Migration was recorded. + let mig_key = BoundedVec::truncate_from(b"migrate_clear_v1_storage".to_vec()); + assert!(HasMigrationRun::::get(&mig_key)); + + // Idempotent: re-run doesn't touch new data. + CurrentKey::::put(valid_pk_b()); + migrate_clear_v1_storage::(); + assert_eq!(CurrentKey::::get(), Some(valid_pk_b())); + }); + } + + fn seed_legacy_map(storage_name: &str, count: u32) { + let mut prefix = Vec::new(); + prefix.extend_from_slice(&twox_128(b"MevShield")); + prefix.extend_from_slice(&twox_128(storage_name.as_bytes())); + + for i in 0..count { + let mut key = prefix.clone(); + key.extend_from_slice(&i.to_le_bytes()); + sp_io::storage::set(&key, &[1u8; 32]); + } + } + + fn count_keys(storage_name: &str) -> u32 { + let mut prefix = Vec::new(); + prefix.extend_from_slice(&twox_128(b"MevShield")); + prefix.extend_from_slice(&twox_128(storage_name.as_bytes())); + + let mut count = 0u32; + let mut next_key = sp_io::storage::next_key(&prefix); + while let Some(key) = next_key { + if !key.starts_with(&prefix) { + break; + } + count += 1; + next_key = sp_io::storage::next_key(&key); + } + count + } +} From 9b6df7bedab3ea421f220d7ebb4619a4c2e7e1ef Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 11:35:37 -0300 Subject: [PATCH 062/204] commit Cargo.lock --- primitives/io/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index d40e74edd9..f174665199 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -62,11 +62,11 @@ pub trait Crypto { msg: PassFatPointerAndRead<&[u8]>, aad: PassFatPointerAndRead<&[u8]>, ) -> AllocateAndReturnByCodec, Error>> { - Ok(self + self .extension::() .expect("No `shield keystore` associated for the current context!") .aead_decrypt(*key, *nonce, msg, aad) - .map_err(|e| Error::Crypto(e.to_string()))?) + .map_err(|e| Error::Crypto(e.to_string())) } } From f5f7b07419e8e02f2260e177579e401451aba0d0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 11:48:14 -0300 Subject: [PATCH 063/204] cargo check --- pallets/shield/src/extension.rs | 2 +- pallets/shield/src/lib.rs | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index a72af062aa..2b28f9cc18 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -64,7 +64,7 @@ where }; // Reject malformed ciphertext regardless of source. - let Some(ShieldedTransaction { key_hash, .. }) = ShieldedTransaction::parse(&ciphertext) + let Some(ShieldedTransaction { key_hash, .. }) = ShieldedTransaction::parse(ciphertext) else { return Err(InvalidTransaction::BadProof.into()); }; diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 17b5149a54..2a31718971 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -127,7 +127,7 @@ pub mod pallet { let author = T::FindAuthors::find_current_author() // This should never happen as we are in an inherent. - .ok_or_else(|| Error::::Unreachable)?; + .ok_or(Error::::Unreachable)?; // Shift the key chain: Current ← NextKey. // NextKey was set in the previous block to be the current author's key, @@ -148,11 +148,10 @@ pub mod pallet { // Expose the next block author's key so users can encrypt for them. NextKey::::kill(); - if let Some(next_author) = T::FindAuthors::find_next_author() { - if let Some(key) = AuthorKeys::::get(&next_author) { + if let Some(next_author) = T::FindAuthors::find_next_author() + && let Some(key) = AuthorKeys::::get(&next_author) { NextKey::::put(key); } - } Ok(()) } @@ -249,7 +248,7 @@ impl Pallet { return None; }; - ShieldedTransaction::parse(&ciphertext) + ShieldedTransaction::parse(ciphertext) } pub fn try_unshield_tx( From cad461645a230c1be3e7e06cef1474fefafa48e5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 12:17:19 -0300 Subject: [PATCH 064/204] clippy fix --- Cargo.lock | 1 + node/Cargo.toml | 1 + node/src/benchmarking.rs | 22 +++++++++++----------- pallets/shield/src/lib.rs | 7 ++++--- pallets/shield/src/tests.rs | 2 +- primitives/io/src/lib.rs | 3 +-- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 807a4500ec..8ec1afbf90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8417,6 +8417,7 @@ dependencies = [ "num-traits", "pallet-commitments", "pallet-drand", + "pallet-shield", "pallet-subtensor", "pallet-subtensor-swap-rpc", "pallet-subtensor-swap-runtime-api", diff --git a/node/Cargo.toml b/node/Cargo.toml index 6087b9b6ce..4a6dd94804 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -118,6 +118,7 @@ fp-consensus.workspace = true num-traits = { workspace = true, features = ["std"] } # Mev Shield +pallet-shield.workspace = true stp-shield.workspace = true stc-shield.workspace = true diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 7ca33a82e9..2f7d2fb47d 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -140,6 +140,7 @@ pub fn create_benchmark_extrinsic( ( transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new(0), sudo_wrapper::SudoTransactionExtension::::new(), + pallet_shield::CheckShieldedTxValidity::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), pallet_drand::drand_priority::DrandPriority::::new(), ), @@ -150,17 +151,16 @@ pub fn create_benchmark_extrinsic( call.clone(), extra.clone(), ( - (), - runtime::VERSION.spec_version, - runtime::VERSION.transaction_version, - genesis_hash, - best_hash, - (), - (), - (), - (), - (), - (), + ( + (), + runtime::VERSION.spec_version, + runtime::VERSION.transaction_version, + genesis_hash, + best_hash, + (), + (), + ), + ((), (), (), (), ()), None, ), ); diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 2a31718971..cc57706c12 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -149,9 +149,10 @@ pub mod pallet { // Expose the next block author's key so users can encrypt for them. NextKey::::kill(); if let Some(next_author) = T::FindAuthors::find_next_author() - && let Some(key) = AuthorKeys::::get(&next_author) { - NextKey::::put(key); - } + && let Some(key) = AuthorKeys::::get(&next_author) + { + NextKey::::put(key); + } Ok(()) } diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 78b4219a72..87e272c00e 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,5 +1,5 @@ use crate::mock::*; -use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, MigrationKeyMaxLen, NextKey}; +use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index f174665199..cbf47c2480 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -62,8 +62,7 @@ pub trait Crypto { msg: PassFatPointerAndRead<&[u8]>, aad: PassFatPointerAndRead<&[u8]>, ) -> AllocateAndReturnByCodec, Error>> { - self - .extension::() + self.extension::() .expect("No `shield keystore` associated for the current context!") .aead_decrypt(*key, *nonce, msg, aad) .map_err(|e| Error::Crypto(e.to_string())) From f0aa89480521afe76f856a6ed8a328e98a66fb01 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 12:21:23 -0300 Subject: [PATCH 065/204] update fix_rust script to match CI --- scripts/fix_rust.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/fix_rust.sh b/scripts/fix_rust.sh index 08e983a432..811eb86bca 100755 --- a/scripts/fix_rust.sh +++ b/scripts/fix_rust.sh @@ -12,15 +12,15 @@ commit_if_changes() { } # Step 1: Run cargo check and commit changes to Cargo.lock if any -cargo check --workspace +SKIP_WASM_BUILD=1 cargo check --workspace commit_if_changes "commit Cargo.lock" # Step 2: Run cargo clippy with fixes and commit changes if any. -cargo clippy --fix --workspace --all-features --all-targets +SKIP_WASM_BUILD=1 cargo clippy --fix --workspace --all-features --all-targets commit_if_changes "cargo clippy" # Step 3: Run cargo fix and commit changes if any. -cargo fix --workspace --all-features --all-targets +SKIP_WASM_BUILD=1 cargo fix --workspace --all-features --all-targets commit_if_changes "cargo fix" # Step 4: Run cargo fmt and commit changes if any. From 45e5db5ae8e19784fda50bad31dd42032a24a844 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 12:22:42 -0300 Subject: [PATCH 066/204] fix clippy with expect used for the stp-io methods --- primitives/io/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs index cbf47c2480..5cbdc8e7cc 100644 --- a/primitives/io/src/lib.rs +++ b/primitives/io/src/lib.rs @@ -40,6 +40,7 @@ impl core::fmt::Display for Error { #[runtime_interface] pub trait Crypto { /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. + #[allow(clippy::expect_used)] fn mlkem768_decapsulate( &mut self, ciphertext: PassFatPointerAndRead<&[u8]>, @@ -55,6 +56,7 @@ pub trait Crypto { } /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. + #[allow(clippy::expect_used)] fn aead_decrypt( &mut self, key: PassPointerAndRead<&[u8; 32], 32>, From 72fce948b313c30c3eb117ae14ca2272b7414567 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 12:24:59 -0300 Subject: [PATCH 067/204] zepter fix --- node/Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/node/Cargo.toml b/node/Cargo.toml index 4a6dd94804..e7cf0df1e2 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -165,6 +165,7 @@ runtime-benchmarks = [ "pallet-transaction-payment/runtime-benchmarks", "polkadot-sdk/runtime-benchmarks", "pallet-subtensor/runtime-benchmarks", + "pallet-shield/runtime-benchmarks", ] pow-faucet = [] @@ -180,6 +181,7 @@ try-runtime = [ "pallet-drand/try-runtime", "polkadot-sdk/try-runtime", "pallet-subtensor/try-runtime", + "pallet-shield/try-runtime", ] metadata-hash = ["node-subtensor-runtime/metadata-hash"] From 7e4f2a5872733f72f3c364961b42682ee705ae8a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 16 Feb 2026 16:57:57 -0300 Subject: [PATCH 068/204] fix benchmark compilation issue with rand stuff --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 3 +-- pallets/shield/Cargo.toml | 10 ++++++---- pallets/shield/src/benchmarking.rs | 8 +++++++- pallets/subtensor/Cargo.toml | 3 ++- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8ec1afbf90..ec9b637572 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2373,7 +2373,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "once_cell", "tiny-keccak", ] @@ -5703,9 +5703,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", @@ -7081,7 +7081,7 @@ dependencies = [ "either", "futures", "futures-timer", - "getrandom 0.2.16", + "getrandom 0.2.17", "libp2p-allow-block-list", "libp2p-connection-limits", "libp2p-core", @@ -8504,7 +8504,7 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "getrandom 0.2.16", + "getrandom 0.2.17", "hex", "log", "pallet-admin-utils", @@ -13878,7 +13878,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", ] [[package]] @@ -13990,7 +13990,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", "thiserror 1.0.69", ] @@ -14135,7 +14135,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.16", + "getrandom 0.2.17", "libc", "untrusted 0.9.0", "windows-sys 0.52.0", diff --git a/Cargo.toml b/Cargo.toml index b31a7ca95e..bea2e5c6da 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -91,7 +91,7 @@ libsecp256k1 = { version = "0.7.2", default-features = false } log = { version = "0.4.21", default-features = false } memmap2 = "0.9.8" ndarray = { version = "0.16.1", default-features = false } -rand = "0.8.5" +rand = { version = "0.8.5", default-features = false } scale-info = { version = "2.11.2", default-features = false } serde = { version = "1.0.214", default-features = false } serde-tuple-vec-map = { version = "1.0.1", default-features = false } @@ -298,7 +298,6 @@ tle = { git = "https://github.com/ideal-lab5/timelock", rev = "5416406cfd32799e3 pallet-shield = { path = "pallets/shield", default-features = false } ml-kem = { version = "0.2.2", default-features = false } chacha20poly1305 = { version = "0.10", default-features = false } -rand_core = "0.9.3" blake2 = "0.10.6" # Primitives diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index ed7c440e24..c893b21675 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -40,14 +40,14 @@ stp-shield.workspace = true pallet-aura = { workspace = true, optional = true } sp-consensus-aura = { workspace = true, optional = true } ml-kem = { workspace = true, optional = true } -chacha20poly1305 = { workspace = true, optional = true, features = ["std"] } -rand = { workspace = true, optional = true } +chacha20poly1305 = { workspace = true, optional = true } +rand = { workspace = true, optional = true, features = ["getrandom"] } [dev-dependencies] stc-shield.workspace = true ml-kem.workspace = true -chacha20poly1305 = { workspace = true, features = ["std"] } -rand.workspace = true +chacha20poly1305.workspace = true +rand = { workspace = true, features = ["getrandom"] } pallet-subtensor-utility.workspace = true [features] @@ -72,6 +72,7 @@ std = [ "sp-consensus-aura?/std", "chacha20poly1305?/std", "ml-kem?/std", + "rand?/std", "pallet-subtensor-utility/std", "stc-shield/std", ] @@ -87,6 +88,7 @@ runtime-benchmarks = [ "pallet-aura", "sp-consensus-aura", "rand", + "rand/getrandom", ] try-runtime = [ diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 421aa8adf6..02bbe16ec2 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -4,7 +4,7 @@ use frame_benchmarking::v2::*; use frame_support::{BoundedVec, pallet_prelude::ConstU32}; use frame_system::RawOrigin; use sp_core::sr25519; -use sp_std::vec; +use sp_std::{vec, vec::Vec}; use chacha20poly1305::{ KeyInit, XChaCha20Poly1305, XNonce, @@ -14,6 +14,7 @@ use ml_kem::{ Ciphertext, KemCore, MlKem768, MlKem768Params, kem::{Decapsulate, DecapsulationKey, Encapsulate}, }; +// use rand::{SeedableRng, rngs::StdRng}; use rand::rngs::OsRng; use stp_shield::ShieldedTransaction; @@ -48,9 +49,14 @@ fn deposit_slot_digest(slot: u64) { /// /// Returns `(wire_ciphertext, dec_key)` so the benchmark can measure decryption. fn build_max_encrypted_payload() -> (Vec, DecapsulationKey) { + // let mut rng = StdRng::from_seed([42u8; 32]); + // let (dec_key, enc_key) = MlKem768::generate(&mut rng); + // let (kem_ct, shared_secret) = enc_key.encapsulate(&mut rng).unwrap(); let (dec_key, enc_key) = MlKem768::generate(&mut OsRng); let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); + + // Wire overhead: key_hash(16) + kem_ct_len(2) + kem_ct(1088) + nonce(24) = 1130. // Max aead_ct = 8192 − 1130 = 7062. // Poly1305 tag = 16 bytes ⇒ max plaintext = 7046. diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index a6fadec1f4..b7d6f53030 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -141,7 +141,8 @@ std = [ "scale-info/std", "serde/std", "serde_json/std", - "sha2/std" + "sha2/std", + "rand/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", From b16402c775abd0b63b6ad363afe7dede160d6d7e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 17 Feb 2026 11:17:14 -0300 Subject: [PATCH 069/204] use rand_chacha (portable + nostd) instead of OsRng in benchmarks --- Cargo.lock | 203 +++++++++++++++++++++++++++-- Cargo.toml | 7 +- pallets/shield/Cargo.toml | 9 +- pallets/shield/src/benchmarking.rs | 13 +- runtime/Cargo.toml | 2 - 5 files changed, 202 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ec9b637572..a9d03c5b5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2579,7 +2579,7 @@ dependencies = [ "itertools 0.10.5", "log", "smallvec", - "wasmparser", + "wasmparser 0.102.0", "wasmtime-types", ] @@ -5728,6 +5728,19 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", + "wasip3", +] + [[package]] name = "getrandom_or_panic" version = "0.0.3" @@ -6424,6 +6437,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -7049,6 +7068,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" version = "0.2.176" @@ -8504,7 +8529,6 @@ dependencies = [ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", - "getrandom 0.2.17", "hex", "log", "pallet-admin-utils", @@ -9516,7 +9540,7 @@ dependencies = [ "pallet-balances", "pallet-drand", "parity-scale-codec", - "rand_chacha 0.3.1", + "rand_chacha 0.10.0", "scale-info", "sha2 0.10.9", "sp-core", @@ -10745,7 +10769,7 @@ dependencies = [ "pallet-aura", "pallet-subtensor-utility", "parity-scale-codec", - "rand 0.8.5", + "rand_chacha 0.10.0", "scale-info", "sp-consensus-aura", "sp-core", @@ -10963,8 +10987,8 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "polkadot-runtime-common", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.10.0", + "rand_chacha 0.10.0", "safe-math", "scale-info", "serde", @@ -13852,6 +13876,16 @@ dependencies = [ "serde", ] +[[package]] +name = "rand" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" +dependencies = [ + "getrandom 0.4.1", + "rand_core 0.10.0", +] + [[package]] name = "rand_chacha" version = "0.3.1" @@ -13872,6 +13906,16 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand_chacha" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" +dependencies = [ + "ppv-lite86", + "rand_core 0.10.0", +] + [[package]] name = "rand_core" version = "0.6.4" @@ -13891,6 +13935,12 @@ dependencies = [ "serde", ] +[[package]] +name = "rand_core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" + [[package]] name = "rand_distr" version = "0.4.3" @@ -21353,7 +21403,16 @@ version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", ] [[package]] @@ -21437,6 +21496,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-instrument" version = "0.4.0" @@ -21446,6 +21515,18 @@ dependencies = [ "parity-wasm", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.11.4", + "wasm-encoder", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-opt" version = "0.116.1" @@ -21582,6 +21663,18 @@ dependencies = [ "url", ] +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.9.4", + "hashbrown 0.15.5", + "indexmap 2.11.4", + "semver 1.0.27", +] + [[package]] name = "wasmparser-nostd" version = "0.100.2" @@ -21610,7 +21703,7 @@ dependencies = [ "rayon", "serde", "target-lexicon", - "wasmparser", + "wasmparser 0.102.0", "wasmtime-cache", "wasmtime-cranelift", "wasmtime-environ", @@ -21665,7 +21758,7 @@ dependencies = [ "object 0.30.4", "target-lexicon", "thiserror 1.0.69", - "wasmparser", + "wasmparser 0.102.0", "wasmtime-cranelift-shared", "wasmtime-environ", ] @@ -21700,7 +21793,7 @@ dependencies = [ "serde", "target-lexicon", "thiserror 1.0.69", - "wasmparser", + "wasmparser 0.102.0", "wasmtime-types", ] @@ -21783,7 +21876,7 @@ dependencies = [ "cranelift-entity", "serde", "thiserror 1.0.69", - "wasmparser", + "wasmparser 0.102.0", ] [[package]] @@ -22429,6 +22522,94 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.11.4", + "prettyplease", + "syn 2.0.106", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.106", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.9.4", + "indexmap 2.11.4", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser 0.244.0", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.11.4", + "log", + "semver 1.0.27", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.244.0", +] + [[package]] name = "writeable" version = "0.6.1" diff --git a/Cargo.toml b/Cargo.toml index bea2e5c6da..437f1b584d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -91,7 +91,7 @@ libsecp256k1 = { version = "0.7.2", default-features = false } log = { version = "0.4.21", default-features = false } memmap2 = "0.9.8" ndarray = { version = "0.16.1", default-features = false } -rand = { version = "0.8.5", default-features = false } +rand = { version = "0.10.0", default-features = false } scale-info = { version = "2.11.2", default-features = false } serde = { version = "1.0.214", default-features = false } serde-tuple-vec-map = { version = "1.0.1", default-features = false } @@ -278,9 +278,6 @@ pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", re #DRAND pallet-drand = { path = "pallets/drand", default-features = false } sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -getrandom = { version = "0.2.15", default-features = false, features = [ - "custom", -] } sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } @@ -292,7 +289,7 @@ ark-ec = { version = "0.4.0", default-features = false } ark-std = { version = "0.4.0", default-features = false } anyhow = { version = "1.0.81", default-features = false } sha2 = { version = "0.10.8", default-features = false } -rand_chacha = { version = "0.3.1", default-features = false } +rand_chacha = { version = "0.10.0", default-features = false } tle = { git = "https://github.com/ideal-lab5/timelock", rev = "5416406cfd32799e31e1795393d4916894de4468", default-features = false } pallet-shield = { path = "pallets/shield", default-features = false } diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index c893b21675..0828e6110c 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -41,14 +41,14 @@ pallet-aura = { workspace = true, optional = true } sp-consensus-aura = { workspace = true, optional = true } ml-kem = { workspace = true, optional = true } chacha20poly1305 = { workspace = true, optional = true } -rand = { workspace = true, optional = true, features = ["getrandom"] } +rand_chacha = { workspace = true, optional = true } [dev-dependencies] stc-shield.workspace = true ml-kem.workspace = true chacha20poly1305.workspace = true -rand = { workspace = true, features = ["getrandom"] } pallet-subtensor-utility.workspace = true +rand_chacha.workspace = true [features] default = ["std"] @@ -72,7 +72,7 @@ std = [ "sp-consensus-aura?/std", "chacha20poly1305?/std", "ml-kem?/std", - "rand?/std", + "rand_chacha?/std", "pallet-subtensor-utility/std", "stc-shield/std", ] @@ -87,8 +87,7 @@ runtime-benchmarks = [ "ml-kem", "pallet-aura", "sp-consensus-aura", - "rand", - "rand/getrandom", + "rand_chacha", ] try-runtime = [ diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 02bbe16ec2..3d25b8a83a 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -14,8 +14,7 @@ use ml_kem::{ Ciphertext, KemCore, MlKem768, MlKem768Params, kem::{Decapsulate, DecapsulationKey, Encapsulate}, }; -// use rand::{SeedableRng, rngs::StdRng}; -use rand::rngs::OsRng; +use rand_chacha::{ChaCha20Rng, rand_core::SeedableRng}; use stp_shield::ShieldedTransaction; use codec::Encode; @@ -49,13 +48,9 @@ fn deposit_slot_digest(slot: u64) { /// /// Returns `(wire_ciphertext, dec_key)` so the benchmark can measure decryption. fn build_max_encrypted_payload() -> (Vec, DecapsulationKey) { - // let mut rng = StdRng::from_seed([42u8; 32]); - // let (dec_key, enc_key) = MlKem768::generate(&mut rng); - // let (kem_ct, shared_secret) = enc_key.encapsulate(&mut rng).unwrap(); - let (dec_key, enc_key) = MlKem768::generate(&mut OsRng); - let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); - - + let mut rng = ChaCha20Rng::from_seed([42u8; 32]); + let (dec_key, enc_key) = MlKem768::generate(&mut rng); + let (kem_ct, shared_secret) = enc_key.encapsulate(&mut rng).unwrap(); // Wire overhead: key_hash(16) + kem_ct_len(2) + kem_ct(1088) + nonce(24) = 1130. // Max aead_ct = 8192 − 1130 = 7062. diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index d6802e7496..d79a787d30 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -140,7 +140,6 @@ fp-account.workspace = true #drand pallet-drand.workspace = true -getrandom.workspace = true tle.workspace = true hex.workspace = true rand_chacha.workspace = true @@ -259,7 +258,6 @@ std = [ "pallet-hotfix-sufficients/std", "fp-account/std", "pallet-drand/std", - "getrandom/std", "tle/std", "ark-serialize/std", "hex/std", From 08b4e1373858a186c02e8efc69db9ab532bd561a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 17 Feb 2026 11:26:42 -0300 Subject: [PATCH 070/204] downgrade rand_chacha back to 0.3.1 --- Cargo.lock | 16 +++------------- Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a9d03c5b5b..cdff7587b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9540,7 +9540,7 @@ dependencies = [ "pallet-balances", "pallet-drand", "parity-scale-codec", - "rand_chacha 0.10.0", + "rand_chacha 0.3.1", "scale-info", "sha2 0.10.9", "sp-core", @@ -10769,7 +10769,7 @@ dependencies = [ "pallet-aura", "pallet-subtensor-utility", "parity-scale-codec", - "rand_chacha 0.10.0", + "rand_chacha 0.3.1", "scale-info", "sp-consensus-aura", "sp-core", @@ -10988,7 +10988,7 @@ dependencies = [ "parity-scale-codec", "polkadot-runtime-common", "rand 0.10.0", - "rand_chacha 0.10.0", + "rand_chacha 0.3.1", "safe-math", "scale-info", "serde", @@ -13906,16 +13906,6 @@ dependencies = [ "rand_core 0.9.3", ] -[[package]] -name = "rand_chacha" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" -dependencies = [ - "ppv-lite86", - "rand_core 0.10.0", -] - [[package]] name = "rand_core" version = "0.6.4" diff --git a/Cargo.toml b/Cargo.toml index 437f1b584d..aedcc49b97 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -289,7 +289,7 @@ ark-ec = { version = "0.4.0", default-features = false } ark-std = { version = "0.4.0", default-features = false } anyhow = { version = "1.0.81", default-features = false } sha2 = { version = "0.10.8", default-features = false } -rand_chacha = { version = "0.10.0", default-features = false } +rand_chacha = { version = "0.3.1", default-features = false } tle = { git = "https://github.com/ideal-lab5/timelock", rev = "5416406cfd32799e31e1795393d4916894de4468", default-features = false } pallet-shield = { path = "pallets/shield", default-features = false } From ea32bcc068ebfe9caad5ade18a9e604995868bc4 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 17 Feb 2026 20:05:02 -0300 Subject: [PATCH 071/204] fix compilation issues after cherrypick on devnet-ready --- Cargo.lock | 44 ++++++++--------------- node/src/consensus/aura_consensus.rs | 3 +- node/src/consensus/babe_consensus.rs | 3 +- node/src/consensus/consensus_mechanism.rs | 2 +- pallets/shield/src/benchmarking.rs | 3 +- pallets/subtensor/src/lib.rs | 3 -- pallets/subtensor/src/utils/evm.rs | 6 +++- runtime/src/lib.rs | 4 +-- 8 files changed, 28 insertions(+), 40 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cdff7587b3..d480d8dbd1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,6 +71,17 @@ dependencies = [ "subtle 2.6.1", ] +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.17", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.12" @@ -19168,7 +19179,7 @@ name = "sp-trie" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "ahash", + "ahash 0.8.12", "foldhash 0.1.5", "hash-db", "hashbrown 0.15.5", @@ -19179,34 +19190,9 @@ dependencies = [ "rand 0.8.5", "scale-info", "schnellru", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tracing", - "trie-db", - "trie-root", -] - -[[package]] -name = "sp-trie" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "ahash", - "foldhash 0.1.5", - "hash-db", - "hashbrown 0.15.5", - "memory-db", - "nohash-hasher", - "parity-scale-codec", - "parking_lot 0.12.5", - "rand 0.8.5", - "scale-info", - "schnellru", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-externalities", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing", "trie-db", diff --git a/node/src/consensus/aura_consensus.rs b/node/src/consensus/aura_consensus.rs index 85731afbce..ce34e8125a 100644 --- a/node/src/consensus/aura_consensus.rs +++ b/node/src/consensus/aura_consensus.rs @@ -28,6 +28,7 @@ use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::Block as BlockT; use sp_runtime::traits::NumberFor; +use stc_shield::InherentDataProvider as ShieldInherentDataProvider; use std::{error::Error, sync::Arc}; use stp_shield::ShieldKeystorePtr; @@ -117,7 +118,7 @@ impl ConsensusMechanism for AuraConsensus { fn pending_create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result> { let current = sp_timestamp::InherentDataProvider::from_system_time(); let next_slot = current diff --git a/node/src/consensus/babe_consensus.rs b/node/src/consensus/babe_consensus.rs index 8b067197ed..4f84cbb87b 100644 --- a/node/src/consensus/babe_consensus.rs +++ b/node/src/consensus/babe_consensus.rs @@ -31,6 +31,7 @@ use sp_consensus_slots::SlotDuration; use sp_inherents::CreateInherentDataProviders; use sp_keystore::KeystorePtr; use sp_runtime::traits::NumberFor; +use stc_shield::InherentDataProvider as ShieldInherentDataProvider; use std::{error::Error, sync::Arc}; use stp_shield::ShieldKeystorePtr; @@ -127,7 +128,7 @@ impl ConsensusMechanism for BabeConsensus { fn pending_create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result> { let current = sp_timestamp::InherentDataProvider::from_system_time(); let next_slot = current diff --git a/node/src/consensus/consensus_mechanism.rs b/node/src/consensus/consensus_mechanism.rs index de32ce91ac..9fd8cad63b 100644 --- a/node/src/consensus/consensus_mechanism.rs +++ b/node/src/consensus/consensus_mechanism.rs @@ -92,7 +92,7 @@ pub trait ConsensusMechanism { /// Creates IDPs for the consensus mechanism for pending blocks. fn pending_create_inherent_data_providers( slot_duration: SlotDuration, - shield_keystore: Arc, + shield_keystore: ShieldKeystorePtr, ) -> Result>; /// Creates the frontier consensus data provider with this mechanism. diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 3d25b8a83a..1ce1c48b99 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -88,8 +88,7 @@ fn build_max_encrypted_payload() -> (Vec, DecapsulationKey) where T: pallet_aura::Config, ::AuthorityId: From, - ::AccountId: From + Into, - ::RuntimeOrigin: From> + ::AuthorityId: From, )] mod benches { use super::*; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 167a9b2ee8..c0000d2662 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -54,9 +54,6 @@ pub use guards::*; #[cfg(test)] pub(crate) mod tests; -pub mod transaction_extension; -pub use transaction_extension::SubtensorTransactionExtension; - // apparently this is stabilized since rust 1.36 extern crate alloc; diff --git a/pallets/subtensor/src/utils/evm.rs b/pallets/subtensor/src/utils/evm.rs index 88f856b25e..3363a9ade5 100644 --- a/pallets/subtensor/src/utils/evm.rs +++ b/pallets/subtensor/src/utils/evm.rs @@ -64,7 +64,11 @@ impl Pallet { Self::ensure_evm_key_associate_rate_limit(netuid, uid)?; let block_hash = keccak_256(block_number.encode().as_ref()); - let message = [hotkey.encode().as_ref(), block_hash.as_ref()].concat(); + let message = [ + hotkey.encode().as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&block_hash), + ] + .concat(); let public = signature .recover_prehashed(&Self::hash_message_eip191(message)) .ok_or(Error::::InvalidIdentity)?; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index c3e88d7248..8ea208f9dc 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -70,8 +70,8 @@ use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; -use substrate_fixed::types::U64F64; use stp_shield::ShieldedTransaction; +use substrate_fixed::types::U64F64; use subtensor_precompiles::Precompiles; use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, TaoCurrency, time::*, *}; use subtensor_swap_interface::{Order, SwapHandler}; @@ -1672,7 +1672,7 @@ pub type CustomTxExtension = ( ChargeTransactionPaymentWrapper, SudoTransactionExtension, pallet_shield::CheckShieldedTxValidity, - pallet_subtensor::transaction_extension::SubtensorTransactionExtension, + pallet_subtensor::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, ); pub type TxExtension = ( From 46079e6d2da62cd37de37bff78fef5134e4df90e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 17 Feb 2026 22:18:10 -0300 Subject: [PATCH 072/204] move CustomTransactionError to subtensor common --- common/src/lib.rs | 2 + common/src/transaction_error.rs | 69 +++++++++++++++++++ pallets/subtensor/src/extensions/subtensor.rs | 4 +- pallets/subtensor/src/lib.rs | 66 +----------------- pallets/subtensor/src/tests/registration.rs | 6 +- pallets/subtensor/src/tests/serving.rs | 1 + pallets/subtensor/src/tests/weights.rs | 2 +- 7 files changed, 80 insertions(+), 70 deletions(-) create mode 100644 common/src/transaction_error.rs diff --git a/common/src/lib.rs b/common/src/lib.rs index a63b92779a..5566f3d04c 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -16,9 +16,11 @@ use subtensor_macros::freeze_struct; pub use currency::*; pub use evm_context::*; +pub use transaction_error::*; mod currency; mod evm_context; +mod transaction_error; /// Balance of an account. pub type Balance = u64; diff --git a/common/src/transaction_error.rs b/common/src/transaction_error.rs new file mode 100644 index 0000000000..8bd8587575 --- /dev/null +++ b/common/src/transaction_error.rs @@ -0,0 +1,69 @@ +use sp_runtime::transaction_validity::{InvalidTransaction, TransactionValidityError}; + +#[derive(Debug, PartialEq)] +pub enum CustomTransactionError { + /// Deprecated: coldkey swap now uses announcements and check moved to DispatchGuard + #[deprecated] + ColdkeyInSwapSchedule, + StakeAmountTooLow, + BalanceTooLow, + SubnetNotExists, + HotkeyAccountDoesntExist, + NotEnoughStakeToWithdraw, + RateLimitExceeded, + InsufficientLiquidity, + SlippageTooHigh, + TransferDisallowed, + HotKeyNotRegisteredInNetwork, + InvalidIpAddress, + ServingRateLimitExceeded, + InvalidPort, + BadRequest, + ZeroMaxAmount, + InvalidRevealRound, + CommitNotFound, + CommitBlockNotInRevealRange, + InputLengthsUnequal, + UidNotFound, + EvmKeyAssociateRateLimitExceeded, + ColdkeySwapDisputed, + InvalidRealAccount, +} + +impl From for u8 { + fn from(variant: CustomTransactionError) -> u8 { + match variant { + #[allow(deprecated)] + CustomTransactionError::ColdkeyInSwapSchedule => 0, + CustomTransactionError::StakeAmountTooLow => 1, + CustomTransactionError::BalanceTooLow => 2, + CustomTransactionError::SubnetNotExists => 3, + CustomTransactionError::HotkeyAccountDoesntExist => 4, + CustomTransactionError::NotEnoughStakeToWithdraw => 5, + CustomTransactionError::RateLimitExceeded => 6, + CustomTransactionError::InsufficientLiquidity => 7, + CustomTransactionError::SlippageTooHigh => 8, + CustomTransactionError::TransferDisallowed => 9, + CustomTransactionError::HotKeyNotRegisteredInNetwork => 10, + CustomTransactionError::InvalidIpAddress => 11, + CustomTransactionError::ServingRateLimitExceeded => 12, + CustomTransactionError::InvalidPort => 13, + CustomTransactionError::BadRequest => 255, + CustomTransactionError::ZeroMaxAmount => 14, + CustomTransactionError::InvalidRevealRound => 15, + CustomTransactionError::CommitNotFound => 16, + CustomTransactionError::CommitBlockNotInRevealRange => 17, + CustomTransactionError::InputLengthsUnequal => 18, + CustomTransactionError::UidNotFound => 19, + CustomTransactionError::EvmKeyAssociateRateLimitExceeded => 20, + CustomTransactionError::ColdkeySwapDisputed => 21, + CustomTransactionError::InvalidRealAccount => 22, + } + } +} + +impl From for TransactionValidityError { + fn from(variant: CustomTransactionError) -> Self { + TransactionValidityError::Invalid(InvalidTransaction::Custom(variant.into())) + } +} diff --git a/pallets/subtensor/src/extensions/subtensor.rs b/pallets/subtensor/src/extensions/subtensor.rs index 950326c653..33fc3ba577 100644 --- a/pallets/subtensor/src/extensions/subtensor.rs +++ b/pallets/subtensor/src/extensions/subtensor.rs @@ -1,4 +1,4 @@ -use crate::{BalancesCall, Call, Config, CustomTransactionError, Error, Pallet, TransactionType}; +use crate::{BalancesCall, Call, CheckColdkeySwap, Config, Error, Pallet, TransactionType}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::dispatch::{DispatchInfo, PostDispatchInfo}; use frame_support::traits::IsSubType; @@ -15,7 +15,7 @@ use sp_runtime::{ use sp_std::marker::PhantomData; use sp_std::vec::Vec; use subtensor_macros::freeze_struct; -use subtensor_runtime_common::{NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{CustomTransactionError, NetUid, NetUidStorageIndex}; const ADD_STAKE_BURN_PRIORITY_BOOST: u64 = 100; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index c0000d2662..d71a084996 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -22,7 +22,7 @@ use pallet_balances::Call as BalancesCall; // use pallet_scheduler as Scheduler; use scale_info::TypeInfo; use sp_core::Get; -use sp_runtime::{DispatchError, transaction_validity::TransactionValidityError}; +use sp_runtime::DispatchError; use sp_std::marker::PhantomData; use subtensor_runtime_common::{AlphaCurrency, Currency, CurrencyReserve, NetUid, TaoCurrency}; @@ -2485,70 +2485,6 @@ pub mod pallet { } } -#[derive(Debug, PartialEq)] -pub enum CustomTransactionError { - /// Deprecated: coldkey swap now uses announcements and check moved to DispatchGuard - #[deprecated] - ColdkeyInSwapSchedule, - StakeAmountTooLow, - BalanceTooLow, - SubnetNotExists, - HotkeyAccountDoesntExist, - NotEnoughStakeToWithdraw, - RateLimitExceeded, - InsufficientLiquidity, - SlippageTooHigh, - TransferDisallowed, - HotKeyNotRegisteredInNetwork, - InvalidIpAddress, - ServingRateLimitExceeded, - InvalidPort, - BadRequest, - ZeroMaxAmount, - InvalidRevealRound, - CommitNotFound, - CommitBlockNotInRevealRange, - InputLengthsUnequal, - UidNotFound, - EvmKeyAssociateRateLimitExceeded, -} - -impl From for u8 { - fn from(variant: CustomTransactionError) -> u8 { - match variant { - #[allow(deprecated)] - CustomTransactionError::ColdkeyInSwapSchedule => 0, - CustomTransactionError::StakeAmountTooLow => 1, - CustomTransactionError::BalanceTooLow => 2, - CustomTransactionError::SubnetNotExists => 3, - CustomTransactionError::HotkeyAccountDoesntExist => 4, - CustomTransactionError::NotEnoughStakeToWithdraw => 5, - CustomTransactionError::RateLimitExceeded => 6, - CustomTransactionError::InsufficientLiquidity => 7, - CustomTransactionError::SlippageTooHigh => 8, - CustomTransactionError::TransferDisallowed => 9, - CustomTransactionError::HotKeyNotRegisteredInNetwork => 10, - CustomTransactionError::InvalidIpAddress => 11, - CustomTransactionError::ServingRateLimitExceeded => 12, - CustomTransactionError::InvalidPort => 13, - CustomTransactionError::BadRequest => 255, - CustomTransactionError::ZeroMaxAmount => 14, - CustomTransactionError::InvalidRevealRound => 15, - CustomTransactionError::CommitNotFound => 16, - CustomTransactionError::CommitBlockNotInRevealRange => 17, - CustomTransactionError::InputLengthsUnequal => 18, - CustomTransactionError::UidNotFound => 19, - CustomTransactionError::EvmKeyAssociateRateLimitExceeded => 20, - } - } -} - -impl From for TransactionValidityError { - fn from(variant: CustomTransactionError) -> Self { - TransactionValidityError::Invalid(InvalidTransaction::Custom(variant.into())) - } -} - use sp_std::vec; // TODO: unravel this rats nest, for some reason rustc thinks this is unused even though it's diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index 635b996cea..b98dce1d45 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -9,12 +9,14 @@ use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::{Config, RawOrigin}; use sp_core::U256; use sp_runtime::traits::{DispatchInfoOf, TransactionExtension, TxBaseImplication}; -use subtensor_runtime_common::{AlphaCurrency, Currency as CurrencyT, NetUid, NetUidStorageIndex}; +use subtensor_runtime_common::{ + AlphaCurrency, Currency as CurrencyT, CustomTransactionError, NetUid, NetUidStorageIndex, +}; use super::mock; use super::mock::*; use crate::extensions::SubtensorTransactionExtension; -use crate::{AxonInfoOf, CustomTransactionError, Error}; +use crate::{AxonInfoOf, Error}; /******************************************** subscribing::subscribe() tests diff --git a/pallets/subtensor/src/tests/serving.rs b/pallets/subtensor/src/tests/serving.rs index 552af372e3..2979d4438c 100644 --- a/pallets/subtensor/src/tests/serving.rs +++ b/pallets/subtensor/src/tests/serving.rs @@ -12,6 +12,7 @@ use frame_support::{ use frame_system::{Config, RawOrigin}; use sp_core::U256; use sp_runtime::traits::{DispatchInfoOf, TransactionExtension, TxBaseImplication}; +use subtensor_runtime_common::CustomTransactionError; mod test { use std::net::{Ipv4Addr, Ipv6Addr}; diff --git a/pallets/subtensor/src/tests/weights.rs b/pallets/subtensor/src/tests/weights.rs index 2c64b23d32..388c5229a1 100644 --- a/pallets/subtensor/src/tests/weights.rs +++ b/pallets/subtensor/src/tests/weights.rs @@ -21,7 +21,7 @@ use sp_runtime::{ }; use sp_std::collections::vec_deque::VecDeque; use substrate_fixed::types::I32F32; -use subtensor_runtime_common::{NetUidStorageIndex, TaoCurrency}; +use subtensor_runtime_common::{CustomTransactionError, NetUidStorageIndex, TaoCurrency}; use subtensor_swap_interface::SwapHandler; use tle::{ curves::drand::TinyBLS381, From 4a69de3fbde86e4e2b831e336a847abe2d4174e2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 17 Feb 2026 22:20:57 -0300 Subject: [PATCH 073/204] added new custom transaction error for shielded txs --- Cargo.lock | 1 + common/src/transaction_error.rs | 4 ++++ pallets/shield/Cargo.toml | 2 ++ pallets/shield/src/extension.rs | 23 ++++++++--------------- pallets/shield/src/tests.rs | 5 +++-- pallets/subtensor/src/lib.rs | 1 - 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d480d8dbd1..b866a8fe4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10793,6 +10793,7 @@ dependencies = [ "stp-io", "stp-shield", "subtensor-macros", + "subtensor-runtime-common", ] [[package]] diff --git a/common/src/transaction_error.rs b/common/src/transaction_error.rs index 8bd8587575..de98cdf5f4 100644 --- a/common/src/transaction_error.rs +++ b/common/src/transaction_error.rs @@ -28,6 +28,8 @@ pub enum CustomTransactionError { EvmKeyAssociateRateLimitExceeded, ColdkeySwapDisputed, InvalidRealAccount, + FailedShieldedTxParsing, + InvalidShieldedTxPubKeyHash, } impl From for u8 { @@ -58,6 +60,8 @@ impl From for u8 { CustomTransactionError::EvmKeyAssociateRateLimitExceeded => 20, CustomTransactionError::ColdkeySwapDisputed => 21, CustomTransactionError::InvalidRealAccount => 22, + CustomTransactionError::FailedShieldedTxParsing => 23, + CustomTransactionError::InvalidShieldedTxPubKeyHash => 24, } } } diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 0828e6110c..382e5f481e 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -18,6 +18,7 @@ scale-info = { workspace = true, features = ["derive"] } log.workspace = true subtensor-macros.workspace = true +subtensor-runtime-common.workspace = true # FRAME core frame-support.workspace = true @@ -75,6 +76,7 @@ std = [ "rand_chacha?/std", "pallet-subtensor-utility/std", "stc-shield/std", + "subtensor-runtime-common/std", ] runtime-benchmarks = [ diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 2b28f9cc18..020b03b66a 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -11,6 +11,7 @@ use sp_runtime::traits::{ }; use sp_runtime::transaction_validity::TransactionSource; use subtensor_macros::freeze_struct; +use subtensor_runtime_common::CustomTransactionError; #[freeze_struct("dabd89c6963de25d")] #[derive(Default, Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] @@ -66,7 +67,7 @@ where // Reject malformed ciphertext regardless of source. let Some(ShieldedTransaction { key_hash, .. }) = ShieldedTransaction::parse(ciphertext) else { - return Err(InvalidTransaction::BadProof.into()); + return Err(CustomTransactionError::FailedShieldedTxParsing.into()); }; // Only enforce the key_hash check during block building/import. @@ -79,7 +80,7 @@ where .any(|k| k.as_ref().is_some_and(|k| twox_128(&k[..]) == key_hash)); if !matches_any { - return Err(InvalidTransaction::BadProof.into()); + return Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()); } } @@ -94,7 +95,7 @@ mod tests { use frame_support::dispatch::GetDispatchInfo; use frame_support::pallet_prelude::{BoundedVec, ConstU32}; use sp_runtime::traits::TxBaseImplication; - use sp_runtime::transaction_validity::{InvalidTransaction, TransactionValidityError}; + use sp_runtime::transaction_validity::TransactionValidityError; /// Build wire-format ciphertext with a given key_hash. /// Layout: key_hash(16) || kem_ct_len(2 LE) || kem_ct(N) || nonce(24) || aead_ct(rest) @@ -169,9 +170,7 @@ mod tests { }); assert_eq!( validate_ext(Some(1), &call, TransactionSource::InBlock), - Err(TransactionValidityError::Invalid( - InvalidTransaction::BadProof - )) + Err(CustomTransactionError::FailedShieldedTxParsing.into()) ); }); } @@ -184,9 +183,7 @@ mod tests { }); assert_eq!( validate_ext(Some(1), &call, TransactionSource::External), - Err(TransactionValidityError::Invalid( - InvalidTransaction::BadProof - )) + Err(CustomTransactionError::FailedShieldedTxParsing.into()) ); }); } @@ -217,9 +214,7 @@ mod tests { let call = make_submit_call([0xFF; 16]); assert_eq!( validate_ext(Some(1), &call, TransactionSource::InBlock), - Err(TransactionValidityError::Invalid( - InvalidTransaction::BadProof - )) + Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()) ); }); } @@ -230,9 +225,7 @@ mod tests { let call = make_submit_call(twox_128(&PK_A)); assert_eq!( validate_ext(Some(1), &call, TransactionSource::InBlock), - Err(TransactionValidityError::Invalid( - InvalidTransaction::BadProof - )) + Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()) ); }); } diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 87e272c00e..f18d4acd1f 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -16,7 +16,7 @@ use ml_kem::{ EncodedSizeUser, MlKem768Params, kem::{Encapsulate, EncapsulationKey}, }; -use rand::rngs::OsRng; +use rand_chacha::{ChaChaRng, rand_core::SeedableRng}; use stc_shield::MemoryShieldKeystore; use std::sync::Arc; @@ -278,13 +278,14 @@ fn try_decode_shielded_tx_returns_none_when_depth_exceeded() { #[test] fn try_unshield_tx_decrypts_extrinsic() { + let mut rng = ChaChaRng::from_seed([42u8; 32]); let keystore = Arc::new(MemoryShieldKeystore::new()); // Client side: read the announced public key and encapsulate. let pk_bytes = keystore.next_public_key().unwrap(); let enc_key = EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); - let (kem_ct, shared_secret) = enc_key.encapsulate(&mut OsRng).unwrap(); + let (kem_ct, shared_secret) = enc_key.encapsulate(&mut rng).unwrap(); // Build the inner extrinsic that we'll encrypt. let inner_call = RuntimeCall::System(frame_system::Call::remark { diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index d71a084996..bf6d9de7e5 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -10,7 +10,6 @@ use frame_system::{self as system, ensure_signed}; pub use pallet::*; use codec::{Decode, Encode}; -use frame_support::sp_runtime::transaction_validity::InvalidTransaction; use frame_support::{ dispatch::{self, DispatchResult, DispatchResultWithPostInfo}, ensure, From 88baba8552a6bb4ea89fef48b2bb9c0d07be76a5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 12:24:11 -0300 Subject: [PATCH 074/204] bump frontier and psdk deps --- Cargo.lock | 4 +- Cargo.toml | 270 ++++++++++++++++++++++++++--------------------------- 2 files changed, 137 insertions(+), 137 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b866a8fe4c..e817d56a10 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19637,7 +19637,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=63332fd67a3e676b064b5ecde8ddad308714e42f#63332fd67a3e676b064b5ecde8ddad308714e42f" dependencies = [ "anyhow", "async-trait", @@ -19669,7 +19669,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=63332fd67a3e676b064b5ecde8ddad308714e42f#63332fd67a3e676b064b5ecde8ddad308714e42f" dependencies = [ "parity-scale-codec", "scale-info", diff --git a/Cargo.toml b/Cargo.toml index aedcc49b97..89f06dd108 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,8 +74,8 @@ subtensor-swap-interface = { default-features = false, path = "pallets/swap-inte subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } stp-io = { path = "primitives/io", default-features = false } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -127,158 +127,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "7b1053fea0b21c66be0f93371f7837cbc226b401", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "90497591fd4e23768a410391e7adbd09a45587cf", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From d2510e258897aff917e0e9867e2323ffe656422b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 16:00:11 -0300 Subject: [PATCH 075/204] setup pnpm workspace for e2e --- e2e/.gitignore | 2 + e2e/.nvmrc | 1 + e2e/.prettierrc | 6 + e2e/bootstrap.sh | 34 + e2e/package.json | 14 + e2e/pnpm-lock.yaml | 2493 +++++++++++++++++++++++++++++++++++++++ e2e/pnpm-workspace.yaml | 15 + 7 files changed, 2565 insertions(+) create mode 100644 e2e/.gitignore create mode 100644 e2e/.nvmrc create mode 100644 e2e/.prettierrc create mode 100755 e2e/bootstrap.sh create mode 100644 e2e/package.json create mode 100644 e2e/pnpm-lock.yaml create mode 100644 e2e/pnpm-workspace.yaml diff --git a/e2e/.gitignore b/e2e/.gitignore new file mode 100644 index 0000000000..f03ed1d657 --- /dev/null +++ b/e2e/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +node-subtensor/ \ No newline at end of file diff --git a/e2e/.nvmrc b/e2e/.nvmrc new file mode 100644 index 0000000000..cabf43b5dd --- /dev/null +++ b/e2e/.nvmrc @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/e2e/.prettierrc b/e2e/.prettierrc new file mode 100644 index 0000000000..90abee2393 --- /dev/null +++ b/e2e/.prettierrc @@ -0,0 +1,6 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": false, + "trailingComma": "all" +} diff --git a/e2e/bootstrap.sh b/e2e/bootstrap.sh new file mode 100755 index 0000000000..d78646f273 --- /dev/null +++ b/e2e/bootstrap.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e + +MANIFEST="../Cargo.toml" +BINARY="../target/debug/node-subtensor" + +echo "==> Building node-subtensor..." +pnpm build-node + +echo "==> Starting dev node..." +"$BINARY" --one --dev 2>&1 & +NODE_PID=$! +trap "kill $NODE_PID 2>/dev/null; wait $NODE_PID 2>/dev/null" EXIT + +TIMEOUT=60 +ELAPSED=0 + +echo "==> Waiting for node to be ready (timeout: ${TIMEOUT}s)..." +until curl -sf -o /dev/null \ + -H "Content-Type: application/json" \ + -d '{"id":1,"jsonrpc":"2.0","method":"system_health","params":[]}' \ + http://localhost:9944; do + sleep 1 + ELAPSED=$((ELAPSED + 1)) + if [ "$ELAPSED" -ge "$TIMEOUT" ]; then + echo "==> ERROR: Node failed to start within ${TIMEOUT}s" + exit 1 + fi +done + +echo "==> Generating dedot types..." +pnpm generate-types + +echo "==> Done." diff --git a/e2e/package.json b/e2e/package.json new file mode 100644 index 0000000000..23bfadfa91 --- /dev/null +++ b/e2e/package.json @@ -0,0 +1,14 @@ +{ + "name": "e2e", + "private": true, + "scripts": { + "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", + "generate-types": "pnpm --package=@dedot/cli dlx dedot chaintypes -w ws://localhost:9944", + "format": "prettier --write .", + "format:check": "prettier --check ." + }, + "devDependencies": { + "dedot": "catalog:", + "prettier": "catalog:" + } +} diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml new file mode 100644 index 0000000000..55a948fd84 --- /dev/null +++ b/e2e/pnpm-lock.yaml @@ -0,0 +1,2493 @@ +lockfileVersion: "9.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +catalogs: + default: + "@dedot/chaintypes": + specifier: ^0.234.0 + version: 0.234.0 + "@dedot/cli": + specifier: ^1.0.4 + version: 1.0.4 + "@noble/ciphers": + specifier: ^2.1.1 + version: 2.1.1 + "@polkadot/keyring": + specifier: ^14.0.1 + version: 14.0.1 + "@polkadot/util-crypto": + specifier: ^14.0.1 + version: 14.0.1 + "@types/node": + specifier: ^24 + version: 24.10.13 + dedot: + specifier: ^1.0.4 + version: 1.0.4 + mlkem: + specifier: ^2.5.0 + version: 2.5.0 + prettier: + specifier: ^3.0.0 + version: 3.8.1 + vitest: + specifier: ^4.0.0 + version: 4.0.18 + +importers: + .: + devDependencies: + dedot: + specifier: "catalog:" + version: 1.0.4 + prettier: + specifier: "catalog:" + version: 3.8.1 + + shared: + dependencies: + "@polkadot/keyring": + specifier: "catalog:" + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + devDependencies: + "@types/node": + specifier: "catalog:" + version: 24.10.13 + vitest: + specifier: "catalog:" + version: 4.0.18(@types/node@24.10.13) + + shield: + dependencies: + "@noble/ciphers": + specifier: "catalog:" + version: 2.1.1 + "@polkadot/keyring": + specifier: "catalog:" + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + "@polkadot/util-crypto": + specifier: "catalog:" + version: 14.0.1(@polkadot/util@14.0.1) + dedot: + specifier: "catalog:" + version: 1.0.4 + e2e-shared: + specifier: workspace:* + version: link:../shared + mlkem: + specifier: "catalog:" + version: 2.5.0 + devDependencies: + "@dedot/chaintypes": + specifier: "catalog:" + version: 0.234.0(dedot@1.0.4) + "@dedot/cli": + specifier: "catalog:" + version: 1.0.4 + "@types/node": + specifier: "catalog:" + version: 24.10.13 + vitest: + specifier: "catalog:" + version: 4.0.18(@types/node@24.10.13) + +packages: + "@adraffy/ens-normalize@1.11.1": + resolution: + { + integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==, + } + + "@dedot/api@1.0.4": + resolution: + { + integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==, + } + engines: { node: ">=18" } + + "@dedot/chaintypes@0.234.0": + resolution: + { + integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==, + } + peerDependencies: + dedot: ">=1.0.1" + + "@dedot/cli@1.0.4": + resolution: + { + integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==, + } + engines: { node: ">=18" } + hasBin: true + + "@dedot/codecs@1.0.4": + resolution: + { + integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==, + } + engines: { node: ">=18" } + + "@dedot/codegen@1.0.4": + resolution: + { + integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==, + } + engines: { node: ">=18" } + + "@dedot/contracts@1.0.4": + resolution: + { + integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==, + } + engines: { node: ">=18" } + + "@dedot/merkleized-metadata@1.0.4": + resolution: + { + integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==, + } + engines: { node: ">=18" } + + "@dedot/providers@1.0.4": + resolution: + { + integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==, + } + engines: { node: ">=18" } + + "@dedot/runtime-specs@1.0.4": + resolution: + { + integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==, + } + engines: { node: ">=18" } + + "@dedot/shape@1.0.4": + resolution: + { + integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==, + } + engines: { node: ">=18" } + + "@dedot/smoldot@1.0.4": + resolution: + { + integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==, + } + engines: { node: ">=18" } + + "@dedot/storage@1.0.4": + resolution: + { + integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==, + } + engines: { node: ">=18" } + + "@dedot/types@1.0.4": + resolution: + { + integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==, + } + engines: { node: ">=18" } + + "@dedot/utils@1.0.4": + resolution: + { + integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==, + } + engines: { node: ">=18" } + + "@dedot/wasm@0.1.0": + resolution: + { + integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==, + } + + "@esbuild/aix-ppc64@0.27.3": + resolution: + { + integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [aix] + + "@esbuild/android-arm64@0.27.3": + resolution: + { + integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [android] + + "@esbuild/android-arm@0.27.3": + resolution: + { + integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [android] + + "@esbuild/android-x64@0.27.3": + resolution: + { + integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [android] + + "@esbuild/darwin-arm64@0.27.3": + resolution: + { + integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [darwin] + + "@esbuild/darwin-x64@0.27.3": + resolution: + { + integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [darwin] + + "@esbuild/freebsd-arm64@0.27.3": + resolution: + { + integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [freebsd] + + "@esbuild/freebsd-x64@0.27.3": + resolution: + { + integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [freebsd] + + "@esbuild/linux-arm64@0.27.3": + resolution: + { + integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [linux] + + "@esbuild/linux-arm@0.27.3": + resolution: + { + integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [linux] + + "@esbuild/linux-ia32@0.27.3": + resolution: + { + integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [linux] + + "@esbuild/linux-loong64@0.27.3": + resolution: + { + integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, + } + engines: { node: ">=18" } + cpu: [loong64] + os: [linux] + + "@esbuild/linux-mips64el@0.27.3": + resolution: + { + integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, + } + engines: { node: ">=18" } + cpu: [mips64el] + os: [linux] + + "@esbuild/linux-ppc64@0.27.3": + resolution: + { + integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [linux] + + "@esbuild/linux-riscv64@0.27.3": + resolution: + { + integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, + } + engines: { node: ">=18" } + cpu: [riscv64] + os: [linux] + + "@esbuild/linux-s390x@0.27.3": + resolution: + { + integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, + } + engines: { node: ">=18" } + cpu: [s390x] + os: [linux] + + "@esbuild/linux-x64@0.27.3": + resolution: + { + integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [linux] + + "@esbuild/netbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [netbsd] + + "@esbuild/netbsd-x64@0.27.3": + resolution: + { + integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [netbsd] + + "@esbuild/openbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openbsd] + + "@esbuild/openbsd-x64@0.27.3": + resolution: + { + integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [openbsd] + + "@esbuild/openharmony-arm64@0.27.3": + resolution: + { + integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openharmony] + + "@esbuild/sunos-x64@0.27.3": + resolution: + { + integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [sunos] + + "@esbuild/win32-arm64@0.27.3": + resolution: + { + integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [win32] + + "@esbuild/win32-ia32@0.27.3": + resolution: + { + integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [win32] + + "@esbuild/win32-x64@0.27.3": + resolution: + { + integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [win32] + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } + + "@noble/ciphers@1.3.0": + resolution: + { + integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/ciphers@2.1.1": + resolution: + { + integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==, + } + engines: { node: ">= 20.19.0" } + + "@noble/curves@1.9.1": + resolution: + { + integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/curves@1.9.7": + resolution: + { + integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/hashes@1.8.0": + resolution: + { + integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, + } + engines: { node: ^14.21.3 || >=16 } + + "@polkadot/keyring@14.0.1": + resolution: + { + integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1 + + "@polkadot/networks@14.0.1": + resolution: + { + integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, + } + engines: { node: ">=18" } + + "@polkadot/types-support@16.5.4": + resolution: + { + integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==, + } + engines: { node: ">=18" } + + "@polkadot/util-crypto@14.0.1": + resolution: + { + integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + + "@polkadot/util@14.0.1": + resolution: + { + integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, + } + engines: { node: ">=18" } + + "@polkadot/wasm-bridge@7.5.4": + resolution: + { + integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-asmjs@7.5.4": + resolution: + { + integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto-init@7.5.4": + resolution: + { + integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-wasm@7.5.4": + resolution: + { + integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto@7.5.4": + resolution: + { + integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-util@7.5.4": + resolution: + { + integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/x-bigint@14.0.1": + resolution: + { + integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, + } + engines: { node: ">=18" } + + "@polkadot/x-global@14.0.1": + resolution: + { + integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, + } + engines: { node: ">=18" } + + "@polkadot/x-randomvalues@14.0.1": + resolution: + { + integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": "*" + + "@polkadot/x-textdecoder@14.0.1": + resolution: + { + integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, + } + engines: { node: ">=18" } + + "@polkadot/x-textencoder@14.0.1": + resolution: + { + integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, + } + engines: { node: ">=18" } + + "@polkadot/x-ws@14.0.1": + resolution: + { + integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==, + } + engines: { node: ">=18" } + + "@rollup/rollup-android-arm-eabi@4.57.1": + resolution: + { + integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, + } + cpu: [arm] + os: [android] + + "@rollup/rollup-android-arm64@4.57.1": + resolution: + { + integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, + } + cpu: [arm64] + os: [android] + + "@rollup/rollup-darwin-arm64@4.57.1": + resolution: + { + integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, + } + cpu: [arm64] + os: [darwin] + + "@rollup/rollup-darwin-x64@4.57.1": + resolution: + { + integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, + } + cpu: [x64] + os: [darwin] + + "@rollup/rollup-freebsd-arm64@4.57.1": + resolution: + { + integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, + } + cpu: [arm64] + os: [freebsd] + + "@rollup/rollup-freebsd-x64@4.57.1": + resolution: + { + integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, + } + cpu: [x64] + os: [freebsd] + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + resolution: + { + integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, + } + cpu: [arm] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + resolution: + { + integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, + } + cpu: [arm] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + resolution: + { + integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, + } + cpu: [arm64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm64-musl@4.57.1": + resolution: + { + integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, + } + cpu: [arm64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + resolution: + { + integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, + } + cpu: [loong64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-loong64-musl@4.57.1": + resolution: + { + integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, + } + cpu: [loong64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + resolution: + { + integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, + } + cpu: [ppc64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + resolution: + { + integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, + } + cpu: [ppc64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + resolution: + { + integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, + } + cpu: [riscv64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + resolution: + { + integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, + } + cpu: [riscv64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + resolution: + { + integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, + } + cpu: [s390x] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, + } + cpu: [x64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-musl@4.57.1": + resolution: + { + integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, + } + cpu: [x64] + os: [linux] + libc: [musl] + + "@rollup/rollup-openbsd-x64@4.57.1": + resolution: + { + integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, + } + cpu: [x64] + os: [openbsd] + + "@rollup/rollup-openharmony-arm64@4.57.1": + resolution: + { + integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, + } + cpu: [arm64] + os: [openharmony] + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + resolution: + { + integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, + } + cpu: [arm64] + os: [win32] + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + resolution: + { + integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, + } + cpu: [ia32] + os: [win32] + + "@rollup/rollup-win32-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, + } + cpu: [x64] + os: [win32] + + "@rollup/rollup-win32-x64-msvc@4.57.1": + resolution: + { + integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, + } + cpu: [x64] + os: [win32] + + "@scure/base@1.2.6": + resolution: + { + integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, + } + + "@scure/bip32@1.7.0": + resolution: + { + integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==, + } + + "@scure/bip39@1.6.0": + resolution: + { + integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==, + } + + "@scure/sr25519@0.2.0": + resolution: + { + integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, + } + + "@standard-schema/spec@1.1.0": + resolution: + { + integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, + } + + "@substrate/ss58-registry@1.51.0": + resolution: + { + integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, + } + + "@types/bn.js@5.2.0": + resolution: + { + integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, + } + + "@types/chai@5.2.3": + resolution: + { + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, + } + + "@types/deep-eql@4.0.2": + resolution: + { + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, + } + + "@types/estree@1.0.8": + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + "@types/node@24.10.13": + resolution: + { + integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, + } + + "@vitest/expect@4.0.18": + resolution: + { + integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==, + } + + "@vitest/mocker@4.0.18": + resolution: + { + integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==, + } + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + "@vitest/pretty-format@4.0.18": + resolution: + { + integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==, + } + + "@vitest/runner@4.0.18": + resolution: + { + integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==, + } + + "@vitest/snapshot@4.0.18": + resolution: + { + integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==, + } + + "@vitest/spy@4.0.18": + resolution: + { + integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==, + } + + "@vitest/utils@4.0.18": + resolution: + { + integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==, + } + + abitype@1.2.3: + resolution: + { + integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==, + } + peerDependencies: + typescript: ">=5.0.4" + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + + ansi-regex@6.2.2: + resolution: + { + integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, + } + engines: { node: ">=12" } + + ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + + assertion-error@2.0.1: + resolution: + { + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, + } + engines: { node: ">=12" } + + bn.js@5.2.2: + resolution: + { + integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, + } + + chai@6.2.2: + resolution: + { + integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, + } + engines: { node: ">=18" } + + chalk@5.6.2: + resolution: + { + integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + + cli-cursor@5.0.0: + resolution: + { + integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, + } + engines: { node: ">=18" } + + cli-spinners@3.4.0: + resolution: + { + integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==, + } + engines: { node: ">=18.20" } + + cliui@8.0.1: + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } + + color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + + color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + + dedot@1.0.4: + resolution: + { + integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==, + } + engines: { node: ">=18" } + hasBin: true + + deshape@0.1.0: + resolution: + { + integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==, + } + + emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + + es-module-lexer@1.7.0: + resolution: + { + integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + } + + esbuild@0.27.3: + resolution: + { + integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, + } + engines: { node: ">=18" } + hasBin: true + + escalade@3.2.0: + resolution: + { + integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, + } + engines: { node: ">=6" } + + estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + + eventemitter3@5.0.1: + resolution: + { + integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, + } + + eventemitter3@5.0.4: + resolution: + { + integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, + } + + expect-type@1.3.0: + resolution: + { + integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, + } + engines: { node: ">=12.0.0" } + + fdir@6.5.0: + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + get-caller-file@2.0.5: + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + + get-east-asian-width@1.4.0: + resolution: + { + integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==, + } + engines: { node: ">=18" } + + handlebars@4.7.8: + resolution: + { + integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, + } + engines: { node: ">=0.4.7" } + hasBin: true + + is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + + is-interactive@2.0.0: + resolution: + { + integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, + } + engines: { node: ">=12" } + + is-unicode-supported@2.1.0: + resolution: + { + integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==, + } + engines: { node: ">=18" } + + isows@1.0.7: + resolution: + { + integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==, + } + peerDependencies: + ws: "*" + + log-symbols@7.0.1: + resolution: + { + integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==, + } + engines: { node: ">=18" } + + magic-string@0.30.21: + resolution: + { + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } + + mimic-function@5.0.1: + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: ">=18" } + + minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + mlkem@2.5.0: + resolution: + { + integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==, + } + engines: { node: ">=16.0.0" } + + nanoid@3.3.11: + resolution: + { + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + + neo-async@2.6.2: + resolution: + { + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, + } + + obug@2.1.1: + resolution: + { + integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==, + } + + onetime@7.0.0: + resolution: + { + integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, + } + engines: { node: ">=18" } + + ora@9.3.0: + resolution: + { + integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==, + } + engines: { node: ">=20" } + + ox@0.12.1: + resolution: + { + integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==, + } + peerDependencies: + typescript: ">=5.4.0" + peerDependenciesMeta: + typescript: + optional: true + + pathe@2.0.3: + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } + + picocolors@1.1.1: + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } + + picomatch@4.0.3: + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: ">=12" } + + postcss@8.5.6: + resolution: + { + integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, + } + engines: { node: ^10 || ^12 || >=14 } + + prettier@3.8.1: + resolution: + { + integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==, + } + engines: { node: ">=14" } + hasBin: true + + require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + + restore-cursor@5.1.0: + resolution: + { + integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, + } + engines: { node: ">=18" } + + rollup@4.57.1: + resolution: + { + integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + + siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + + signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + + smoldot@2.0.40: + resolution: + { + integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==, + } + + source-map-js@1.2.1: + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: ">=0.10.0" } + + source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + + stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + + std-env@3.10.0: + resolution: + { + integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, + } + + stdin-discarder@0.3.1: + resolution: + { + integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==, + } + engines: { node: ">=18" } + + string-width@4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } + + string-width@8.1.1: + resolution: + { + integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==, + } + engines: { node: ">=20" } + + strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + + strip-ansi@7.1.2: + resolution: + { + integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==, + } + engines: { node: ">=12" } + + tinybench@2.9.0: + resolution: + { + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, + } + + tinyexec@1.0.2: + resolution: + { + integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==, + } + engines: { node: ">=18" } + + tinyglobby@0.2.15: + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: ">=12.0.0" } + + tinyrainbow@3.0.3: + resolution: + { + integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==, + } + engines: { node: ">=14.0.0" } + + tslib@2.8.1: + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } + + uglify-js@3.19.3: + resolution: + { + integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==, + } + engines: { node: ">=0.8.0" } + hasBin: true + + undici-types@7.16.0: + resolution: + { + integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, + } + + viem@2.46.1: + resolution: + { + integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==, + } + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + + vite@7.3.1: + resolution: + { + integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } + hasBin: true + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.0.18: + resolution: + { + integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==, + } + engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.0.18 + "@vitest/browser-preview": 4.0.18 + "@vitest/browser-webdriverio": 4.0.18 + "@vitest/ui": 4.0.18 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@opentelemetry/api": + optional: true + "@types/node": + optional: true + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + why-is-node-running@2.3.0: + resolution: + { + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + } + engines: { node: ">=8" } + hasBin: true + + wordwrap@1.0.0: + resolution: + { + integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, + } + + wrap-ansi@7.0.0: + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } + + ws@8.18.3: + resolution: + { + integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==, + } + engines: { node: ">=10.0.0" } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.19.0: + resolution: + { + integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==, + } + engines: { node: ">=10.0.0" } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + + yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + + yargs@17.7.2: + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: ">=12" } + + yoctocolors@2.1.2: + resolution: + { + integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==, + } + engines: { node: ">=18" } + +snapshots: + "@adraffy/ens-normalize@1.11.1": {} + + "@dedot/api@1.0.4": + dependencies: + "@dedot/codecs": 1.0.4 + "@dedot/providers": 1.0.4 + "@dedot/runtime-specs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/storage": 1.0.4 + "@dedot/types": 1.0.4 + "@dedot/utils": 1.0.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + "@dedot/chaintypes@0.234.0(dedot@1.0.4)": + dependencies: + dedot: 1.0.4 + + "@dedot/cli@1.0.4": + dependencies: + "@dedot/api": 1.0.4 + "@dedot/codecs": 1.0.4 + "@dedot/codegen": 1.0.4 + "@dedot/wasm": 0.1.0 + "@polkadot/types-support": 16.5.4 + ora: 9.3.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + "@dedot/codecs@1.0.4": + dependencies: + "@dedot/shape": 1.0.4 + "@dedot/utils": 1.0.4 + + "@dedot/codegen@1.0.4": + dependencies: + "@dedot/api": 1.0.4 + "@dedot/codecs": 1.0.4 + "@dedot/contracts": 1.0.4 + "@dedot/providers": 1.0.4 + "@dedot/runtime-specs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/types": 1.0.4 + "@dedot/utils": 1.0.4 + handlebars: 4.7.8 + prettier: 3.8.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + "@dedot/contracts@1.0.4": + dependencies: + "@dedot/api": 1.0.4 + "@dedot/codecs": 1.0.4 + "@dedot/types": 1.0.4 + "@dedot/utils": 1.0.4 + viem: 2.46.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + "@dedot/merkleized-metadata@1.0.4": + dependencies: + "@dedot/codecs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/utils": 1.0.4 + + "@dedot/providers@1.0.4": + dependencies: + "@dedot/utils": 1.0.4 + "@polkadot/x-ws": 14.0.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + "@dedot/runtime-specs@1.0.4": + dependencies: + "@dedot/codecs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/types": 1.0.4 + + "@dedot/shape@1.0.4": + dependencies: + "@dedot/utils": 1.0.4 + deshape: 0.1.0 + + "@dedot/smoldot@1.0.4": + dependencies: + smoldot: 2.0.40 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + "@dedot/storage@1.0.4": {} + + "@dedot/types@1.0.4": + dependencies: + "@dedot/codecs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/utils": 1.0.4 + + "@dedot/utils@1.0.4": + dependencies: + "@noble/hashes": 1.8.0 + "@scure/base": 1.2.6 + eventemitter3: 5.0.4 + + "@dedot/wasm@0.1.0": {} + + "@esbuild/aix-ppc64@0.27.3": + optional: true + + "@esbuild/android-arm64@0.27.3": + optional: true + + "@esbuild/android-arm@0.27.3": + optional: true + + "@esbuild/android-x64@0.27.3": + optional: true + + "@esbuild/darwin-arm64@0.27.3": + optional: true + + "@esbuild/darwin-x64@0.27.3": + optional: true + + "@esbuild/freebsd-arm64@0.27.3": + optional: true + + "@esbuild/freebsd-x64@0.27.3": + optional: true + + "@esbuild/linux-arm64@0.27.3": + optional: true + + "@esbuild/linux-arm@0.27.3": + optional: true + + "@esbuild/linux-ia32@0.27.3": + optional: true + + "@esbuild/linux-loong64@0.27.3": + optional: true + + "@esbuild/linux-mips64el@0.27.3": + optional: true + + "@esbuild/linux-ppc64@0.27.3": + optional: true + + "@esbuild/linux-riscv64@0.27.3": + optional: true + + "@esbuild/linux-s390x@0.27.3": + optional: true + + "@esbuild/linux-x64@0.27.3": + optional: true + + "@esbuild/netbsd-arm64@0.27.3": + optional: true + + "@esbuild/netbsd-x64@0.27.3": + optional: true + + "@esbuild/openbsd-arm64@0.27.3": + optional: true + + "@esbuild/openbsd-x64@0.27.3": + optional: true + + "@esbuild/openharmony-arm64@0.27.3": + optional: true + + "@esbuild/sunos-x64@0.27.3": + optional: true + + "@esbuild/win32-arm64@0.27.3": + optional: true + + "@esbuild/win32-ia32@0.27.3": + optional: true + + "@esbuild/win32-x64@0.27.3": + optional: true + + "@jridgewell/sourcemap-codec@1.5.5": {} + + "@noble/ciphers@1.3.0": {} + + "@noble/ciphers@2.1.1": {} + + "@noble/curves@1.9.1": + dependencies: + "@noble/hashes": 1.8.0 + + "@noble/curves@1.9.7": + dependencies: + "@noble/hashes": 1.8.0 + + "@noble/hashes@1.8.0": {} + + "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/networks@14.0.1": + dependencies: + "@polkadot/util": 14.0.1 + "@substrate/ss58-registry": 1.51.0 + tslib: 2.8.1 + + "@polkadot/types-support@16.5.4": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + "@polkadot/networks": 14.0.1 + "@polkadot/util": 14.0.1 + "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@scure/base": 1.2.6 + "@scure/sr25519": 0.2.0 + tslib: 2.8.1 + + "@polkadot/util@14.0.1": + dependencies: + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-global": 14.0.1 + "@polkadot/x-textdecoder": 14.0.1 + "@polkadot/x-textencoder": 14.0.1 + "@types/bn.js": 5.2.0 + bn.js: 5.2.2 + tslib: 2.8.1 + + "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-bigint@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-global@14.0.1": + dependencies: + tslib: 2.8.1 + + "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textdecoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textencoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-ws@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + "@rollup/rollup-android-arm-eabi@4.57.1": + optional: true + + "@rollup/rollup-android-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-x64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-arm64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-x64@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-musl@4.57.1": + optional: true + + "@rollup/rollup-openbsd-x64@4.57.1": + optional: true + + "@rollup/rollup-openharmony-arm64@4.57.1": + optional: true + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-msvc@4.57.1": + optional: true + + "@scure/base@1.2.6": {} + + "@scure/bip32@1.7.0": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + "@scure/base": 1.2.6 + + "@scure/bip39@1.6.0": + dependencies: + "@noble/hashes": 1.8.0 + "@scure/base": 1.2.6 + + "@scure/sr25519@0.2.0": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + + "@standard-schema/spec@1.1.0": {} + + "@substrate/ss58-registry@1.51.0": {} + + "@types/bn.js@5.2.0": + dependencies: + "@types/node": 24.10.13 + + "@types/chai@5.2.3": + dependencies: + "@types/deep-eql": 4.0.2 + assertion-error: 2.0.1 + + "@types/deep-eql@4.0.2": {} + + "@types/estree@1.0.8": {} + + "@types/node@24.10.13": + dependencies: + undici-types: 7.16.0 + + "@vitest/expect@4.0.18": + dependencies: + "@standard-schema/spec": 1.1.0 + "@types/chai": 5.2.3 + "@vitest/spy": 4.0.18 + "@vitest/utils": 4.0.18 + chai: 6.2.2 + tinyrainbow: 3.0.3 + + "@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))": + dependencies: + "@vitest/spy": 4.0.18 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13) + + "@vitest/pretty-format@4.0.18": + dependencies: + tinyrainbow: 3.0.3 + + "@vitest/runner@4.0.18": + dependencies: + "@vitest/utils": 4.0.18 + pathe: 2.0.3 + + "@vitest/snapshot@4.0.18": + dependencies: + "@vitest/pretty-format": 4.0.18 + magic-string: 0.30.21 + pathe: 2.0.3 + + "@vitest/spy@4.0.18": {} + + "@vitest/utils@4.0.18": + dependencies: + "@vitest/pretty-format": 4.0.18 + tinyrainbow: 3.0.3 + + abitype@1.2.3: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + assertion-error@2.0.1: {} + + bn.js@5.2.2: {} + + chai@6.2.2: {} + + chalk@5.6.2: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@3.4.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + dedot@1.0.4: + dependencies: + "@dedot/api": 1.0.4 + "@dedot/cli": 1.0.4 + "@dedot/codecs": 1.0.4 + "@dedot/contracts": 1.0.4 + "@dedot/merkleized-metadata": 1.0.4 + "@dedot/providers": 1.0.4 + "@dedot/runtime-specs": 1.0.4 + "@dedot/shape": 1.0.4 + "@dedot/smoldot": 1.0.4 + "@dedot/types": 1.0.4 + "@dedot/utils": 1.0.4 + smoldot: 2.0.40 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + deshape@0.1.0: {} + + emoji-regex@8.0.0: {} + + es-module-lexer@1.7.0: {} + + esbuild@0.27.3: + optionalDependencies: + "@esbuild/aix-ppc64": 0.27.3 + "@esbuild/android-arm": 0.27.3 + "@esbuild/android-arm64": 0.27.3 + "@esbuild/android-x64": 0.27.3 + "@esbuild/darwin-arm64": 0.27.3 + "@esbuild/darwin-x64": 0.27.3 + "@esbuild/freebsd-arm64": 0.27.3 + "@esbuild/freebsd-x64": 0.27.3 + "@esbuild/linux-arm": 0.27.3 + "@esbuild/linux-arm64": 0.27.3 + "@esbuild/linux-ia32": 0.27.3 + "@esbuild/linux-loong64": 0.27.3 + "@esbuild/linux-mips64el": 0.27.3 + "@esbuild/linux-ppc64": 0.27.3 + "@esbuild/linux-riscv64": 0.27.3 + "@esbuild/linux-s390x": 0.27.3 + "@esbuild/linux-x64": 0.27.3 + "@esbuild/netbsd-arm64": 0.27.3 + "@esbuild/netbsd-x64": 0.27.3 + "@esbuild/openbsd-arm64": 0.27.3 + "@esbuild/openbsd-x64": 0.27.3 + "@esbuild/openharmony-arm64": 0.27.3 + "@esbuild/sunos-x64": 0.27.3 + "@esbuild/win32-arm64": 0.27.3 + "@esbuild/win32-ia32": 0.27.3 + "@esbuild/win32-x64": 0.27.3 + + escalade@3.2.0: {} + + estree-walker@3.0.3: + dependencies: + "@types/estree": 1.0.8 + + eventemitter3@5.0.1: {} + + eventemitter3@5.0.4: {} + + expect-type@1.3.0: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fsevents@2.3.3: + optional: true + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.4.0: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + is-fullwidth-code-point@3.0.0: {} + + is-interactive@2.0.0: {} + + is-unicode-supported@2.1.0: {} + + isows@1.0.7(ws@8.18.3): + dependencies: + ws: 8.18.3 + + log-symbols@7.0.1: + dependencies: + is-unicode-supported: 2.1.0 + yoctocolors: 2.1.2 + + magic-string@0.30.21: + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + + mimic-function@5.0.1: {} + + minimist@1.2.8: {} + + mlkem@2.5.0: {} + + nanoid@3.3.11: {} + + neo-async@2.6.2: {} + + obug@2.1.1: {} + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + ora@9.3.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 3.4.0 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 7.0.1 + stdin-discarder: 0.3.1 + string-width: 8.1.1 + + ox@0.12.1: + dependencies: + "@adraffy/ens-normalize": 1.11.1 + "@noble/ciphers": 1.3.0 + "@noble/curves": 1.9.1 + "@noble/hashes": 1.8.0 + "@scure/bip32": 1.7.0 + "@scure/bip39": 1.6.0 + abitype: 1.2.3 + eventemitter3: 5.0.1 + transitivePeerDependencies: + - zod + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@4.0.3: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prettier@3.8.1: {} + + require-directory@2.1.1: {} + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + rollup@4.57.1: + dependencies: + "@types/estree": 1.0.8 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.57.1 + "@rollup/rollup-android-arm64": 4.57.1 + "@rollup/rollup-darwin-arm64": 4.57.1 + "@rollup/rollup-darwin-x64": 4.57.1 + "@rollup/rollup-freebsd-arm64": 4.57.1 + "@rollup/rollup-freebsd-x64": 4.57.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 + "@rollup/rollup-linux-arm-musleabihf": 4.57.1 + "@rollup/rollup-linux-arm64-gnu": 4.57.1 + "@rollup/rollup-linux-arm64-musl": 4.57.1 + "@rollup/rollup-linux-loong64-gnu": 4.57.1 + "@rollup/rollup-linux-loong64-musl": 4.57.1 + "@rollup/rollup-linux-ppc64-gnu": 4.57.1 + "@rollup/rollup-linux-ppc64-musl": 4.57.1 + "@rollup/rollup-linux-riscv64-gnu": 4.57.1 + "@rollup/rollup-linux-riscv64-musl": 4.57.1 + "@rollup/rollup-linux-s390x-gnu": 4.57.1 + "@rollup/rollup-linux-x64-gnu": 4.57.1 + "@rollup/rollup-linux-x64-musl": 4.57.1 + "@rollup/rollup-openbsd-x64": 4.57.1 + "@rollup/rollup-openharmony-arm64": 4.57.1 + "@rollup/rollup-win32-arm64-msvc": 4.57.1 + "@rollup/rollup-win32-ia32-msvc": 4.57.1 + "@rollup/rollup-win32-x64-gnu": 4.57.1 + "@rollup/rollup-win32-x64-msvc": 4.57.1 + fsevents: 2.3.3 + + siginfo@2.0.0: {} + + signal-exit@4.1.0: {} + + smoldot@2.0.40: + dependencies: + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + source-map-js@1.2.1: {} + + source-map@0.6.1: {} + + stackback@0.0.2: {} + + std-env@3.10.0: {} + + stdin-discarder@0.3.1: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@8.1.1: + dependencies: + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + tinybench@2.9.0: {} + + tinyexec@1.0.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyrainbow@3.0.3: {} + + tslib@2.8.1: {} + + uglify-js@3.19.3: + optional: true + + undici-types@7.16.0: {} + + viem@2.46.1: + dependencies: + "@noble/curves": 1.9.1 + "@noble/hashes": 1.8.0 + "@scure/bip32": 1.7.0 + "@scure/bip39": 1.6.0 + abitype: 1.2.3 + isows: 1.0.7(ws@8.18.3) + ox: 0.12.1 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + vite@7.3.1(@types/node@24.10.13): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.57.1 + tinyglobby: 0.2.15 + optionalDependencies: + "@types/node": 24.10.13 + fsevents: 2.3.3 + + vitest@4.0.18(@types/node@24.10.13): + dependencies: + "@vitest/expect": 4.0.18 + "@vitest/mocker": 4.0.18(vite@7.3.1(@types/node@24.10.13)) + "@vitest/pretty-format": 4.0.18 + "@vitest/runner": 4.0.18 + "@vitest/snapshot": 4.0.18 + "@vitest/spy": 4.0.18 + "@vitest/utils": 4.0.18 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@24.10.13) + why-is-node-running: 2.3.0 + optionalDependencies: + "@types/node": 24.10.13 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + ws@8.18.3: {} + + ws@8.19.0: {} + + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yoctocolors@2.1.2: {} diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml new file mode 100644 index 0000000000..1b631da391 --- /dev/null +++ b/e2e/pnpm-workspace.yaml @@ -0,0 +1,15 @@ +packages: + - shared + - shield + +catalog: + "@dedot/chaintypes": "^0.234.0" + "@dedot/cli": "^1.0.4" + "@noble/ciphers": "^2.1.1" + "@polkadot/keyring": "^14.0.1" + "@polkadot/util-crypto": "^14.0.1" + "@types/node": "^24" + "dedot": "^1.0.4" + "mlkem": "^2.5.0" + "prettier": "^3.0.0" + "vitest": "^4.0.0" From 523effda6941d812f309b90940f75fd47766f958 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 16:15:00 -0300 Subject: [PATCH 076/204] added shared e2e package including node utils, chainspec and sequencer --- e2e/shared/chainspec.ts | 191 +++++ e2e/shared/node.ts | 148 ++++ e2e/shared/package.json | 17 + e2e/shared/pnpm-lock.yaml | 1628 +++++++++++++++++++++++++++++++++++++ e2e/shared/sequencer.ts | 21 + e2e/shared/tsconfig.json | 11 + 6 files changed, 2016 insertions(+) create mode 100644 e2e/shared/chainspec.ts create mode 100644 e2e/shared/node.ts create mode 100644 e2e/shared/package.json create mode 100644 e2e/shared/pnpm-lock.yaml create mode 100644 e2e/shared/sequencer.ts create mode 100644 e2e/shared/tsconfig.json diff --git a/e2e/shared/chainspec.ts b/e2e/shared/chainspec.ts new file mode 100644 index 0000000000..514b6c0028 --- /dev/null +++ b/e2e/shared/chainspec.ts @@ -0,0 +1,191 @@ +import { spawn, execFileSync } from "node:child_process"; +import { writeFile, readFile } from "node:fs/promises"; +import { Keyring } from "@polkadot/keyring"; +import { log } from "./node.js"; + +// --------------------------------------------------------------------------- +// Chain spec generation +// --------------------------------------------------------------------------- + +/** + * Generate a raw chain spec. If `patchSpec` is provided, first generates a + * non-raw spec, applies the patch, then converts to raw. This allows adding + * extra authorities, balances, etc. without modifying the Rust chain spec. + */ +export const generateChainSpec = async ( + binaryPath: string, + outputPath: string, + patchSpec?: (spec: any) => void, +) => { + if (!patchSpec) { + return generateRawChainSpec(binaryPath, outputPath, "local"); + } + + // 2-step: generate non-raw → patch → generate raw. + const nonRawPath = outputPath + ".nonraw.json"; + + await new Promise((resolve, reject) => { + const proc = spawn(binaryPath, [ + "build-spec", + "--disable-default-bootnode", + "--chain", + "local", + ]); + const chunks: Buffer[] = []; + proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); + let stderr = ""; + proc.stderr?.on("data", (chunk: Buffer) => { + stderr += chunk.toString(); + }); + proc.on("close", async (code) => { + if (code !== 0) { + reject(new Error(`Failed to generate non-raw chain spec (exit ${code}): ${stderr}`)); + return; + } + await writeFile(nonRawPath, Buffer.concat(chunks)); + resolve(); + }); + proc.on("error", reject); + }); + + const specJson = JSON.parse(await readFile(nonRawPath, "utf-8")); + patchSpec(specJson); + await writeFile(nonRawPath, JSON.stringify(specJson, null, 2)); + + await generateRawChainSpec(binaryPath, outputPath, nonRawPath); +}; + +async function generateRawChainSpec(binaryPath: string, outputPath: string, chain: string) { + return new Promise((resolve, reject) => { + const proc = spawn(binaryPath, [ + "build-spec", + "--disable-default-bootnode", + "--raw", + "--chain", + chain, + ]); + + const chunks: Buffer[] = []; + proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); + + let stderr = ""; + proc.stderr?.on("data", (chunk: Buffer) => { + stderr += chunk.toString(); + }); + + proc.on("close", async (code) => { + if (code !== 0) { + reject(new Error(`Failed to generate chain spec (exit ${code}): ${stderr}`)); + return; + } + const data = Buffer.concat(chunks); + await writeFile(outputPath, data); + log(`Chain spec written to ${outputPath} (${data.length} bytes)`); + resolve(); + }); + + proc.on("error", reject); + }); +} + +// --------------------------------------------------------------------------- +// Chain spec patching helpers (composable) +// --------------------------------------------------------------------------- + +/** + * Extract the genesis runtime patch object from a non-raw chain spec. + * Works with both the `runtimeGenesis.patch` and legacy `runtime` formats. + */ +export function getGenesisPatch(spec: any): any { + const patch = spec.genesis?.runtimeGenesis?.patch ?? spec.genesis?.runtime; + if (!patch) throw new Error("Cannot find genesis patch in chain spec"); + return patch; +} + +/** Add an Aura authority (sr25519 address) to the chain spec. */ +export function addAuraAuthority(patch: any, address: string) { + if (patch.aura?.authorities) { + patch.aura.authorities.push(address); + } +} + +/** Add a GRANDPA authority (ed25519 address, weight) to the chain spec. */ +export function addGrandpaAuthority(patch: any, address: string, weight = 1) { + if (patch.grandpa?.authorities) { + patch.grandpa.authorities.push([address, weight]); + } +} + +/** Add a balance entry to the chain spec. */ +export function addBalance(patch: any, address: string, amount: number | bigint) { + if (patch.balances?.balances) { + patch.balances.balances.push([address, Number(amount)]); + } +} + +// --------------------------------------------------------------------------- +// Authority key helpers +// --------------------------------------------------------------------------- + +export type AuthorityKeys = { + aura: string; + grandpa: string; + account: string; +}; + +/** Derive authority keys (aura sr25519, grandpa ed25519, account) from a seed. */ +export function generateAuthorityKeys(seed: string): AuthorityKeys { + const sr = new Keyring({ type: "sr25519" }); + const ed = new Keyring({ type: "ed25519" }); + return { + aura: sr.addFromUri(`//${seed}`).address, + grandpa: ed.addFromUri(`//${seed}`).address, + account: sr.addFromUri(`//${seed}`).address, + }; +} + +/** + * Convenience: add a full authority (aura + grandpa + funded account) to a + * chain spec genesis patch. Derives keys from the given seed. + */ +export function addAuthority(patch: any, seed: string, balance = 2_000_000_000_000) { + const keys = generateAuthorityKeys(seed); + addAuraAuthority(patch, keys.aura); + addGrandpaAuthority(patch, keys.grandpa); + addBalance(patch, keys.account, balance); +} + +// --------------------------------------------------------------------------- +// Key insertion +// --------------------------------------------------------------------------- + +/** + * Insert Aura (sr25519) and GRANDPA (ed25519) keys into a node's keystore. + * Required for authority nodes that don't have a built-in substrate CLI shortcut. + */ +export const insertKeys = ( + binaryPath: string, + basePath: string, + chainSpec: string, + seed: string, +) => { + const run = (scheme: string, keyType: string) => { + execFileSync(binaryPath, [ + "key", + "insert", + "--base-path", + basePath, + "--chain", + chainSpec, + "--suri", + seed, + "--scheme", + scheme, + "--key-type", + keyType, + ]); + }; + run("sr25519", "aura"); + run("ed25519", "gran"); + log(`Inserted aura+grandpa keys for ${seed} into ${basePath}`); +}; diff --git a/e2e/shared/node.ts b/e2e/shared/node.ts new file mode 100644 index 0000000000..58e5e3f444 --- /dev/null +++ b/e2e/shared/node.ts @@ -0,0 +1,148 @@ +import { spawn, ChildProcess } from "node:child_process"; + +const SECOND = 1000; +const MINUTE = 60 * SECOND; + +// Substrate CLI shortcuts that inject keystore keys automatically. +const SUBSTRATE_SHORTCUTS = new Set([ + "alice", + "bob", + "charlie", + "dave", + "eve", + "ferdie", + "one", + "two", +]); + +export type NodeOptions = { + binaryPath: string; + basePath: string; + name: string; + port: number; + rpcPort: number; + validator: boolean; + chainSpec: string; +}; + +export type Node = { + name: string; + binaryPath: string; + rpcPort: number; + port: number; + process: ChildProcess; +}; + +export const log = (message: string) => console.log(`[${new Date().toISOString()}] ${message}`); + +export const startNode = (opts: NodeOptions): Node => { + const nameArgs = SUBSTRATE_SHORTCUTS.has(opts.name) ? [`--${opts.name}`] : ["--name", opts.name]; + + const process = spawn(opts.binaryPath, [ + ...nameArgs, + ...["--chain", opts.chainSpec], + ...["--base-path", opts.basePath], + ...["--port", opts.port.toString()], + ...["--rpc-port", opts.rpcPort.toString()], + ...(opts.validator ? ["--validator"] : []), + "--rpc-cors=all", + "--allow-private-ipv4", + "--discover-local", + "--unsafe-force-node-key-generation", + ]); + + let lastStderr = ""; + process.stderr?.on("data", (chunk: Buffer) => { + lastStderr = chunk.toString(); + }); + process.on("error", (error) => console.error(`${opts.name} (error): ${error}`)); + process.on("close", (code) => { + if (code !== 0 && code !== null) { + log(`${opts.name}: process crashed with code ${code}. Last stderr: ${lastStderr}`); + } else { + log(`${opts.name}: process closed with code ${code}`); + } + }); + + return { + name: opts.name, + binaryPath: opts.binaryPath, + rpcPort: opts.rpcPort, + port: opts.port, + process, + }; +}; + +export const stop = (node: Node): Promise => { + return new Promise((resolve, reject) => { + node.process.on("close", () => resolve()); + node.process.on("error", reject); + + if (!node.process.kill()) { + reject(new Error(`Failed to stop ${node.name}`)); + } + }); +}; + +export const started = (node: Node, timeout = 60 * SECOND) => { + const errorMessage = `${node.name} failed to start in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + if (data.includes("💤 Idle")) { + log(`${node.name}: started using ${node.binaryPath}`); + ok(); + } + }); +}; + +export const peerCount = (node: Node, expectedPeers: number, timeout = 60 * SECOND) => { + const errorMessage = `${node.name} failed to reach ${expectedPeers} peers in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + const maybePeers = /Idle \((?\d+) peers\)/.exec(data)?.groups?.peers; + if (!maybePeers) return; + + const peers = parseInt(maybePeers); + if (peers >= expectedPeers) { + log(`${node.name}: reached ${expectedPeers} peers`); + ok(); + } + }); +}; + +export const finalizedBlocks = (node: Node, expectedFinalized: number, timeout = 10 * MINUTE) => { + const errorMessage = `${node.name} failed to reach ${expectedFinalized} finalized blocks in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + const maybeFinalized = /finalized #(?\d+)/.exec(data)?.groups?.blocks; + if (!maybeFinalized) return; + + const finalized = parseInt(maybeFinalized); + if (finalized >= expectedFinalized) { + log(`${node.name}: reached ${expectedFinalized} finalized blocks`); + ok(); + } + }); +}; + +export function innerEnsure( + node: Node, + errorMessage: string, + timeout: number, + f: (data: string, ok: () => void) => void, +) { + return new Promise((resolve, reject) => { + const id = setTimeout(() => reject(new Error(errorMessage)), timeout); + + const fn = (chunk: Buffer) => { + const data = chunk.toString(); + f(data, () => { + clearTimeout(id); + node.process.stderr?.off("data", fn); + resolve(); + }); + }; + + node.process.stderr?.on("data", fn); + }); +} diff --git a/e2e/shared/package.json b/e2e/shared/package.json new file mode 100644 index 0000000000..ba281d44eb --- /dev/null +++ b/e2e/shared/package.json @@ -0,0 +1,17 @@ +{ + "name": "e2e-shared", + "version": "1.0.0", + "type": "module", + "exports": { + "./node.js": "./node.ts", + "./chainspec.js": "./chainspec.ts", + "./sequencer.js": "./sequencer.ts" + }, + "dependencies": { + "@polkadot/keyring": "catalog:" + }, + "devDependencies": { + "@types/node": "catalog:", + "vitest": "catalog:" + } +} diff --git a/e2e/shared/pnpm-lock.yaml b/e2e/shared/pnpm-lock.yaml new file mode 100644 index 0000000000..767156e260 --- /dev/null +++ b/e2e/shared/pnpm-lock.yaml @@ -0,0 +1,1628 @@ +lockfileVersion: "9.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + .: + dependencies: + "@polkadot/keyring": + specifier: ^14.0.1 + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + devDependencies: + "@types/node": + specifier: ^24 + version: 24.10.13 + vitest: + specifier: ^3.0.0 + version: 3.2.4(@types/node@24.10.13) + +packages: + "@esbuild/aix-ppc64@0.27.3": + resolution: + { + integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [aix] + + "@esbuild/android-arm64@0.27.3": + resolution: + { + integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [android] + + "@esbuild/android-arm@0.27.3": + resolution: + { + integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [android] + + "@esbuild/android-x64@0.27.3": + resolution: + { + integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [android] + + "@esbuild/darwin-arm64@0.27.3": + resolution: + { + integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [darwin] + + "@esbuild/darwin-x64@0.27.3": + resolution: + { + integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [darwin] + + "@esbuild/freebsd-arm64@0.27.3": + resolution: + { + integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [freebsd] + + "@esbuild/freebsd-x64@0.27.3": + resolution: + { + integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [freebsd] + + "@esbuild/linux-arm64@0.27.3": + resolution: + { + integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [linux] + + "@esbuild/linux-arm@0.27.3": + resolution: + { + integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [linux] + + "@esbuild/linux-ia32@0.27.3": + resolution: + { + integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [linux] + + "@esbuild/linux-loong64@0.27.3": + resolution: + { + integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, + } + engines: { node: ">=18" } + cpu: [loong64] + os: [linux] + + "@esbuild/linux-mips64el@0.27.3": + resolution: + { + integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, + } + engines: { node: ">=18" } + cpu: [mips64el] + os: [linux] + + "@esbuild/linux-ppc64@0.27.3": + resolution: + { + integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [linux] + + "@esbuild/linux-riscv64@0.27.3": + resolution: + { + integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, + } + engines: { node: ">=18" } + cpu: [riscv64] + os: [linux] + + "@esbuild/linux-s390x@0.27.3": + resolution: + { + integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, + } + engines: { node: ">=18" } + cpu: [s390x] + os: [linux] + + "@esbuild/linux-x64@0.27.3": + resolution: + { + integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [linux] + + "@esbuild/netbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [netbsd] + + "@esbuild/netbsd-x64@0.27.3": + resolution: + { + integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [netbsd] + + "@esbuild/openbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openbsd] + + "@esbuild/openbsd-x64@0.27.3": + resolution: + { + integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [openbsd] + + "@esbuild/openharmony-arm64@0.27.3": + resolution: + { + integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openharmony] + + "@esbuild/sunos-x64@0.27.3": + resolution: + { + integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [sunos] + + "@esbuild/win32-arm64@0.27.3": + resolution: + { + integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [win32] + + "@esbuild/win32-ia32@0.27.3": + resolution: + { + integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [win32] + + "@esbuild/win32-x64@0.27.3": + resolution: + { + integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [win32] + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } + + "@noble/curves@1.9.7": + resolution: + { + integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/hashes@1.8.0": + resolution: + { + integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, + } + engines: { node: ^14.21.3 || >=16 } + + "@polkadot/keyring@14.0.1": + resolution: + { + integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1 + + "@polkadot/networks@14.0.1": + resolution: + { + integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, + } + engines: { node: ">=18" } + + "@polkadot/util-crypto@14.0.1": + resolution: + { + integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + + "@polkadot/util@14.0.1": + resolution: + { + integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, + } + engines: { node: ">=18" } + + "@polkadot/wasm-bridge@7.5.4": + resolution: + { + integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-asmjs@7.5.4": + resolution: + { + integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto-init@7.5.4": + resolution: + { + integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-wasm@7.5.4": + resolution: + { + integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto@7.5.4": + resolution: + { + integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-util@7.5.4": + resolution: + { + integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/x-bigint@14.0.1": + resolution: + { + integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, + } + engines: { node: ">=18" } + + "@polkadot/x-global@14.0.1": + resolution: + { + integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, + } + engines: { node: ">=18" } + + "@polkadot/x-randomvalues@14.0.1": + resolution: + { + integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": "*" + + "@polkadot/x-textdecoder@14.0.1": + resolution: + { + integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, + } + engines: { node: ">=18" } + + "@polkadot/x-textencoder@14.0.1": + resolution: + { + integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, + } + engines: { node: ">=18" } + + "@rollup/rollup-android-arm-eabi@4.57.1": + resolution: + { + integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, + } + cpu: [arm] + os: [android] + + "@rollup/rollup-android-arm64@4.57.1": + resolution: + { + integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, + } + cpu: [arm64] + os: [android] + + "@rollup/rollup-darwin-arm64@4.57.1": + resolution: + { + integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, + } + cpu: [arm64] + os: [darwin] + + "@rollup/rollup-darwin-x64@4.57.1": + resolution: + { + integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, + } + cpu: [x64] + os: [darwin] + + "@rollup/rollup-freebsd-arm64@4.57.1": + resolution: + { + integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, + } + cpu: [arm64] + os: [freebsd] + + "@rollup/rollup-freebsd-x64@4.57.1": + resolution: + { + integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, + } + cpu: [x64] + os: [freebsd] + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + resolution: + { + integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, + } + cpu: [arm] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + resolution: + { + integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, + } + cpu: [arm] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + resolution: + { + integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, + } + cpu: [arm64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm64-musl@4.57.1": + resolution: + { + integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, + } + cpu: [arm64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + resolution: + { + integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, + } + cpu: [loong64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-loong64-musl@4.57.1": + resolution: + { + integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, + } + cpu: [loong64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + resolution: + { + integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, + } + cpu: [ppc64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + resolution: + { + integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, + } + cpu: [ppc64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + resolution: + { + integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, + } + cpu: [riscv64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + resolution: + { + integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, + } + cpu: [riscv64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + resolution: + { + integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, + } + cpu: [s390x] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, + } + cpu: [x64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-musl@4.57.1": + resolution: + { + integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, + } + cpu: [x64] + os: [linux] + libc: [musl] + + "@rollup/rollup-openbsd-x64@4.57.1": + resolution: + { + integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, + } + cpu: [x64] + os: [openbsd] + + "@rollup/rollup-openharmony-arm64@4.57.1": + resolution: + { + integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, + } + cpu: [arm64] + os: [openharmony] + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + resolution: + { + integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, + } + cpu: [arm64] + os: [win32] + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + resolution: + { + integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, + } + cpu: [ia32] + os: [win32] + + "@rollup/rollup-win32-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, + } + cpu: [x64] + os: [win32] + + "@rollup/rollup-win32-x64-msvc@4.57.1": + resolution: + { + integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, + } + cpu: [x64] + os: [win32] + + "@scure/base@1.2.6": + resolution: + { + integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, + } + + "@scure/sr25519@0.2.0": + resolution: + { + integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, + } + + "@substrate/ss58-registry@1.51.0": + resolution: + { + integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, + } + + "@types/bn.js@5.2.0": + resolution: + { + integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, + } + + "@types/chai@5.2.3": + resolution: + { + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, + } + + "@types/deep-eql@4.0.2": + resolution: + { + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, + } + + "@types/estree@1.0.8": + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + "@types/node@24.10.13": + resolution: + { + integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, + } + + "@vitest/expect@3.2.4": + resolution: + { + integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==, + } + + "@vitest/mocker@3.2.4": + resolution: + { + integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==, + } + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + "@vitest/pretty-format@3.2.4": + resolution: + { + integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==, + } + + "@vitest/runner@3.2.4": + resolution: + { + integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==, + } + + "@vitest/snapshot@3.2.4": + resolution: + { + integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==, + } + + "@vitest/spy@3.2.4": + resolution: + { + integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==, + } + + "@vitest/utils@3.2.4": + resolution: + { + integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==, + } + + assertion-error@2.0.1: + resolution: + { + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, + } + engines: { node: ">=12" } + + bn.js@5.2.2: + resolution: + { + integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, + } + + cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + + chai@5.3.3: + resolution: + { + integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==, + } + engines: { node: ">=18" } + + check-error@2.1.3: + resolution: + { + integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==, + } + engines: { node: ">= 16" } + + debug@4.4.3: + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + + deep-eql@5.0.2: + resolution: + { + integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==, + } + engines: { node: ">=6" } + + es-module-lexer@1.7.0: + resolution: + { + integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + } + + esbuild@0.27.3: + resolution: + { + integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, + } + engines: { node: ">=18" } + hasBin: true + + estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + + expect-type@1.3.0: + resolution: + { + integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, + } + engines: { node: ">=12.0.0" } + + fdir@6.5.0: + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + js-tokens@9.0.1: + resolution: + { + integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==, + } + + loupe@3.2.1: + resolution: + { + integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==, + } + + magic-string@0.30.21: + resolution: + { + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } + + ms@2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + + nanoid@3.3.11: + resolution: + { + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + + pathe@2.0.3: + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } + + pathval@2.0.1: + resolution: + { + integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==, + } + engines: { node: ">= 14.16" } + + picocolors@1.1.1: + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } + + picomatch@4.0.3: + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: ">=12" } + + postcss@8.5.6: + resolution: + { + integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, + } + engines: { node: ^10 || ^12 || >=14 } + + rollup@4.57.1: + resolution: + { + integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + + siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + + source-map-js@1.2.1: + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: ">=0.10.0" } + + stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + + std-env@3.10.0: + resolution: + { + integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, + } + + strip-literal@3.1.0: + resolution: + { + integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==, + } + + tinybench@2.9.0: + resolution: + { + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, + } + + tinyexec@0.3.2: + resolution: + { + integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, + } + + tinyglobby@0.2.15: + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: ">=12.0.0" } + + tinypool@1.1.1: + resolution: + { + integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + + tinyrainbow@2.0.0: + resolution: + { + integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==, + } + engines: { node: ">=14.0.0" } + + tinyspy@4.0.4: + resolution: + { + integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==, + } + engines: { node: ">=14.0.0" } + + tslib@2.8.1: + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } + + undici-types@7.16.0: + resolution: + { + integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, + } + + vite-node@3.2.4: + resolution: + { + integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, + } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + hasBin: true + + vite@7.3.1: + resolution: + { + integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } + hasBin: true + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@3.2.4: + resolution: + { + integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==, + } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.2.4 + "@vitest/ui": 3.2.4 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/debug": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + why-is-node-running@2.3.0: + resolution: + { + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + } + engines: { node: ">=8" } + hasBin: true + +snapshots: + "@esbuild/aix-ppc64@0.27.3": + optional: true + + "@esbuild/android-arm64@0.27.3": + optional: true + + "@esbuild/android-arm@0.27.3": + optional: true + + "@esbuild/android-x64@0.27.3": + optional: true + + "@esbuild/darwin-arm64@0.27.3": + optional: true + + "@esbuild/darwin-x64@0.27.3": + optional: true + + "@esbuild/freebsd-arm64@0.27.3": + optional: true + + "@esbuild/freebsd-x64@0.27.3": + optional: true + + "@esbuild/linux-arm64@0.27.3": + optional: true + + "@esbuild/linux-arm@0.27.3": + optional: true + + "@esbuild/linux-ia32@0.27.3": + optional: true + + "@esbuild/linux-loong64@0.27.3": + optional: true + + "@esbuild/linux-mips64el@0.27.3": + optional: true + + "@esbuild/linux-ppc64@0.27.3": + optional: true + + "@esbuild/linux-riscv64@0.27.3": + optional: true + + "@esbuild/linux-s390x@0.27.3": + optional: true + + "@esbuild/linux-x64@0.27.3": + optional: true + + "@esbuild/netbsd-arm64@0.27.3": + optional: true + + "@esbuild/netbsd-x64@0.27.3": + optional: true + + "@esbuild/openbsd-arm64@0.27.3": + optional: true + + "@esbuild/openbsd-x64@0.27.3": + optional: true + + "@esbuild/openharmony-arm64@0.27.3": + optional: true + + "@esbuild/sunos-x64@0.27.3": + optional: true + + "@esbuild/win32-arm64@0.27.3": + optional: true + + "@esbuild/win32-ia32@0.27.3": + optional: true + + "@esbuild/win32-x64@0.27.3": + optional: true + + "@jridgewell/sourcemap-codec@1.5.5": {} + + "@noble/curves@1.9.7": + dependencies: + "@noble/hashes": 1.8.0 + + "@noble/hashes@1.8.0": {} + + "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/networks@14.0.1": + dependencies: + "@polkadot/util": 14.0.1 + "@substrate/ss58-registry": 1.51.0 + tslib: 2.8.1 + + "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + "@polkadot/networks": 14.0.1 + "@polkadot/util": 14.0.1 + "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@scure/base": 1.2.6 + "@scure/sr25519": 0.2.0 + tslib: 2.8.1 + + "@polkadot/util@14.0.1": + dependencies: + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-global": 14.0.1 + "@polkadot/x-textdecoder": 14.0.1 + "@polkadot/x-textencoder": 14.0.1 + "@types/bn.js": 5.2.0 + bn.js: 5.2.2 + tslib: 2.8.1 + + "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-bigint@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-global@14.0.1": + dependencies: + tslib: 2.8.1 + + "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textdecoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textencoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@rollup/rollup-android-arm-eabi@4.57.1": + optional: true + + "@rollup/rollup-android-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-x64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-arm64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-x64@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-musl@4.57.1": + optional: true + + "@rollup/rollup-openbsd-x64@4.57.1": + optional: true + + "@rollup/rollup-openharmony-arm64@4.57.1": + optional: true + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-msvc@4.57.1": + optional: true + + "@scure/base@1.2.6": {} + + "@scure/sr25519@0.2.0": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + + "@substrate/ss58-registry@1.51.0": {} + + "@types/bn.js@5.2.0": + dependencies: + "@types/node": 24.10.13 + + "@types/chai@5.2.3": + dependencies: + "@types/deep-eql": 4.0.2 + assertion-error: 2.0.1 + + "@types/deep-eql@4.0.2": {} + + "@types/estree@1.0.8": {} + + "@types/node@24.10.13": + dependencies: + undici-types: 7.16.0 + + "@vitest/expect@3.2.4": + dependencies: + "@types/chai": 5.2.3 + "@vitest/spy": 3.2.4 + "@vitest/utils": 3.2.4 + chai: 5.3.3 + tinyrainbow: 2.0.0 + + "@vitest/mocker@3.2.4(vite@7.3.1(@types/node@24.10.13))": + dependencies: + "@vitest/spy": 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13) + + "@vitest/pretty-format@3.2.4": + dependencies: + tinyrainbow: 2.0.0 + + "@vitest/runner@3.2.4": + dependencies: + "@vitest/utils": 3.2.4 + pathe: 2.0.3 + strip-literal: 3.1.0 + + "@vitest/snapshot@3.2.4": + dependencies: + "@vitest/pretty-format": 3.2.4 + magic-string: 0.30.21 + pathe: 2.0.3 + + "@vitest/spy@3.2.4": + dependencies: + tinyspy: 4.0.4 + + "@vitest/utils@3.2.4": + dependencies: + "@vitest/pretty-format": 3.2.4 + loupe: 3.2.1 + tinyrainbow: 2.0.0 + + assertion-error@2.0.1: {} + + bn.js@5.2.2: {} + + cac@6.7.14: {} + + chai@5.3.3: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.3 + deep-eql: 5.0.2 + loupe: 3.2.1 + pathval: 2.0.1 + + check-error@2.1.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-eql@5.0.2: {} + + es-module-lexer@1.7.0: {} + + esbuild@0.27.3: + optionalDependencies: + "@esbuild/aix-ppc64": 0.27.3 + "@esbuild/android-arm": 0.27.3 + "@esbuild/android-arm64": 0.27.3 + "@esbuild/android-x64": 0.27.3 + "@esbuild/darwin-arm64": 0.27.3 + "@esbuild/darwin-x64": 0.27.3 + "@esbuild/freebsd-arm64": 0.27.3 + "@esbuild/freebsd-x64": 0.27.3 + "@esbuild/linux-arm": 0.27.3 + "@esbuild/linux-arm64": 0.27.3 + "@esbuild/linux-ia32": 0.27.3 + "@esbuild/linux-loong64": 0.27.3 + "@esbuild/linux-mips64el": 0.27.3 + "@esbuild/linux-ppc64": 0.27.3 + "@esbuild/linux-riscv64": 0.27.3 + "@esbuild/linux-s390x": 0.27.3 + "@esbuild/linux-x64": 0.27.3 + "@esbuild/netbsd-arm64": 0.27.3 + "@esbuild/netbsd-x64": 0.27.3 + "@esbuild/openbsd-arm64": 0.27.3 + "@esbuild/openbsd-x64": 0.27.3 + "@esbuild/openharmony-arm64": 0.27.3 + "@esbuild/sunos-x64": 0.27.3 + "@esbuild/win32-arm64": 0.27.3 + "@esbuild/win32-ia32": 0.27.3 + "@esbuild/win32-x64": 0.27.3 + + estree-walker@3.0.3: + dependencies: + "@types/estree": 1.0.8 + + expect-type@1.3.0: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fsevents@2.3.3: + optional: true + + js-tokens@9.0.1: {} + + loupe@3.2.1: {} + + magic-string@0.30.21: + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + pathe@2.0.3: {} + + pathval@2.0.1: {} + + picocolors@1.1.1: {} + + picomatch@4.0.3: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + rollup@4.57.1: + dependencies: + "@types/estree": 1.0.8 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.57.1 + "@rollup/rollup-android-arm64": 4.57.1 + "@rollup/rollup-darwin-arm64": 4.57.1 + "@rollup/rollup-darwin-x64": 4.57.1 + "@rollup/rollup-freebsd-arm64": 4.57.1 + "@rollup/rollup-freebsd-x64": 4.57.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 + "@rollup/rollup-linux-arm-musleabihf": 4.57.1 + "@rollup/rollup-linux-arm64-gnu": 4.57.1 + "@rollup/rollup-linux-arm64-musl": 4.57.1 + "@rollup/rollup-linux-loong64-gnu": 4.57.1 + "@rollup/rollup-linux-loong64-musl": 4.57.1 + "@rollup/rollup-linux-ppc64-gnu": 4.57.1 + "@rollup/rollup-linux-ppc64-musl": 4.57.1 + "@rollup/rollup-linux-riscv64-gnu": 4.57.1 + "@rollup/rollup-linux-riscv64-musl": 4.57.1 + "@rollup/rollup-linux-s390x-gnu": 4.57.1 + "@rollup/rollup-linux-x64-gnu": 4.57.1 + "@rollup/rollup-linux-x64-musl": 4.57.1 + "@rollup/rollup-openbsd-x64": 4.57.1 + "@rollup/rollup-openharmony-arm64": 4.57.1 + "@rollup/rollup-win32-arm64-msvc": 4.57.1 + "@rollup/rollup-win32-ia32-msvc": 4.57.1 + "@rollup/rollup-win32-x64-gnu": 4.57.1 + "@rollup/rollup-win32-x64-msvc": 4.57.1 + fsevents: 2.3.3 + + siginfo@2.0.0: {} + + source-map-js@1.2.1: {} + + stackback@0.0.2: {} + + std-env@3.10.0: {} + + strip-literal@3.1.0: + dependencies: + js-tokens: 9.0.1 + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinypool@1.1.1: {} + + tinyrainbow@2.0.0: {} + + tinyspy@4.0.4: {} + + tslib@2.8.1: {} + + undici-types@7.16.0: {} + + vite-node@3.2.4(@types/node@24.10.13): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 7.3.1(@types/node@24.10.13) + transitivePeerDependencies: + - "@types/node" + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite@7.3.1(@types/node@24.10.13): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.57.1 + tinyglobby: 0.2.15 + optionalDependencies: + "@types/node": 24.10.13 + fsevents: 2.3.3 + + vitest@3.2.4(@types/node@24.10.13): + dependencies: + "@types/chai": 5.2.3 + "@vitest/expect": 3.2.4 + "@vitest/mocker": 3.2.4(vite@7.3.1(@types/node@24.10.13)) + "@vitest/pretty-format": 3.2.4 + "@vitest/runner": 3.2.4 + "@vitest/snapshot": 3.2.4 + "@vitest/spy": 3.2.4 + "@vitest/utils": 3.2.4 + chai: 5.3.3 + debug: 4.4.3 + expect-type: 1.3.0 + magic-string: 0.30.21 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tinypool: 1.1.1 + tinyrainbow: 2.0.0 + vite: 7.3.1(@types/node@24.10.13) + vite-node: 3.2.4(@types/node@24.10.13) + why-is-node-running: 2.3.0 + optionalDependencies: + "@types/node": 24.10.13 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 diff --git a/e2e/shared/sequencer.ts b/e2e/shared/sequencer.ts new file mode 100644 index 0000000000..a87490d89b --- /dev/null +++ b/e2e/shared/sequencer.ts @@ -0,0 +1,21 @@ +import { BaseSequencer } from "vitest/node"; +import type { TestSpecification } from "vitest/node"; + +/** + * Sorts test files alphabetically by their module path. + * + * Vitest's default sequencer orders files by cached duration/failure history, + * which does not respect numeric prefixes (00-, 01-, 02-, ...). This sequencer + * ensures files always run in the order they are named, which matters for + * multi-file suites where later files depend on state set up by earlier ones + * (e.g. a scaling test that adds nodes for subsequent edge-case tests). + */ +export default class AlphabeticalSequencer extends BaseSequencer { + async shard(files: TestSpecification[]): Promise { + return super.shard(files); + } + + async sort(files: TestSpecification[]): Promise { + return files.sort((a, b) => a.moduleId.localeCompare(b.moduleId)); + } +} diff --git a/e2e/shared/tsconfig.json b/e2e/shared/tsconfig.json new file mode 100644 index 0000000000..b4cbbb843b --- /dev/null +++ b/e2e/shared/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "types": ["node"] + } +} From dd2894dde8fadfa8aed60f7ef4cedbde202b4146 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 16:25:43 -0300 Subject: [PATCH 077/204] add helpers to e2e/shared/client --- e2e/pnpm-lock.yaml | 2258 +++++++++++++++------------------------ e2e/pnpm-workspace.yaml | 1 + e2e/shared/client.ts | 30 + e2e/shared/package.json | 6 +- 4 files changed, 885 insertions(+), 1410 deletions(-) create mode 100644 e2e/shared/client.ts diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index 55a948fd84..6e4741d620 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: "9.0" +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -6,22 +6,25 @@ settings: catalogs: default: - "@dedot/chaintypes": + '@dedot/chaintypes': specifier: ^0.234.0 version: 0.234.0 - "@dedot/cli": + '@dedot/cli': specifier: ^1.0.4 version: 1.0.4 - "@noble/ciphers": + '@noble/ciphers': specifier: ^2.1.1 version: 2.1.1 - "@polkadot/keyring": + '@polkadot/keyring': specifier: ^14.0.1 version: 14.0.1 - "@polkadot/util-crypto": + '@polkadot/util': specifier: ^14.0.1 version: 14.0.1 - "@types/node": + '@polkadot/util-crypto': + specifier: ^14.0.1 + version: 14.0.1 + '@types/node': specifier: ^24 version: 24.10.13 dedot: @@ -38,882 +41,581 @@ catalogs: version: 4.0.18 importers: + .: devDependencies: dedot: - specifier: "catalog:" + specifier: 'catalog:' version: 1.0.4 prettier: - specifier: "catalog:" + specifier: 'catalog:' version: 3.8.1 shared: dependencies: - "@polkadot/keyring": - specifier: "catalog:" + '@polkadot/keyring': + specifier: 'catalog:' version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + dedot: + specifier: 'catalog:' + version: 1.0.4 devDependencies: - "@types/node": - specifier: "catalog:" + '@types/node': + specifier: 'catalog:' version: 24.10.13 vitest: - specifier: "catalog:" + specifier: 'catalog:' version: 4.0.18(@types/node@24.10.13) shield: dependencies: - "@noble/ciphers": - specifier: "catalog:" + '@noble/ciphers': + specifier: 'catalog:' version: 2.1.1 - "@polkadot/keyring": - specifier: "catalog:" + '@polkadot/keyring': + specifier: 'catalog:' version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) - "@polkadot/util-crypto": - specifier: "catalog:" + '@polkadot/util': + specifier: 'catalog:' + version: 14.0.1 + '@polkadot/util-crypto': + specifier: 'catalog:' version: 14.0.1(@polkadot/util@14.0.1) dedot: - specifier: "catalog:" + specifier: 'catalog:' version: 1.0.4 e2e-shared: specifier: workspace:* version: link:../shared mlkem: - specifier: "catalog:" + specifier: 'catalog:' version: 2.5.0 devDependencies: - "@dedot/chaintypes": - specifier: "catalog:" + '@dedot/chaintypes': + specifier: 'catalog:' version: 0.234.0(dedot@1.0.4) - "@dedot/cli": - specifier: "catalog:" + '@dedot/cli': + specifier: 'catalog:' version: 1.0.4 - "@types/node": - specifier: "catalog:" + '@types/node': + specifier: 'catalog:' version: 24.10.13 vitest: - specifier: "catalog:" + specifier: 'catalog:' version: 4.0.18(@types/node@24.10.13) packages: - "@adraffy/ens-normalize@1.11.1": - resolution: - { - integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==, - } - - "@dedot/api@1.0.4": - resolution: - { - integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==, - } - engines: { node: ">=18" } - - "@dedot/chaintypes@0.234.0": - resolution: - { - integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==, - } + + '@adraffy/ens-normalize@1.11.1': + resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} + + '@dedot/api@1.0.4': + resolution: {integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==} + engines: {node: '>=18'} + + '@dedot/chaintypes@0.234.0': + resolution: {integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==} peerDependencies: - dedot: ">=1.0.1" - - "@dedot/cli@1.0.4": - resolution: - { - integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==, - } - engines: { node: ">=18" } + dedot: '>=1.0.1' + + '@dedot/cli@1.0.4': + resolution: {integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==} + engines: {node: '>=18'} hasBin: true - "@dedot/codecs@1.0.4": - resolution: - { - integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==, - } - engines: { node: ">=18" } - - "@dedot/codegen@1.0.4": - resolution: - { - integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==, - } - engines: { node: ">=18" } - - "@dedot/contracts@1.0.4": - resolution: - { - integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==, - } - engines: { node: ">=18" } - - "@dedot/merkleized-metadata@1.0.4": - resolution: - { - integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==, - } - engines: { node: ">=18" } - - "@dedot/providers@1.0.4": - resolution: - { - integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==, - } - engines: { node: ">=18" } - - "@dedot/runtime-specs@1.0.4": - resolution: - { - integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==, - } - engines: { node: ">=18" } - - "@dedot/shape@1.0.4": - resolution: - { - integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==, - } - engines: { node: ">=18" } - - "@dedot/smoldot@1.0.4": - resolution: - { - integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==, - } - engines: { node: ">=18" } - - "@dedot/storage@1.0.4": - resolution: - { - integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==, - } - engines: { node: ">=18" } - - "@dedot/types@1.0.4": - resolution: - { - integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==, - } - engines: { node: ">=18" } - - "@dedot/utils@1.0.4": - resolution: - { - integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==, - } - engines: { node: ">=18" } - - "@dedot/wasm@0.1.0": - resolution: - { - integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==, - } - - "@esbuild/aix-ppc64@0.27.3": - resolution: - { - integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, - } - engines: { node: ">=18" } + '@dedot/codecs@1.0.4': + resolution: {integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==} + engines: {node: '>=18'} + + '@dedot/codegen@1.0.4': + resolution: {integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==} + engines: {node: '>=18'} + + '@dedot/contracts@1.0.4': + resolution: {integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==} + engines: {node: '>=18'} + + '@dedot/merkleized-metadata@1.0.4': + resolution: {integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==} + engines: {node: '>=18'} + + '@dedot/providers@1.0.4': + resolution: {integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==} + engines: {node: '>=18'} + + '@dedot/runtime-specs@1.0.4': + resolution: {integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==} + engines: {node: '>=18'} + + '@dedot/shape@1.0.4': + resolution: {integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==} + engines: {node: '>=18'} + + '@dedot/smoldot@1.0.4': + resolution: {integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==} + engines: {node: '>=18'} + + '@dedot/storage@1.0.4': + resolution: {integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==} + engines: {node: '>=18'} + + '@dedot/types@1.0.4': + resolution: {integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==} + engines: {node: '>=18'} + + '@dedot/utils@1.0.4': + resolution: {integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==} + engines: {node: '>=18'} + + '@dedot/wasm@0.1.0': + resolution: {integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==} + + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - "@esbuild/android-arm64@0.27.3": - resolution: - { - integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, - } - engines: { node: ">=18" } + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - "@esbuild/android-arm@0.27.3": - resolution: - { - integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, - } - engines: { node: ">=18" } + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + engines: {node: '>=18'} cpu: [arm] os: [android] - "@esbuild/android-x64@0.27.3": - resolution: - { - integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, - } - engines: { node: ">=18" } + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - "@esbuild/darwin-arm64@0.27.3": - resolution: - { - integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, - } - engines: { node: ">=18" } + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - "@esbuild/darwin-x64@0.27.3": - resolution: - { - integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, - } - engines: { node: ">=18" } + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - "@esbuild/freebsd-arm64@0.27.3": - resolution: - { - integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - "@esbuild/freebsd-x64@0.27.3": - resolution: - { - integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, - } - engines: { node: ">=18" } + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - "@esbuild/linux-arm64@0.27.3": - resolution: - { - integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - "@esbuild/linux-arm@0.27.3": - resolution: - { - integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, - } - engines: { node: ">=18" } + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - "@esbuild/linux-ia32@0.27.3": - resolution: - { - integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, - } - engines: { node: ">=18" } + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - "@esbuild/linux-loong64@0.27.3": - resolution: - { - integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, - } - engines: { node: ">=18" } + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - "@esbuild/linux-mips64el@0.27.3": - resolution: - { - integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, - } - engines: { node: ">=18" } + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - "@esbuild/linux-ppc64@0.27.3": - resolution: - { - integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, - } - engines: { node: ">=18" } + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - "@esbuild/linux-riscv64@0.27.3": - resolution: - { - integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, - } - engines: { node: ">=18" } + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - "@esbuild/linux-s390x@0.27.3": - resolution: - { - integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, - } - engines: { node: ">=18" } + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - "@esbuild/linux-x64@0.27.3": - resolution: - { - integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, - } - engines: { node: ">=18" } + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - "@esbuild/netbsd-arm64@0.27.3": - resolution: - { - integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} + engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - "@esbuild/netbsd-x64@0.27.3": - resolution: - { - integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, - } - engines: { node: ">=18" } + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - "@esbuild/openbsd-arm64@0.27.3": - resolution: - { - integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} + engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - "@esbuild/openbsd-x64@0.27.3": - resolution: - { - integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, - } - engines: { node: ">=18" } + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - "@esbuild/openharmony-arm64@0.27.3": - resolution: - { - integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, - } - engines: { node: ">=18" } + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} + engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - "@esbuild/sunos-x64@0.27.3": - resolution: - { - integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, - } - engines: { node: ">=18" } + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - "@esbuild/win32-arm64@0.27.3": - resolution: - { - integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, - } - engines: { node: ">=18" } + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - "@esbuild/win32-ia32@0.27.3": - resolution: - { - integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, - } - engines: { node: ">=18" } + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - "@esbuild/win32-x64@0.27.3": - resolution: - { - integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, - } - engines: { node: ">=18" } + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - "@jridgewell/sourcemap-codec@1.5.5": - resolution: - { - integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, - } - - "@noble/ciphers@1.3.0": - resolution: - { - integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==, - } - engines: { node: ^14.21.3 || >=16 } - - "@noble/ciphers@2.1.1": - resolution: - { - integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==, - } - engines: { node: ">= 20.19.0" } - - "@noble/curves@1.9.1": - resolution: - { - integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==, - } - engines: { node: ^14.21.3 || >=16 } - - "@noble/curves@1.9.7": - resolution: - { - integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, - } - engines: { node: ^14.21.3 || >=16 } - - "@noble/hashes@1.8.0": - resolution: - { - integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, - } - engines: { node: ^14.21.3 || >=16 } - - "@polkadot/keyring@14.0.1": - resolution: - { - integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, - } - engines: { node: ">=18" } + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/ciphers@2.1.1': + resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} + engines: {node: '>= 20.19.0'} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@polkadot/keyring@14.0.1': + resolution: {integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": 14.0.1 - "@polkadot/util-crypto": 14.0.1 - - "@polkadot/networks@14.0.1": - resolution: - { - integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, - } - engines: { node: ">=18" } - - "@polkadot/types-support@16.5.4": - resolution: - { - integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==, - } - engines: { node: ">=18" } - - "@polkadot/util-crypto@14.0.1": - resolution: - { - integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, - } - engines: { node: ">=18" } + '@polkadot/util': 14.0.1 + '@polkadot/util-crypto': 14.0.1 + + '@polkadot/networks@14.0.1': + resolution: {integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==} + engines: {node: '>=18'} + + '@polkadot/types-support@16.5.4': + resolution: {integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==} + engines: {node: '>=18'} + + '@polkadot/util-crypto@14.0.1': + resolution: {integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": 14.0.1 - - "@polkadot/util@14.0.1": - resolution: - { - integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, - } - engines: { node: ">=18" } - - "@polkadot/wasm-bridge@7.5.4": - resolution: - { - integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, - } - engines: { node: ">=18" } + '@polkadot/util': 14.0.1 + + '@polkadot/util@14.0.1': + resolution: {integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==} + engines: {node: '>=18'} + + '@polkadot/wasm-bridge@7.5.4': + resolution: {integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-crypto-asmjs@7.5.4": - resolution: - { - integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-crypto-asmjs@7.5.4': + resolution: {integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - - "@polkadot/wasm-crypto-init@7.5.4": - resolution: - { - integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + + '@polkadot/wasm-crypto-init@7.5.4': + resolution: {integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-crypto-wasm@7.5.4": - resolution: - { - integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-crypto-wasm@7.5.4': + resolution: {integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - - "@polkadot/wasm-crypto@7.5.4": - resolution: - { - integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + + '@polkadot/wasm-crypto@7.5.4': + resolution: {integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-util@7.5.4": - resolution: - { - integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-util@7.5.4': + resolution: {integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": "*" - - "@polkadot/x-bigint@14.0.1": - resolution: - { - integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, - } - engines: { node: ">=18" } - - "@polkadot/x-global@14.0.1": - resolution: - { - integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, - } - engines: { node: ">=18" } - - "@polkadot/x-randomvalues@14.0.1": - resolution: - { - integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, - } - engines: { node: ">=18" } + '@polkadot/util': '*' + + '@polkadot/x-bigint@14.0.1': + resolution: {integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==} + engines: {node: '>=18'} + + '@polkadot/x-global@14.0.1': + resolution: {integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==} + engines: {node: '>=18'} + + '@polkadot/x-randomvalues@14.0.1': + resolution: {integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==} + engines: {node: '>=18'} peerDependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": "*" - - "@polkadot/x-textdecoder@14.0.1": - resolution: - { - integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, - } - engines: { node: ">=18" } - - "@polkadot/x-textencoder@14.0.1": - resolution: - { - integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, - } - engines: { node: ">=18" } - - "@polkadot/x-ws@14.0.1": - resolution: - { - integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==, - } - engines: { node: ">=18" } - - "@rollup/rollup-android-arm-eabi@4.57.1": - resolution: - { - integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, - } + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': '*' + + '@polkadot/x-textdecoder@14.0.1': + resolution: {integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==} + engines: {node: '>=18'} + + '@polkadot/x-textencoder@14.0.1': + resolution: {integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==} + engines: {node: '>=18'} + + '@polkadot/x-ws@14.0.1': + resolution: {integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==} + engines: {node: '>=18'} + + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] os: [android] - "@rollup/rollup-android-arm64@4.57.1": - resolution: - { - integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, - } + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} cpu: [arm64] os: [android] - "@rollup/rollup-darwin-arm64@4.57.1": - resolution: - { - integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, - } + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} cpu: [arm64] os: [darwin] - "@rollup/rollup-darwin-x64@4.57.1": - resolution: - { - integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, - } + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} cpu: [x64] os: [darwin] - "@rollup/rollup-freebsd-arm64@4.57.1": - resolution: - { - integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, - } + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} cpu: [arm64] os: [freebsd] - "@rollup/rollup-freebsd-x64@4.57.1": - resolution: - { - integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, - } + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} cpu: [x64] os: [freebsd] - "@rollup/rollup-linux-arm-gnueabihf@4.57.1": - resolution: - { - integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, - } + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] libc: [glibc] - "@rollup/rollup-linux-arm-musleabihf@4.57.1": - resolution: - { - integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, - } + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] libc: [musl] - "@rollup/rollup-linux-arm64-gnu@4.57.1": - resolution: - { - integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, - } + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-arm64-musl@4.57.1": - resolution: - { - integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, - } + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] libc: [musl] - "@rollup/rollup-linux-loong64-gnu@4.57.1": - resolution: - { - integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, - } + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-loong64-musl@4.57.1": - resolution: - { - integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, - } + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] libc: [musl] - "@rollup/rollup-linux-ppc64-gnu@4.57.1": - resolution: - { - integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, - } + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-ppc64-musl@4.57.1": - resolution: - { - integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, - } + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] libc: [musl] - "@rollup/rollup-linux-riscv64-gnu@4.57.1": - resolution: - { - integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, - } + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-riscv64-musl@4.57.1": - resolution: - { - integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, - } + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] libc: [musl] - "@rollup/rollup-linux-s390x-gnu@4.57.1": - resolution: - { - integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, - } + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] libc: [glibc] - "@rollup/rollup-linux-x64-gnu@4.57.1": - resolution: - { - integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, - } + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] libc: [glibc] - "@rollup/rollup-linux-x64-musl@4.57.1": - resolution: - { - integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, - } + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] libc: [musl] - "@rollup/rollup-openbsd-x64@4.57.1": - resolution: - { - integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, - } + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} cpu: [x64] os: [openbsd] - "@rollup/rollup-openharmony-arm64@4.57.1": - resolution: - { - integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, - } + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} cpu: [arm64] os: [openharmony] - "@rollup/rollup-win32-arm64-msvc@4.57.1": - resolution: - { - integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, - } + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} cpu: [arm64] os: [win32] - "@rollup/rollup-win32-ia32-msvc@4.57.1": - resolution: - { - integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, - } + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} cpu: [ia32] os: [win32] - "@rollup/rollup-win32-x64-gnu@4.57.1": - resolution: - { - integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, - } + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} cpu: [x64] os: [win32] - "@rollup/rollup-win32-x64-msvc@4.57.1": - resolution: - { - integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, - } + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} cpu: [x64] os: [win32] - "@scure/base@1.2.6": - resolution: - { - integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, - } - - "@scure/bip32@1.7.0": - resolution: - { - integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==, - } - - "@scure/bip39@1.6.0": - resolution: - { - integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==, - } - - "@scure/sr25519@0.2.0": - resolution: - { - integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, - } - - "@standard-schema/spec@1.1.0": - resolution: - { - integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, - } - - "@substrate/ss58-registry@1.51.0": - resolution: - { - integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, - } - - "@types/bn.js@5.2.0": - resolution: - { - integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, - } - - "@types/chai@5.2.3": - resolution: - { - integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, - } - - "@types/deep-eql@4.0.2": - resolution: - { - integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, - } - - "@types/estree@1.0.8": - resolution: - { - integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, - } - - "@types/node@24.10.13": - resolution: - { - integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, - } - - "@vitest/expect@4.0.18": - resolution: - { - integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==, - } - - "@vitest/mocker@4.0.18": - resolution: - { - integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==, - } + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.7.0': + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} + + '@scure/bip39@1.6.0': + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + + '@scure/sr25519@0.2.0': + resolution: {integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@substrate/ss58-registry@1.51.0': + resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==} + + '@types/bn.js@5.2.0': + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} + + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -923,43 +625,25 @@ packages: vite: optional: true - "@vitest/pretty-format@4.0.18": - resolution: - { - integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==, - } - - "@vitest/runner@4.0.18": - resolution: - { - integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==, - } - - "@vitest/snapshot@4.0.18": - resolution: - { - integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==, - } - - "@vitest/spy@4.0.18": - resolution: - { - integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==, - } - - "@vitest/utils@4.0.18": - resolution: - { - integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==, - } + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} + + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} abitype@1.2.3: - resolution: - { - integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==, - } + resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} peerDependencies: - typescript: ">=5.0.4" + typescript: '>=5.0.4' zod: ^3.22.0 || ^4.0.0 peerDependenciesMeta: typescript: @@ -968,159 +652,90 @@ packages: optional: true ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-regex@6.2.2: - resolution: - { - integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} assertion-error@2.0.1: - resolution: - { - integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} bn.js@5.2.2: - resolution: - { - integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, - } + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} chai@6.2.2: - resolution: - { - integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} chalk@5.6.2: - resolution: - { - integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} cli-cursor@5.0.0: - resolution: - { - integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} cli-spinners@3.4.0: - resolution: - { - integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==, - } - engines: { node: ">=18.20" } + resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} + engines: {node: '>=18.20'} cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dedot@1.0.4: - resolution: - { - integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==} + engines: {node: '>=18'} hasBin: true deshape@0.1.0: - resolution: - { - integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==, - } + resolution: {integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==} emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} es-module-lexer@1.7.0: - resolution: - { - integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, - } + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} esbuild@0.27.3: - resolution: - { - integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} + engines: {node: '>=18'} hasBin: true escalade@3.2.0: - resolution: - { - integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, - } - engines: { node: ">=6" } + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} eventemitter3@5.0.1: - resolution: - { - integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, - } + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} eventemitter3@5.0.4: - resolution: - { - integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==, - } + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} expect-type@1.3.0: - resolution: - { - integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} fdir@6.5.0: - resolution: - { - integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -1128,357 +743,213 @@ packages: optional: true fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} get-east-asian-width@1.4.0: - resolution: - { - integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} handlebars@4.7.8: - resolution: - { - integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, - } - engines: { node: ">=0.4.7" } + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} hasBin: true is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} is-interactive@2.0.0: - resolution: - { - integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} is-unicode-supported@2.1.0: - resolution: - { - integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} isows@1.0.7: - resolution: - { - integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==, - } + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} peerDependencies: - ws: "*" + ws: '*' log-symbols@7.0.1: - resolution: - { - integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} + engines: {node: '>=18'} magic-string@0.30.21: - resolution: - { - integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, - } + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} mimic-function@5.0.1: - resolution: - { - integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} mlkem@2.5.0: - resolution: - { - integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==, - } - engines: { node: ">=16.0.0" } + resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} + engines: {node: '>=16.0.0'} nanoid@3.3.11: - resolution: - { - integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true neo-async@2.6.2: - resolution: - { - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, - } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} obug@2.1.1: - resolution: - { - integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==, - } + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} onetime@7.0.0: - resolution: - { - integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} ora@9.3.0: - resolution: - { - integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} + engines: {node: '>=20'} ox@0.12.1: - resolution: - { - integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==, - } + resolution: {integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==} peerDependencies: - typescript: ">=5.4.0" + typescript: '>=5.4.0' peerDependenciesMeta: typescript: optional: true pathe@2.0.3: - resolution: - { - integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, - } + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} picocolors@1.1.1: - resolution: - { - integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, - } + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@4.0.3: - resolution: - { - integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} postcss@8.5.6: - resolution: - { - integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} prettier@3.8.1: - resolution: - { - integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} hasBin: true require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} restore-cursor@5.1.0: - resolution: - { - integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} rollup@4.57.1: - resolution: - { - integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} smoldot@2.0.40: - resolution: - { - integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==, - } + resolution: {integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==} source-map-js@1.2.1: - resolution: - { - integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} std-env@3.10.0: - resolution: - { - integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, - } + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} stdin-discarder@0.3.1: - resolution: - { - integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} + engines: {node: '>=18'} string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} string-width@8.1.1: - resolution: - { - integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==, - } - engines: { node: ">=20" } + resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} + engines: {node: '>=20'} strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} strip-ansi@7.1.2: - resolution: - { - integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} tinybench@2.9.0: - resolution: - { - integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, - } + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinyexec@1.0.2: - resolution: - { - integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.15: - resolution: - { - integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, - } - engines: { node: ">=12.0.0" } + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} tinyrainbow@3.0.3: - resolution: - { - integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==, - } - engines: { node: ">=14.0.0" } + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} tslib@2.8.1: - resolution: - { - integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, - } + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} uglify-js@3.19.3: - resolution: - { - integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==, - } - engines: { node: ">=0.8.0" } + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} hasBin: true undici-types@7.16.0: - resolution: - { - integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, - } + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} viem@2.46.1: - resolution: - { - integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==, - } + resolution: {integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==} peerDependencies: - typescript: ">=5.0.4" + typescript: '>=5.0.4' peerDependenciesMeta: typescript: optional: true vite@7.3.1: - resolution: - { - integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - jiti: ">=1.21.0" + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' less: ^4.0.0 lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: ">=0.54.8" + stylus: '>=0.54.8' sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - "@types/node": + '@types/node': optional: true jiti: optional: true @@ -1502,36 +973,33 @@ packages: optional: true vitest@4.0.18: - resolution: - { - integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==, - } - engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: - "@edge-runtime/vm": "*" - "@opentelemetry/api": ^1.9.0 - "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 - "@vitest/browser-playwright": 4.0.18 - "@vitest/browser-preview": 4.0.18 - "@vitest/browser-webdriverio": 4.0.18 - "@vitest/ui": 4.0.18 - happy-dom: "*" - jsdom: "*" + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 + happy-dom: '*' + jsdom: '*' peerDependenciesMeta: - "@edge-runtime/vm": + '@edge-runtime/vm': optional: true - "@opentelemetry/api": + '@opentelemetry/api': optional: true - "@types/node": + '@types/node': optional: true - "@vitest/browser-playwright": + '@vitest/browser-playwright': optional: true - "@vitest/browser-preview": + '@vitest/browser-preview': optional: true - "@vitest/browser-webdriverio": + '@vitest/browser-webdriverio': optional: true - "@vitest/ui": + '@vitest/ui': optional: true happy-dom: optional: true @@ -1539,35 +1007,23 @@ packages: optional: true why-is-node-running@2.3.0: - resolution: - { - integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, - } - engines: { node: ">=8" } + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} hasBin: true wordwrap@1.0.0: - resolution: - { - integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, - } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} ws@8.18.3: - resolution: - { - integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==, - } - engines: { node: ">=10.0.0" } + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -1575,14 +1031,11 @@ packages: optional: true ws@8.19.0: - resolution: - { - integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==, - } - engines: { node: ">=10.0.0" } + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" + utf-8-validate: '>=5.0.2' peerDependenciesMeta: bufferutil: optional: true @@ -1590,60 +1043,49 @@ packages: optional: true y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: ">=12" } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} yoctocolors@2.1.2: - resolution: - { - integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==, - } - engines: { node: ">=18" } + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} snapshots: - "@adraffy/ens-normalize@1.11.1": {} - "@dedot/api@1.0.4": + '@adraffy/ens-normalize@1.11.1': {} + + '@dedot/api@1.0.4': dependencies: - "@dedot/codecs": 1.0.4 - "@dedot/providers": 1.0.4 - "@dedot/runtime-specs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/storage": 1.0.4 - "@dedot/types": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/storage': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 transitivePeerDependencies: - bufferutil - utf-8-validate - "@dedot/chaintypes@0.234.0(dedot@1.0.4)": + '@dedot/chaintypes@0.234.0(dedot@1.0.4)': dependencies: dedot: 1.0.4 - "@dedot/cli@1.0.4": + '@dedot/cli@1.0.4': dependencies: - "@dedot/api": 1.0.4 - "@dedot/codecs": 1.0.4 - "@dedot/codegen": 1.0.4 - "@dedot/wasm": 0.1.0 - "@polkadot/types-support": 16.5.4 + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/codegen': 1.0.4 + '@dedot/wasm': 0.1.0 + '@polkadot/types-support': 16.5.4 ora: 9.3.0 yargs: 17.7.2 transitivePeerDependencies: @@ -1652,21 +1094,21 @@ snapshots: - utf-8-validate - zod - "@dedot/codecs@1.0.4": + '@dedot/codecs@1.0.4': dependencies: - "@dedot/shape": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 - "@dedot/codegen@1.0.4": + '@dedot/codegen@1.0.4': dependencies: - "@dedot/api": 1.0.4 - "@dedot/codecs": 1.0.4 - "@dedot/contracts": 1.0.4 - "@dedot/providers": 1.0.4 - "@dedot/runtime-specs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/types": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/contracts': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 handlebars: 4.7.8 prettier: 3.8.1 transitivePeerDependencies: @@ -1675,12 +1117,12 @@ snapshots: - utf-8-validate - zod - "@dedot/contracts@1.0.4": + '@dedot/contracts@1.0.4': dependencies: - "@dedot/api": 1.0.4 - "@dedot/codecs": 1.0.4 - "@dedot/types": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 viem: 2.46.1 transitivePeerDependencies: - bufferutil @@ -1688,419 +1130,419 @@ snapshots: - utf-8-validate - zod - "@dedot/merkleized-metadata@1.0.4": + '@dedot/merkleized-metadata@1.0.4': dependencies: - "@dedot/codecs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 - "@dedot/providers@1.0.4": + '@dedot/providers@1.0.4': dependencies: - "@dedot/utils": 1.0.4 - "@polkadot/x-ws": 14.0.1 + '@dedot/utils': 1.0.4 + '@polkadot/x-ws': 14.0.1 transitivePeerDependencies: - bufferutil - utf-8-validate - "@dedot/runtime-specs@1.0.4": + '@dedot/runtime-specs@1.0.4': dependencies: - "@dedot/codecs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/types": 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/types': 1.0.4 - "@dedot/shape@1.0.4": + '@dedot/shape@1.0.4': dependencies: - "@dedot/utils": 1.0.4 + '@dedot/utils': 1.0.4 deshape: 0.1.0 - "@dedot/smoldot@1.0.4": + '@dedot/smoldot@1.0.4': dependencies: smoldot: 2.0.40 transitivePeerDependencies: - bufferutil - utf-8-validate - "@dedot/storage@1.0.4": {} + '@dedot/storage@1.0.4': {} - "@dedot/types@1.0.4": + '@dedot/types@1.0.4': dependencies: - "@dedot/codecs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 - "@dedot/utils@1.0.4": + '@dedot/utils@1.0.4': dependencies: - "@noble/hashes": 1.8.0 - "@scure/base": 1.2.6 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 eventemitter3: 5.0.4 - "@dedot/wasm@0.1.0": {} + '@dedot/wasm@0.1.0': {} - "@esbuild/aix-ppc64@0.27.3": + '@esbuild/aix-ppc64@0.27.3': optional: true - "@esbuild/android-arm64@0.27.3": + '@esbuild/android-arm64@0.27.3': optional: true - "@esbuild/android-arm@0.27.3": + '@esbuild/android-arm@0.27.3': optional: true - "@esbuild/android-x64@0.27.3": + '@esbuild/android-x64@0.27.3': optional: true - "@esbuild/darwin-arm64@0.27.3": + '@esbuild/darwin-arm64@0.27.3': optional: true - "@esbuild/darwin-x64@0.27.3": + '@esbuild/darwin-x64@0.27.3': optional: true - "@esbuild/freebsd-arm64@0.27.3": + '@esbuild/freebsd-arm64@0.27.3': optional: true - "@esbuild/freebsd-x64@0.27.3": + '@esbuild/freebsd-x64@0.27.3': optional: true - "@esbuild/linux-arm64@0.27.3": + '@esbuild/linux-arm64@0.27.3': optional: true - "@esbuild/linux-arm@0.27.3": + '@esbuild/linux-arm@0.27.3': optional: true - "@esbuild/linux-ia32@0.27.3": + '@esbuild/linux-ia32@0.27.3': optional: true - "@esbuild/linux-loong64@0.27.3": + '@esbuild/linux-loong64@0.27.3': optional: true - "@esbuild/linux-mips64el@0.27.3": + '@esbuild/linux-mips64el@0.27.3': optional: true - "@esbuild/linux-ppc64@0.27.3": + '@esbuild/linux-ppc64@0.27.3': optional: true - "@esbuild/linux-riscv64@0.27.3": + '@esbuild/linux-riscv64@0.27.3': optional: true - "@esbuild/linux-s390x@0.27.3": + '@esbuild/linux-s390x@0.27.3': optional: true - "@esbuild/linux-x64@0.27.3": + '@esbuild/linux-x64@0.27.3': optional: true - "@esbuild/netbsd-arm64@0.27.3": + '@esbuild/netbsd-arm64@0.27.3': optional: true - "@esbuild/netbsd-x64@0.27.3": + '@esbuild/netbsd-x64@0.27.3': optional: true - "@esbuild/openbsd-arm64@0.27.3": + '@esbuild/openbsd-arm64@0.27.3': optional: true - "@esbuild/openbsd-x64@0.27.3": + '@esbuild/openbsd-x64@0.27.3': optional: true - "@esbuild/openharmony-arm64@0.27.3": + '@esbuild/openharmony-arm64@0.27.3': optional: true - "@esbuild/sunos-x64@0.27.3": + '@esbuild/sunos-x64@0.27.3': optional: true - "@esbuild/win32-arm64@0.27.3": + '@esbuild/win32-arm64@0.27.3': optional: true - "@esbuild/win32-ia32@0.27.3": + '@esbuild/win32-ia32@0.27.3': optional: true - "@esbuild/win32-x64@0.27.3": + '@esbuild/win32-x64@0.27.3': optional: true - "@jridgewell/sourcemap-codec@1.5.5": {} + '@jridgewell/sourcemap-codec@1.5.5': {} - "@noble/ciphers@1.3.0": {} + '@noble/ciphers@1.3.0': {} - "@noble/ciphers@2.1.1": {} + '@noble/ciphers@2.1.1': {} - "@noble/curves@1.9.1": + '@noble/curves@1.9.1': dependencies: - "@noble/hashes": 1.8.0 + '@noble/hashes': 1.8.0 - "@noble/curves@1.9.7": + '@noble/curves@1.9.7': dependencies: - "@noble/hashes": 1.8.0 + '@noble/hashes': 1.8.0 - "@noble/hashes@1.8.0": {} + '@noble/hashes@1.8.0': {} - "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": + '@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) + '@polkadot/util': 14.0.1 + '@polkadot/util-crypto': 14.0.1(@polkadot/util@14.0.1) tslib: 2.8.1 - "@polkadot/networks@14.0.1": + '@polkadot/networks@14.0.1': dependencies: - "@polkadot/util": 14.0.1 - "@substrate/ss58-registry": 1.51.0 + '@polkadot/util': 14.0.1 + '@substrate/ss58-registry': 1.51.0 tslib: 2.8.1 - "@polkadot/types-support@16.5.4": + '@polkadot/types-support@16.5.4': dependencies: - "@polkadot/util": 14.0.1 + '@polkadot/util': 14.0.1 tslib: 2.8.1 - "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": - dependencies: - "@noble/curves": 1.9.7 - "@noble/hashes": 1.8.0 - "@polkadot/networks": 14.0.1 - "@polkadot/util": 14.0.1 - "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-bigint": 14.0.1 - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - "@scure/base": 1.2.6 - "@scure/sr25519": 0.2.0 + '@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)': + dependencies: + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@polkadot/networks': 14.0.1 + '@polkadot/util': 14.0.1 + '@polkadot/wasm-crypto': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-bigint': 14.0.1 + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + '@scure/base': 1.2.6 + '@scure/sr25519': 0.2.0 tslib: 2.8.1 - "@polkadot/util@14.0.1": + '@polkadot/util@14.0.1': dependencies: - "@polkadot/x-bigint": 14.0.1 - "@polkadot/x-global": 14.0.1 - "@polkadot/x-textdecoder": 14.0.1 - "@polkadot/x-textencoder": 14.0.1 - "@types/bn.js": 5.2.0 + '@polkadot/x-bigint': 14.0.1 + '@polkadot/x-global': 14.0.1 + '@polkadot/x-textdecoder': 14.0.1 + '@polkadot/x-textencoder': 14.0.1 + '@types/bn.js': 5.2.0 bn.js: 5.2.2 tslib: 2.8.1 - "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + '@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": + '@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)': dependencies: - "@polkadot/util": 14.0.1 + '@polkadot/util': 14.0.1 tslib: 2.8.1 - "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + '@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + '@polkadot/util': 14.0.1 + '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": + '@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) tslib: 2.8.1 - "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + '@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + '@polkadot/util': 14.0.1 + '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-crypto-init': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": + '@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)': dependencies: - "@polkadot/util": 14.0.1 + '@polkadot/util': 14.0.1 tslib: 2.8.1 - "@polkadot/x-bigint@14.0.1": + '@polkadot/x-bigint@14.0.1': dependencies: - "@polkadot/x-global": 14.0.1 + '@polkadot/x-global': 14.0.1 tslib: 2.8.1 - "@polkadot/x-global@14.0.1": + '@polkadot/x-global@14.0.1': dependencies: tslib: 2.8.1 - "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": + '@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))': dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-global": 14.0.1 + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-global': 14.0.1 tslib: 2.8.1 - "@polkadot/x-textdecoder@14.0.1": + '@polkadot/x-textdecoder@14.0.1': dependencies: - "@polkadot/x-global": 14.0.1 + '@polkadot/x-global': 14.0.1 tslib: 2.8.1 - "@polkadot/x-textencoder@14.0.1": + '@polkadot/x-textencoder@14.0.1': dependencies: - "@polkadot/x-global": 14.0.1 + '@polkadot/x-global': 14.0.1 tslib: 2.8.1 - "@polkadot/x-ws@14.0.1": + '@polkadot/x-ws@14.0.1': dependencies: - "@polkadot/x-global": 14.0.1 + '@polkadot/x-global': 14.0.1 tslib: 2.8.1 ws: 8.19.0 transitivePeerDependencies: - bufferutil - utf-8-validate - "@rollup/rollup-android-arm-eabi@4.57.1": + '@rollup/rollup-android-arm-eabi@4.57.1': optional: true - "@rollup/rollup-android-arm64@4.57.1": + '@rollup/rollup-android-arm64@4.57.1': optional: true - "@rollup/rollup-darwin-arm64@4.57.1": + '@rollup/rollup-darwin-arm64@4.57.1': optional: true - "@rollup/rollup-darwin-x64@4.57.1": + '@rollup/rollup-darwin-x64@4.57.1': optional: true - "@rollup/rollup-freebsd-arm64@4.57.1": + '@rollup/rollup-freebsd-arm64@4.57.1': optional: true - "@rollup/rollup-freebsd-x64@4.57.1": + '@rollup/rollup-freebsd-x64@4.57.1': optional: true - "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': optional: true - "@rollup/rollup-linux-arm-musleabihf@4.57.1": + '@rollup/rollup-linux-arm-musleabihf@4.57.1': optional: true - "@rollup/rollup-linux-arm64-gnu@4.57.1": + '@rollup/rollup-linux-arm64-gnu@4.57.1': optional: true - "@rollup/rollup-linux-arm64-musl@4.57.1": + '@rollup/rollup-linux-arm64-musl@4.57.1': optional: true - "@rollup/rollup-linux-loong64-gnu@4.57.1": + '@rollup/rollup-linux-loong64-gnu@4.57.1': optional: true - "@rollup/rollup-linux-loong64-musl@4.57.1": + '@rollup/rollup-linux-loong64-musl@4.57.1': optional: true - "@rollup/rollup-linux-ppc64-gnu@4.57.1": + '@rollup/rollup-linux-ppc64-gnu@4.57.1': optional: true - "@rollup/rollup-linux-ppc64-musl@4.57.1": + '@rollup/rollup-linux-ppc64-musl@4.57.1': optional: true - "@rollup/rollup-linux-riscv64-gnu@4.57.1": + '@rollup/rollup-linux-riscv64-gnu@4.57.1': optional: true - "@rollup/rollup-linux-riscv64-musl@4.57.1": + '@rollup/rollup-linux-riscv64-musl@4.57.1': optional: true - "@rollup/rollup-linux-s390x-gnu@4.57.1": + '@rollup/rollup-linux-s390x-gnu@4.57.1': optional: true - "@rollup/rollup-linux-x64-gnu@4.57.1": + '@rollup/rollup-linux-x64-gnu@4.57.1': optional: true - "@rollup/rollup-linux-x64-musl@4.57.1": + '@rollup/rollup-linux-x64-musl@4.57.1': optional: true - "@rollup/rollup-openbsd-x64@4.57.1": + '@rollup/rollup-openbsd-x64@4.57.1': optional: true - "@rollup/rollup-openharmony-arm64@4.57.1": + '@rollup/rollup-openharmony-arm64@4.57.1': optional: true - "@rollup/rollup-win32-arm64-msvc@4.57.1": + '@rollup/rollup-win32-arm64-msvc@4.57.1': optional: true - "@rollup/rollup-win32-ia32-msvc@4.57.1": + '@rollup/rollup-win32-ia32-msvc@4.57.1': optional: true - "@rollup/rollup-win32-x64-gnu@4.57.1": + '@rollup/rollup-win32-x64-gnu@4.57.1': optional: true - "@rollup/rollup-win32-x64-msvc@4.57.1": + '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true - "@scure/base@1.2.6": {} + '@scure/base@1.2.6': {} - "@scure/bip32@1.7.0": + '@scure/bip32@1.7.0': dependencies: - "@noble/curves": 1.9.7 - "@noble/hashes": 1.8.0 - "@scure/base": 1.2.6 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 - "@scure/bip39@1.6.0": + '@scure/bip39@1.6.0': dependencies: - "@noble/hashes": 1.8.0 - "@scure/base": 1.2.6 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 - "@scure/sr25519@0.2.0": + '@scure/sr25519@0.2.0': dependencies: - "@noble/curves": 1.9.7 - "@noble/hashes": 1.8.0 + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 - "@standard-schema/spec@1.1.0": {} + '@standard-schema/spec@1.1.0': {} - "@substrate/ss58-registry@1.51.0": {} + '@substrate/ss58-registry@1.51.0': {} - "@types/bn.js@5.2.0": + '@types/bn.js@5.2.0': dependencies: - "@types/node": 24.10.13 + '@types/node': 24.10.13 - "@types/chai@5.2.3": + '@types/chai@5.2.3': dependencies: - "@types/deep-eql": 4.0.2 + '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - "@types/deep-eql@4.0.2": {} + '@types/deep-eql@4.0.2': {} - "@types/estree@1.0.8": {} + '@types/estree@1.0.8': {} - "@types/node@24.10.13": + '@types/node@24.10.13': dependencies: undici-types: 7.16.0 - "@vitest/expect@4.0.18": + '@vitest/expect@4.0.18': dependencies: - "@standard-schema/spec": 1.1.0 - "@types/chai": 5.2.3 - "@vitest/spy": 4.0.18 - "@vitest/utils": 4.0.18 + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 chai: 6.2.2 tinyrainbow: 3.0.3 - "@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))": + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))': dependencies: - "@vitest/spy": 4.0.18 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 7.3.1(@types/node@24.10.13) - "@vitest/pretty-format@4.0.18": + '@vitest/pretty-format@4.0.18': dependencies: tinyrainbow: 3.0.3 - "@vitest/runner@4.0.18": + '@vitest/runner@4.0.18': dependencies: - "@vitest/utils": 4.0.18 + '@vitest/utils': 4.0.18 pathe: 2.0.3 - "@vitest/snapshot@4.0.18": + '@vitest/snapshot@4.0.18': dependencies: - "@vitest/pretty-format": 4.0.18 + '@vitest/pretty-format': 4.0.18 magic-string: 0.30.21 pathe: 2.0.3 - "@vitest/spy@4.0.18": {} + '@vitest/spy@4.0.18': {} - "@vitest/utils@4.0.18": + '@vitest/utils@4.0.18': dependencies: - "@vitest/pretty-format": 4.0.18 + '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 abitype@1.2.3: {} @@ -2141,17 +1583,17 @@ snapshots: dedot@1.0.4: dependencies: - "@dedot/api": 1.0.4 - "@dedot/cli": 1.0.4 - "@dedot/codecs": 1.0.4 - "@dedot/contracts": 1.0.4 - "@dedot/merkleized-metadata": 1.0.4 - "@dedot/providers": 1.0.4 - "@dedot/runtime-specs": 1.0.4 - "@dedot/shape": 1.0.4 - "@dedot/smoldot": 1.0.4 - "@dedot/types": 1.0.4 - "@dedot/utils": 1.0.4 + '@dedot/api': 1.0.4 + '@dedot/cli': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/contracts': 1.0.4 + '@dedot/merkleized-metadata': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/smoldot': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 smoldot: 2.0.40 transitivePeerDependencies: - bufferutil @@ -2167,38 +1609,38 @@ snapshots: esbuild@0.27.3: optionalDependencies: - "@esbuild/aix-ppc64": 0.27.3 - "@esbuild/android-arm": 0.27.3 - "@esbuild/android-arm64": 0.27.3 - "@esbuild/android-x64": 0.27.3 - "@esbuild/darwin-arm64": 0.27.3 - "@esbuild/darwin-x64": 0.27.3 - "@esbuild/freebsd-arm64": 0.27.3 - "@esbuild/freebsd-x64": 0.27.3 - "@esbuild/linux-arm": 0.27.3 - "@esbuild/linux-arm64": 0.27.3 - "@esbuild/linux-ia32": 0.27.3 - "@esbuild/linux-loong64": 0.27.3 - "@esbuild/linux-mips64el": 0.27.3 - "@esbuild/linux-ppc64": 0.27.3 - "@esbuild/linux-riscv64": 0.27.3 - "@esbuild/linux-s390x": 0.27.3 - "@esbuild/linux-x64": 0.27.3 - "@esbuild/netbsd-arm64": 0.27.3 - "@esbuild/netbsd-x64": 0.27.3 - "@esbuild/openbsd-arm64": 0.27.3 - "@esbuild/openbsd-x64": 0.27.3 - "@esbuild/openharmony-arm64": 0.27.3 - "@esbuild/sunos-x64": 0.27.3 - "@esbuild/win32-arm64": 0.27.3 - "@esbuild/win32-ia32": 0.27.3 - "@esbuild/win32-x64": 0.27.3 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} estree-walker@3.0.3: dependencies: - "@types/estree": 1.0.8 + '@types/estree': 1.0.8 eventemitter3@5.0.1: {} @@ -2243,7 +1685,7 @@ snapshots: magic-string@0.30.21: dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 + '@jridgewell/sourcemap-codec': 1.5.5 mimic-function@5.0.1: {} @@ -2274,12 +1716,12 @@ snapshots: ox@0.12.1: dependencies: - "@adraffy/ens-normalize": 1.11.1 - "@noble/ciphers": 1.3.0 - "@noble/curves": 1.9.1 - "@noble/hashes": 1.8.0 - "@scure/bip32": 1.7.0 - "@scure/bip39": 1.6.0 + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 abitype: 1.2.3 eventemitter3: 5.0.1 transitivePeerDependencies: @@ -2308,33 +1750,33 @@ snapshots: rollup@4.57.1: dependencies: - "@types/estree": 1.0.8 + '@types/estree': 1.0.8 optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.57.1 - "@rollup/rollup-android-arm64": 4.57.1 - "@rollup/rollup-darwin-arm64": 4.57.1 - "@rollup/rollup-darwin-x64": 4.57.1 - "@rollup/rollup-freebsd-arm64": 4.57.1 - "@rollup/rollup-freebsd-x64": 4.57.1 - "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 - "@rollup/rollup-linux-arm-musleabihf": 4.57.1 - "@rollup/rollup-linux-arm64-gnu": 4.57.1 - "@rollup/rollup-linux-arm64-musl": 4.57.1 - "@rollup/rollup-linux-loong64-gnu": 4.57.1 - "@rollup/rollup-linux-loong64-musl": 4.57.1 - "@rollup/rollup-linux-ppc64-gnu": 4.57.1 - "@rollup/rollup-linux-ppc64-musl": 4.57.1 - "@rollup/rollup-linux-riscv64-gnu": 4.57.1 - "@rollup/rollup-linux-riscv64-musl": 4.57.1 - "@rollup/rollup-linux-s390x-gnu": 4.57.1 - "@rollup/rollup-linux-x64-gnu": 4.57.1 - "@rollup/rollup-linux-x64-musl": 4.57.1 - "@rollup/rollup-openbsd-x64": 4.57.1 - "@rollup/rollup-openharmony-arm64": 4.57.1 - "@rollup/rollup-win32-arm64-msvc": 4.57.1 - "@rollup/rollup-win32-ia32-msvc": 4.57.1 - "@rollup/rollup-win32-x64-gnu": 4.57.1 - "@rollup/rollup-win32-x64-msvc": 4.57.1 + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 siginfo@2.0.0: {} @@ -2397,10 +1839,10 @@ snapshots: viem@2.46.1: dependencies: - "@noble/curves": 1.9.1 - "@noble/hashes": 1.8.0 - "@scure/bip32": 1.7.0 - "@scure/bip39": 1.6.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 abitype: 1.2.3 isows: 1.0.7(ws@8.18.3) ox: 0.12.1 @@ -2419,18 +1861,18 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - "@types/node": 24.10.13 + '@types/node': 24.10.13 fsevents: 2.3.3 vitest@4.0.18(@types/node@24.10.13): dependencies: - "@vitest/expect": 4.0.18 - "@vitest/mocker": 4.0.18(vite@7.3.1(@types/node@24.10.13)) - "@vitest/pretty-format": 4.0.18 - "@vitest/runner": 4.0.18 - "@vitest/snapshot": 4.0.18 - "@vitest/spy": 4.0.18 - "@vitest/utils": 4.0.18 + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -2445,7 +1887,7 @@ snapshots: vite: 7.3.1(@types/node@24.10.13) why-is-node-running: 2.3.0 optionalDependencies: - "@types/node": 24.10.13 + '@types/node': 24.10.13 transitivePeerDependencies: - jiti - less diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml index 1b631da391..21cf1c3993 100644 --- a/e2e/pnpm-workspace.yaml +++ b/e2e/pnpm-workspace.yaml @@ -7,6 +7,7 @@ catalog: "@dedot/cli": "^1.0.4" "@noble/ciphers": "^2.1.1" "@polkadot/keyring": "^14.0.1" + "@polkadot/util": "^14.0.1" "@polkadot/util-crypto": "^14.0.1" "@types/node": "^24" "dedot": "^1.0.4" diff --git a/e2e/shared/client.ts b/e2e/shared/client.ts new file mode 100644 index 0000000000..f0d4f65914 --- /dev/null +++ b/e2e/shared/client.ts @@ -0,0 +1,30 @@ +import { DedotClient, WsProvider } from "dedot"; +import { Keyring } from "@polkadot/keyring"; +import type { NodeSubtensorApi } from "../node-subtensor/index.js"; + +export const connectClient = async (rpcPort: number): Promise> => { + const provider = new WsProvider(`ws://localhost:${rpcPort}`); + return DedotClient.new(provider); +}; + +export const createKeyring = () => { + return new Keyring({ type: "sr25519" }); +}; + +export const getAccountNonce = async ( + client: { query: { system: { account: (address: string) => Promise<{ nonce: number }> } } }, + address: string, +): Promise => { + const account = await client.query.system.account(address); + return account.nonce; +}; + +export const getBalance = async ( + client: { + query: { system: { account: (address: string) => Promise<{ data: { free: bigint } }> } }; + }, + address: string, +): Promise => { + const account = await client.query.system.account(address); + return account.data.free; +}; diff --git a/e2e/shared/package.json b/e2e/shared/package.json index ba281d44eb..c6df531244 100644 --- a/e2e/shared/package.json +++ b/e2e/shared/package.json @@ -5,10 +5,12 @@ "exports": { "./node.js": "./node.ts", "./chainspec.js": "./chainspec.ts", - "./sequencer.js": "./sequencer.ts" + "./sequencer.js": "./sequencer.ts", + "./client.js": "./client.ts" }, "dependencies": { - "@polkadot/keyring": "catalog:" + "@polkadot/keyring": "catalog:", + "dedot": "catalog:" }, "devDependencies": { "@types/node": "catalog:", From 60afe01c7b9011d3922b5007babde9b65a2c923a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 16:26:57 -0300 Subject: [PATCH 078/204] setup e2e/shield package for mev shields e2e tests --- e2e/shield/.gitignore | 2 + e2e/shield/helpers.ts | 68 +++++++++++++++ e2e/shield/package.json | 23 ++++++ e2e/shield/setup.ts | 159 ++++++++++++++++++++++++++++++++++++ e2e/shield/tsconfig.json | 11 +++ e2e/shield/vitest.config.ts | 16 ++++ 6 files changed, 279 insertions(+) create mode 100644 e2e/shield/.gitignore create mode 100644 e2e/shield/helpers.ts create mode 100644 e2e/shield/package.json create mode 100644 e2e/shield/setup.ts create mode 100644 e2e/shield/tsconfig.json create mode 100644 e2e/shield/vitest.config.ts diff --git a/e2e/shield/.gitignore b/e2e/shield/.gitignore new file mode 100644 index 0000000000..3e6b0f99ff --- /dev/null +++ b/e2e/shield/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +node-subtensor/ diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts new file mode 100644 index 0000000000..9ce7115e5a --- /dev/null +++ b/e2e/shield/helpers.ts @@ -0,0 +1,68 @@ +import { DedotClient } from "dedot"; +import { hexToU8a } from "@polkadot/util"; +import { xchacha20poly1305 } from "@noble/ciphers/chacha.js"; +import { randomBytes } from "@noble/ciphers/utils.js"; +import { MlKem768 } from "mlkem"; +import { xxhashAsU8a } from "@polkadot/util-crypto"; +import type { KeyringPair } from "@polkadot/keyring/types"; +import type { NodeSubtensorApi } from "../node-subtensor/index.js"; + +export { connectClient, createKeyring, getAccountNonce, getBalance } from "e2e-shared/client.js"; + +export const getNextKey = async ( + client: DedotClient, +): Promise => { + const key = await client.query.mevShield.nextKey(); + if (!key) return undefined; + return hexToU8a(key); +}; + +export const getCurrentKey = async ( + client: DedotClient, +): Promise => { + const key = await client.query.mevShield.currentKey(); + if (!key) return undefined; + return hexToU8a(key); +}; + +export const encryptTransaction = async ( + plaintext: Uint8Array, + publicKey: Uint8Array, +): Promise => { + const keyHash = xxhashAsU8a(publicKey, 128); + + const mlKem = new MlKem768(); + const [kemCt, sharedSecret] = await mlKem.encap(publicKey); + + const nonce = randomBytes(24); + const chacha = xchacha20poly1305(sharedSecret, nonce); + const aeadCt = chacha.encrypt(plaintext); + + const kemLenBytes = new Uint8Array(2); + new DataView(kemLenBytes.buffer).setUint16(0, kemCt.length, true); + + return new Uint8Array([...keyHash, ...kemLenBytes, ...kemCt, ...nonce, ...aeadCt]); +}; + +export const submitEncrypted = async ( + client: DedotClient, + signer: KeyringPair, + innerTxBytes: Uint8Array, + publicKey: Uint8Array, + nonce?: number, +) => { + const ciphertext = await encryptTransaction(innerTxBytes, publicKey); + return submitEncryptedRaw(client, signer, ciphertext, nonce); +}; + +export const submitEncryptedRaw = async ( + client: DedotClient, + signer: KeyringPair, + ciphertext: Uint8Array, + nonce?: number, +) => { + const tx = client.tx.mevShield.submitEncrypted(ciphertext); + const signed = await tx.sign(signer, nonce !== undefined ? { nonce } : {}); + + return signed.send().untilFinalized(); +}; diff --git a/e2e/shield/package.json b/e2e/shield/package.json new file mode 100644 index 0000000000..da11f8fbca --- /dev/null +++ b/e2e/shield/package.json @@ -0,0 +1,23 @@ +{ + "name": "e2e-shield", + "version": "1.0.0", + "type": "module", + "scripts": { + "test": "vitest run" + }, + "dependencies": { + "e2e-shared": "workspace:*", + "@noble/ciphers": "catalog:", + "@polkadot/keyring": "catalog:", + "@polkadot/util": "catalog:", + "@polkadot/util-crypto": "catalog:", + "dedot": "catalog:", + "mlkem": "catalog:" + }, + "devDependencies": { + "@dedot/cli": "catalog:", + "@dedot/chaintypes": "catalog:", + "@types/node": "catalog:", + "vitest": "catalog:" + } +} diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts new file mode 100644 index 0000000000..fe48751dce --- /dev/null +++ b/e2e/shield/setup.ts @@ -0,0 +1,159 @@ +import { writeFile, readFile, rm } from "node:fs/promises"; +import { + generateChainSpec, + insertKeys, + getGenesisPatch, + addAuthority, +} from "e2e-shared/chainspec.js"; +import { + startNode, + started, + peerCount, + finalizedBlocks, + stop, + log, + type Node, + type NodeOptions, +} from "e2e-shared/node.js"; + +const CHAIN_SPEC_PATH = "/tmp/e2e-shield-chain-spec.json"; +const STATE_FILE = "/tmp/e2e-shield-nodes.json"; + +export type NetworkState = { + binaryPath: string; + chainSpec: string; + nodes: { name: string; rpcPort: number; port: number; pid: number; basePath: string }[]; +}; + +const nodes: Node[] = []; + +const BINARY_PATH = process.env.BINARY_PATH || "../../target/debug/node-subtensor"; + +// The local chain spec has 2 built-in authorities (One, Two). +// We add "Three" dynamically by patching the chain spec JSON. +const EXTRA_AUTHORITY_SEEDS = ["Three"]; + +type NodeConfig = Omit & { + keySeed?: string; +}; + +const NODE_CONFIGS: NodeConfig[] = [ + { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/e2e-shield-one", validator: true }, + { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/e2e-shield-two", validator: true }, + { + name: "three", + port: 30335, + rpcPort: 9946, + basePath: "/tmp/e2e-shield-three", + validator: true, + keySeed: "//Three", + }, +]; + +export async function setup() { + log(`Setting up ${NODE_CONFIGS.length}-node network for shield E2E tests`); + log(`Binary path: ${BINARY_PATH}`); + + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { + const patch = getGenesisPatch(spec); + for (const seed of EXTRA_AUTHORITY_SEEDS) { + addAuthority(patch, seed); + } + }); + + for (const config of NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + } + + // Insert keys for authority nodes that don't have built-in substrate shortcuts. + for (const config of NODE_CONFIGS) { + if (config.keySeed) { + insertKeys(BINARY_PATH, config.basePath, CHAIN_SPEC_PATH, config.keySeed); + } + } + + for (const config of NODE_CONFIGS) { + const node = startNode({ + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + ...config, + }); + nodes.push(node); + await started(node); + } + + const all = Promise.all.bind(Promise); + + await all(nodes.map((n) => peerCount(n, nodes.length - 1))); + log("All nodes peered"); + + await all(nodes.map((n) => finalizedBlocks(n, 3))); + log("All nodes finalized block 3"); + + const state: NetworkState = { + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + nodes: NODE_CONFIGS.map((c, i) => ({ + name: c.name, + rpcPort: c.rpcPort, + port: c.port, + pid: nodes[i].process.pid!, + basePath: c.basePath, + })), + }; + + await writeFile(STATE_FILE, JSON.stringify(state, null, 2)); + log("Network state written to " + STATE_FILE); +} + +export async function teardown() { + log("Tearing down shield E2E test network"); + + // Read the state file to find ALL nodes (including extras added by scaling tests). + let state: NetworkState | undefined; + try { + const data = await readFile(STATE_FILE, "utf-8"); + state = JSON.parse(data); + } catch {} + + // Stop nodes we have handles to (from globalSetup). + for (const node of nodes) { + try { + await stop(node); + } catch (e) { + log(`Warning: failed to stop ${node.name}: ${e}`); + } + } + + // Kill any extra nodes (added by scaling tests) by PID. + if (state) { + const ownPids = new Set(nodes.map((n) => n.process.pid)); + for (const nodeInfo of state.nodes) { + if (!ownPids.has(nodeInfo.pid)) { + try { + process.kill(nodeInfo.pid, "SIGTERM"); + log(`Killed extra node ${nodeInfo.name} (pid ${nodeInfo.pid})`); + } catch { + // Already dead, ignore. + } + } + } + + // Clean up all base paths. + for (const nodeInfo of state.nodes) { + await rm(nodeInfo.basePath, { recursive: true, force: true }); + } + } + + try { + await rm(STATE_FILE, { force: true }); + await rm(CHAIN_SPEC_PATH, { force: true }); + } catch {} + + log("Teardown complete"); +} + +export async function readNetworkState(): Promise { + const data = await readFile(STATE_FILE, "utf-8"); + return JSON.parse(data); +} diff --git a/e2e/shield/tsconfig.json b/e2e/shield/tsconfig.json new file mode 100644 index 0000000000..c2f86d9e2c --- /dev/null +++ b/e2e/shield/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "types": ["node", "vitest/globals"] + } +} diff --git a/e2e/shield/vitest.config.ts b/e2e/shield/vitest.config.ts new file mode 100644 index 0000000000..d9c2978930 --- /dev/null +++ b/e2e/shield/vitest.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from "vitest/config"; +import AlphabeticalSequencer from "e2e-shared/sequencer.js"; + +export default defineConfig({ + test: { + globals: true, + testTimeout: 120_000, + hookTimeout: 300_000, + fileParallelism: false, + globalSetup: "./setup.ts", + include: ["tests/**/*.test.ts"], + sequence: { + sequencer: AlphabeticalSequencer, + }, + }, +}); From a32d7c3c0ba64dd659e16d189ff9c5403734776a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 20:57:36 -0300 Subject: [PATCH 079/204] added e2e tests for shield --- e2e/shared/client.ts | 65 ++++++++ e2e/shared/node.ts | 11 +- e2e/shield/helpers.ts | 2 - e2e/shield/setup.ts | 8 +- e2e/shield/tests/00-basic.test.ts | 209 +++++++++++++++++++++++++ e2e/shield/tests/01-scaling.test.ts | 109 +++++++++++++ e2e/shield/tests/02-edge-cases.test.ts | 122 +++++++++++++++ e2e/shield/vitest.config.ts | 1 + 8 files changed, 519 insertions(+), 8 deletions(-) create mode 100644 e2e/shield/tests/00-basic.test.ts create mode 100644 e2e/shield/tests/01-scaling.test.ts create mode 100644 e2e/shield/tests/02-edge-cases.test.ts diff --git a/e2e/shared/client.ts b/e2e/shared/client.ts index f0d4f65914..b553f7f3b7 100644 --- a/e2e/shared/client.ts +++ b/e2e/shared/client.ts @@ -1,7 +1,10 @@ import { DedotClient, WsProvider } from "dedot"; import { Keyring } from "@polkadot/keyring"; +import type { KeyringPair } from "@polkadot/keyring/types"; import type { NodeSubtensorApi } from "../node-subtensor/index.js"; +const SECOND = 1000; + export const connectClient = async (rpcPort: number): Promise> => { const provider = new WsProvider(`ws://localhost:${rpcPort}`); return DedotClient.new(provider); @@ -28,3 +31,65 @@ export const getBalance = async ( const account = await client.query.system.account(address); return account.data.free; }; + +export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +/** Polls the chain until `count` new finalized blocks have been produced. */ +export async function waitForFinalizedBlocks( + client: { + rpc: { + chain_getFinalizedHead: () => Promise<`0x${string}`>; + chain_getHeader: (hash: `0x${string}`) => Promise<{ number: number } | undefined>; + }; + }, + count: number, + pollInterval = 1 * SECOND, + timeout = 120 * SECOND, +): Promise { + const startHash = await client.rpc.chain_getFinalizedHead(); + const startHeader = await client.rpc.chain_getHeader(startHash); + const start = startHeader!.number; + const target = start + count; + const deadline = Date.now() + timeout; + + while (Date.now() < deadline) { + await sleep(pollInterval); + const hash = await client.rpc.chain_getFinalizedHead(); + const header = await client.rpc.chain_getHeader(hash); + if (header && header.number >= target) return; + } + + throw new Error( + `Timed out waiting for ${count} finalized blocks (from #${start}, target #${target})`, + ); +} + +type TxStatus = { type: string; value?: { error?: string } }; + +/** Signs, sends, and watches a transaction until one of the given terminal + * status types is observed. If signAndSend itself rejects (e.g. pool + * rejection), the error is wrapped as an Invalid status. */ +export const watchTxStatus = ( + tx: any, + signer: KeyringPair, + options: Record, + terminalTypes: string[], + timeout = 30_000, +): Promise => { + return new Promise((resolve, reject) => { + const timer = setTimeout( + () => reject(new Error(`watchTxStatus timed out waiting for ${terminalTypes.join("/")}`)), + timeout, + ); + + tx.signAndSend(signer, options, (result: { status: TxStatus }) => { + if (terminalTypes.includes(result.status.type)) { + clearTimeout(timer); + resolve(result.status); + } + }).catch((err: unknown) => { + clearTimeout(timer); + resolve({ type: "Invalid", value: { error: String(err) } }); + }); + }); +}; diff --git a/e2e/shared/node.ts b/e2e/shared/node.ts index 58e5e3f444..51b80a0c18 100644 --- a/e2e/shared/node.ts +++ b/e2e/shared/node.ts @@ -38,7 +38,7 @@ export const log = (message: string) => console.log(`[${new Date().toISOString() export const startNode = (opts: NodeOptions): Node => { const nameArgs = SUBSTRATE_SHORTCUTS.has(opts.name) ? [`--${opts.name}`] : ["--name", opts.name]; - const process = spawn(opts.binaryPath, [ + const child = spawn(opts.binaryPath, [ ...nameArgs, ...["--chain", opts.chainSpec], ...["--base-path", opts.basePath], @@ -52,11 +52,11 @@ export const startNode = (opts: NodeOptions): Node => { ]); let lastStderr = ""; - process.stderr?.on("data", (chunk: Buffer) => { + child.stderr?.on("data", (chunk: Buffer) => { lastStderr = chunk.toString(); }); - process.on("error", (error) => console.error(`${opts.name} (error): ${error}`)); - process.on("close", (code) => { + child.on("error", (error) => console.error(`${opts.name} (error): ${error}`)); + child.on("close", (code) => { if (code !== 0 && code !== null) { log(`${opts.name}: process crashed with code ${code}. Last stderr: ${lastStderr}`); } else { @@ -69,7 +69,7 @@ export const startNode = (opts: NodeOptions): Node => { binaryPath: opts.binaryPath, rpcPort: opts.rpcPort, port: opts.port, - process, + process: child, }; }; @@ -146,3 +146,4 @@ export function innerEnsure( node.process.stderr?.on("data", fn); }); } + diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts index 9ce7115e5a..4979d14baf 100644 --- a/e2e/shield/helpers.ts +++ b/e2e/shield/helpers.ts @@ -7,8 +7,6 @@ import { xxhashAsU8a } from "@polkadot/util-crypto"; import type { KeyringPair } from "@polkadot/keyring/types"; import type { NodeSubtensorApi } from "../node-subtensor/index.js"; -export { connectClient, createKeyring, getAccountNonce, getBalance } from "e2e-shared/client.js"; - export const getNextKey = async ( client: DedotClient, ): Promise => { diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index fe48751dce..26974c3faf 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -22,7 +22,13 @@ const STATE_FILE = "/tmp/e2e-shield-nodes.json"; export type NetworkState = { binaryPath: string; chainSpec: string; - nodes: { name: string; rpcPort: number; port: number; pid: number; basePath: string }[]; + nodes: { + name: string; + rpcPort: number; + port: number; + pid: number; + basePath: string; + }[]; }; const nodes: Node[] = []; diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts new file mode 100644 index 0000000000..925cb8e299 --- /dev/null +++ b/e2e/shield/tests/00-basic.test.ts @@ -0,0 +1,209 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, + waitForFinalizedBlocks, + watchTxStatus, +} from "e2e-shared/client.js"; +import { + getNextKey, + getCurrentKey, + encryptTransaction, + submitEncrypted, +} from "../helpers.js"; + +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); + + // Wait for enough finalized blocks so the inherent has had time to run + // and keys have rotated at least once. + await waitForFinalizedBlocks(client, 3); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — key rotation", () => { + it("NextKey and CurrentKey are populated and rotate across blocks", async () => { + const nextKey1 = await getNextKey(client); + expect(nextKey1).toBeDefined(); + expect(nextKey1!.length).toBe(1184); // ML-KEM-768 public key + + const currentKey1 = await getCurrentKey(client); + expect(currentKey1).toBeDefined(); + expect(currentKey1!.length).toBe(1184); + + await waitForFinalizedBlocks(client, 2); + + const nextKey2 = await getNextKey(client); + expect(nextKey2).toBeDefined(); + // Keys should have rotated — nextKey changes each block. + expect(nextKey2).not.toEqual(nextKey1); + + const currentKey2 = await getCurrentKey(client); + expect(currentKey2).toBeDefined(); + expect(currentKey2).not.toEqual(currentKey1); + }); + + it("AuthorKeys stores per-author keys", async () => { + const authorities = await client.query.aura.authorities(); + expect(authorities.length).toBeGreaterThan(0); + + let foundKeys = 0; + for (const authority of authorities) { + const key = await client.query.mevShield.authorKeys(authority); + if (key) foundKeys++; + } + + expect(foundKeys).toBeGreaterThan(0); + }); +}); + +describe("MEV Shield — encrypted transactions", () => { + it("Happy path: wrapper and inner tx are included in the same block", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 10_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + // Verify EncryptedSubmitted event was emitted. + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // The inner transfer should be in the same block as the wrapper. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Failed inner tx: wrapper succeeds but inner transfer has no effect", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + // Encrypt a transfer of more than Alice has. + // The wrapper is valid (correct key_hash, valid encryption), but the + // inner transfer should fail at dispatch with InsufficientBalance. + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 9_000_000_000_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + // The wrapper itself should be finalized successfully. + expect(result.status.type).toBe("Finalized"); + + // The EncryptedSubmitted event should be present (wrapper was valid). + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // The inner transfer failed, so bob's balance should not increase. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); + + it("Malformed ciphertext is rejected at pool level", async () => { + const nonce = await getAccountNonce(client, alice.address); + + // 5 bytes of garbage — not valid ciphertext at all. + const garbage = new Uint8Array([0x01, 0x02, 0x03, 0x04, 0x05]); + + const tx = client.tx.mevShield.submitEncrypted(garbage); + + // Pool validation rejects with FailedShieldedTxParsing (Custom code 23). + const status = await watchTxStatus(tx, alice, { nonce }, ["Invalid"]); + expect(status.type).toBe("Invalid"); + }); + + it("Wrong key hash is not included by the block proposer", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 1_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const ciphertext = await encryptTransaction(innerTx.toU8a(), nextKey!); + + // Tamper the first 16 bytes (key_hash). + const tampered = new Uint8Array(ciphertext); + for (let i = 0; i < 16; i++) tampered[i] = 0xff; + + const tx = client.tx.mevShield.submitEncrypted(tampered); + const signed = await tx.sign(alice, { nonce }); + // Send without waiting — the tx enters the pool but the block + // proposer will skip it because the key_hash doesn't match. + signed.send().catch(() => {}); + + await waitForFinalizedBlocks(client, 3); + + // The inner transfer should NOT have executed. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); + + it("Stale key is not included after rotation", async () => { + const staleKey = await getNextKey(client); + expect(staleKey).toBeDefined(); + + // Wait for enough blocks that the key has rotated past both + // currentKey and nextKey positions. + await waitForFinalizedBlocks(client, 3); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 1_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const ciphertext = await encryptTransaction(innerTx.toU8a(), staleKey!); + + const tx = client.tx.mevShield.submitEncrypted(ciphertext); + const signed = await tx.sign(alice, { nonce }); + // Send without waiting — the block proposer will reject because + // key_hash no longer matches currentKey or nextKey. + signed.send().catch(() => {}); + + await waitForFinalizedBlocks(client, 3); + + // The inner transfer should NOT have executed. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); +}); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts new file mode 100644 index 0000000000..506d4de789 --- /dev/null +++ b/e2e/shield/tests/01-scaling.test.ts @@ -0,0 +1,109 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile, writeFile, rm } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, + waitForFinalizedBlocks, +} from "e2e-shared/client.js"; +import { startNode, started, log } from "e2e-shared/node.js"; +import { getNextKey, submitEncrypted } from "../helpers.js"; + +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); + +// Extra nodes join as non-authority full nodes. +const EXTRA_NODE_CONFIGS = [ + { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/e2e-shield-four" }, + { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/e2e-shield-five" }, + { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/e2e-shield-six" }, +]; + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); + + // Start 3 additional full nodes to scale from 3 → 6. + for (const config of EXTRA_NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + + const node = startNode({ + ...config, + binaryPath: state.binaryPath, + validator: false, + chainSpec: state.chainSpec, + }); + await started(node); + log(`Extra node ${config.name} started`); + + // Track in state file so global teardown can clean up. + state.nodes.push({ + name: config.name, + rpcPort: config.rpcPort, + port: config.port, + pid: node.process.pid!, + basePath: config.basePath, + }); + } + + // Persist updated state for subsequent test files (edge-cases). + await writeFile("/tmp/e2e-shield-nodes.json", JSON.stringify(state, null, 2)); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — 6 node scaling", () => { + it("Network scales to 6 nodes with full peering", async () => { + expect(state.nodes.length).toBe(6); + + // Verify the network is healthy by checking finalization continues. + await waitForFinalizedBlocks(client, 2); + }); + + it("Key rotation continues with more peers", async () => { + const key1 = await getNextKey(client); + expect(key1).toBeDefined(); + + await waitForFinalizedBlocks(client, 2); + + const key2 = await getNextKey(client); + expect(key2).toBeDefined(); + expect(key2!.length).toBe(1184); + }); + + it("Encrypted tx works with 6 nodes", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 5_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); +}); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts new file mode 100644 index 0000000000..8974ef81df --- /dev/null +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -0,0 +1,122 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, +} from "e2e-shared/client.js"; +import { getNextKey, submitEncrypted } from "../helpers.js"; +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); +const charlie = keyring.addFromUri("//Charlie"); + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — edge cases", () => { + it("Multiple encrypted txs in same block", async () => { + // Use different signers to avoid nonce ordering issues between + // the outer wrappers and decrypted inner transactions. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(client, sender.address); + + const innerTx = await client.tx.balances + .transferKeepAlive(charlie.address, amount) + .sign(sender, { nonce: nonce + 1 }); + + txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + } + + // Both should finalize (possibly in different blocks, that's fine). + const results = await Promise.allSettled(txPromises); + + const succeeded = results.filter((r) => r.status === "fulfilled"); + expect(succeeded.length).toBe(senders.length); + + const balanceAfter = await getBalance(client, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Encrypted tx persists across blocks (CurrentKey fallback)", async () => { + // The idea: submit an encrypted tx right at a block boundary. + // Even if the key rotates (NextKey changes), the old key becomes + // CurrentKey, so the extension still accepts it. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 2_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + // Submit and wait for finalization — the tx may land in the next block + // or the one after, where CurrentKey = the old NextKey. + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Valid ciphertext with invalid inner call", async () => { + // Encrypt garbage bytes (not a valid extrinsic) using a valid NextKey. + // The wrapper tx should be included in a block because: + // - The ciphertext is well-formed (key_hash, kem_ct, nonce, aead_ct) + // - The key_hash matches a known key + // But the inner decrypted bytes won't decode as a valid extrinsic, + // so no inner transaction should execute. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + // Garbage "inner transaction" bytes — not a valid extrinsic at all. + const garbageInner = new Uint8Array(64); + for (let i = 0; i < 64; i++) garbageInner[i] = (i * 7 + 13) & 0xff; + + const nonce = await getAccountNonce(client, alice.address); + + const result = await submitEncrypted(client, alice, garbageInner, nextKey!, nonce); + + // The wrapper should be finalized successfully. + expect(result.status.type).toBe("Finalized"); + + // The EncryptedSubmitted event should be emitted for the wrapper. + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // No balance change — the garbage inner call could not have been a valid transfer. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); +}); diff --git a/e2e/shield/vitest.config.ts b/e2e/shield/vitest.config.ts index d9c2978930..f63f00f5c2 100644 --- a/e2e/shield/vitest.config.ts +++ b/e2e/shield/vitest.config.ts @@ -8,6 +8,7 @@ export default defineConfig({ hookTimeout: 300_000, fileParallelism: false, globalSetup: "./setup.ts", + setupFiles: ["./setup.ts"], include: ["tests/**/*.test.ts"], sequence: { sequencer: AlphabeticalSequencer, From 824c1088bd0375c2f30bd57b53907f7b7c1aaabb Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 21:34:28 -0300 Subject: [PATCH 080/204] added missing readmes --- pallets/shield/README.md | 47 ++++++++++++++++++++++++++++++++++++++++ primitives/io/README.md | 32 +++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 pallets/shield/README.md create mode 100644 primitives/io/README.md diff --git a/pallets/shield/README.md b/pallets/shield/README.md new file mode 100644 index 0000000000..6ad5628cf1 --- /dev/null +++ b/pallets/shield/README.md @@ -0,0 +1,47 @@ +# pallet-shield + +FRAME pallet for opt-in, per-block ephemeral-key encrypted transactions (MEV shielding). + +## Overview + +Block authors rotate ML-KEM-768 key pairs every slot via a mandatory inherent. Users encrypt their extrinsics to the next block author's public key, preventing front-running and sandwich attacks. + +### Key rotation + +Each block includes an `announce_next_key` inherent that: + +1. Shifts `NextKey` into `CurrentKey` (so the previous key is still accepted during the transition). +2. Stores the current author's freshly generated public key in `AuthorKeys`. +3. Looks up the *next* author's key from `AuthorKeys` and exposes it as `NextKey`. + +### Encrypted transaction flow + +1. User reads `NextKey` from storage (ML-KEM-768 public key, 1184 bytes). +2. User encrypts a signed extrinsic with ML-KEM-768 + XChaCha20-Poly1305, producing: + + ``` + ciphertext = key_hash(16) || kem_len(2) || kem_ct || nonce(24) || aead_ct + ``` + +3. User submits `submit_encrypted(ciphertext)` signed with their account. +4. The block author decrypts and includes the inner extrinsic in the same block. + +### Transaction extension + +`CheckShieldedTxValidity` validates shielded transactions at two levels: + +- **Pool validation** — rejects malformed ciphertext (unparseable structure). +- **Block building** (`InBlock`) — additionally checks that `key_hash` matches either `CurrentKey` or `NextKey`, rejecting stale or tampered submissions. + +## Storage + +| Item | Description | +|------|-------------| +| `CurrentKey` | Previous block's `NextKey`, kept for one-block grace period | +| `NextKey` | Public key users should encrypt to | +| `AuthorKeys` | Per-authority latest announced public key | + +## Dependencies + +- [`stp-shield`](https://github.com/opentensor/polkadot-sdk) — shared types (`ShieldedTransaction`, `ShieldPublicKey`, `InherentType`) +- [`stp-io`](../../primitives/io) — host functions for ML-KEM decapsulation and AEAD decryption diff --git a/primitives/io/README.md b/primitives/io/README.md new file mode 100644 index 0000000000..84f28e3742 --- /dev/null +++ b/primitives/io/README.md @@ -0,0 +1,32 @@ +# stp-io + +`stp` = **Subtensor Primitive**. + +Host functions that allow the Subtensor runtime (Wasm) to call into the node's native code for operations that cannot run inside the sandbox. + +## Host functions + +### `crypto::mlkem768_decapsulate` + +Decapsulates an ML-KEM-768 ciphertext using the key material held in the node's `ShieldKeystore`. Writes the 32-byte shared secret into the caller-provided buffer. + +### `crypto::aead_decrypt` + +Decrypts an XChaCha20-Poly1305 ciphertext given a 32-byte key, 24-byte nonce, message, and optional AAD. Returns the plaintext bytes. + +## How it fits in + +The runtime cannot perform cryptographic operations directly because the secret keys live on the node side. `stp-io` bridges this gap: + +``` +Runtime (Wasm) Host (native) +───────────── ───────────── +pallet-shield ShieldKeystore + │ │ + ├─ mlkem768_decapsulate ─► ML-KEM decaps + └─ aead_decrypt ─────────► XChaCha20 decrypt +``` + +The host functions are registered via `SubtensorHostFunctions` and accessed through the `ShieldKeystoreExt` externalities extension from [`stp-shield`](https://github.com/opentensor/polkadot-sdk). + +`no_std`-compatible. From 143c30187bc5c38db5d2c0e1c29e5d123e25b9f3 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 18 Feb 2026 21:43:43 -0300 Subject: [PATCH 081/204] move multiple tx in same block tests to basic/scaling --- e2e/shield/tests/00-basic.test.ts | 33 ++++++++++++++++++++++++++ e2e/shield/tests/01-scaling.test.ts | 30 +++++++++++++++++++++++ e2e/shield/tests/02-edge-cases.test.ts | 33 -------------------------- 3 files changed, 63 insertions(+), 33 deletions(-) diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index 925cb8e299..cc1811aec7 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -24,6 +24,7 @@ let state: NetworkState; const keyring = createKeyring(); const alice = keyring.addFromUri("//Alice"); const bob = keyring.addFromUri("//Bob"); +const charlie = keyring.addFromUri("//Charlie"); beforeAll(async () => { const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); @@ -206,4 +207,36 @@ describe("MEV Shield — encrypted transactions", () => { const balanceAfter = await getBalance(client, bob.address); expect(balanceAfter).toBe(balanceBefore); }); + + it("Multiple encrypted txs in same block", async () => { + // Use different signers to avoid nonce ordering issues between + // the outer wrappers and decrypted inner transactions. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(client, sender.address); + + const innerTx = await client.tx.balances + .transferKeepAlive(charlie.address, amount) + .sign(sender, { nonce: nonce + 1 }); + + txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + } + + // Both should finalize (possibly in different blocks, that's fine). + const results = await Promise.allSettled(txPromises); + + const succeeded = results.filter((r) => r.status === "fulfilled"); + expect(succeeded.length).toBe(senders.length); + + const balanceAfter = await getBalance(client, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); }); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts index 506d4de789..9627b9f425 100644 --- a/e2e/shield/tests/01-scaling.test.ts +++ b/e2e/shield/tests/01-scaling.test.ts @@ -19,6 +19,7 @@ let state: NetworkState; const keyring = createKeyring(); const alice = keyring.addFromUri("//Alice"); const bob = keyring.addFromUri("//Bob"); +const charlie = keyring.addFromUri("//Charlie"); // Extra nodes join as non-authority full nodes. const EXTRA_NODE_CONFIGS = [ @@ -106,4 +107,33 @@ describe("MEV Shield — 6 node scaling", () => { const balanceAfter = await getBalance(client, bob.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); + + it("Multiple encrypted txs in same block with 6 nodes", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(client, sender.address); + + const innerTx = await client.tx.balances + .transferKeepAlive(charlie.address, amount) + .sign(sender, { nonce: nonce + 1 }); + + txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + } + + const results = await Promise.allSettled(txPromises); + + const succeeded = results.filter((r) => r.status === "fulfilled"); + expect(succeeded.length).toBe(senders.length); + + const balanceAfter = await getBalance(client, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); }); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts index 8974ef81df..ea6bff86fd 100644 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -16,7 +16,6 @@ let state: NetworkState; const keyring = createKeyring(); const alice = keyring.addFromUri("//Alice"); const bob = keyring.addFromUri("//Bob"); -const charlie = keyring.addFromUri("//Charlie"); beforeAll(async () => { const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); @@ -29,38 +28,6 @@ afterAll(async () => { }); describe("MEV Shield — edge cases", () => { - it("Multiple encrypted txs in same block", async () => { - // Use different signers to avoid nonce ordering issues between - // the outer wrappers and decrypted inner transactions. - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, charlie.address); - - const senders = [alice, bob]; - const amount = 1_000_000_000n; - const txPromises = []; - - for (const sender of senders) { - const nonce = await getAccountNonce(client, sender.address); - - const innerTx = await client.tx.balances - .transferKeepAlive(charlie.address, amount) - .sign(sender, { nonce: nonce + 1 }); - - txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); - } - - // Both should finalize (possibly in different blocks, that's fine). - const results = await Promise.allSettled(txPromises); - - const succeeded = results.filter((r) => r.status === "fulfilled"); - expect(succeeded.length).toBe(senders.length); - - const balanceAfter = await getBalance(client, charlie.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); - it("Encrypted tx persists across blocks (CurrentKey fallback)", async () => { // The idea: submit an encrypted tx right at a block boundary. // Even if the key rotates (NextKey changes), the old key becomes From ba0176afac7a82feec006c0b1f78d162f4ce44b6 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 12:10:06 -0300 Subject: [PATCH 082/204] fix rand crate api changes when upgrading --- Cargo.lock | 50 +++++++++++++++++------- pallets/shield/src/lib.rs | 9 +++++ pallets/subtensor/Cargo.toml | 2 +- pallets/subtensor/src/tests/consensus.rs | 8 ++-- pallets/subtensor/src/tests/epoch.rs | 6 +-- pallets/subtensor/src/tests/math.rs | 10 ++--- pallets/subtensor/src/tests/mock.rs | 14 +------ 7 files changed, 60 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e817d56a10..ccc0ceca1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -54,7 +54,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher 0.4.4", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -2127,7 +2127,18 @@ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher 0.4.4", - "cpufeatures", + "cpufeatures 0.2.17", +] + +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.0", ] [[package]] @@ -2137,7 +2148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20", + "chacha20 0.9.1", "cipher 0.4.4", "poly1305", "zeroize", @@ -2358,7 +2369,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6407bff74dea37e0fa3dc1c1c974e5d46405f0c987bf9997a0762adce71eda6" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "proptest", "serde_core", ] @@ -2496,6 +2507,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "cranelift-bforest" version = "0.95.1" @@ -3509,7 +3529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", @@ -5748,6 +5768,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", + "rand_core 0.10.0", "wasip2", "wasip3", ] @@ -6981,7 +7002,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -13324,7 +13345,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug 0.3.1", "universal-hash", ] @@ -13336,7 +13357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "opaque-debug 0.3.1", "universal-hash", ] @@ -13894,6 +13915,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" dependencies = [ + "chacha20 0.10.0", "getrandom 0.4.1", "rand_core 0.10.0", ] @@ -17369,7 +17391,7 @@ checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.9.0", "opaque-debug 0.3.1", ] @@ -17381,7 +17403,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -17393,7 +17415,7 @@ checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.9.0", "opaque-debug 0.3.1", ] @@ -17405,7 +17427,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.17", "digest 0.10.7", ] @@ -17617,7 +17639,7 @@ dependencies = [ "bip39", "blake2-rfc", "bs58", - "chacha20", + "chacha20 0.9.1", "crossbeam-queue", "derive_more 0.99.20", "ed25519-zebra", @@ -17671,7 +17693,7 @@ dependencies = [ "bip39", "blake2-rfc", "bs58", - "chacha20", + "chacha20 0.9.1", "crossbeam-queue", "derive_more 0.99.20", "ed25519-zebra", diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index cc57706c12..7a632bb9c6 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -285,3 +285,12 @@ pub trait FindAuthors { fn find_current_author() -> Option; fn find_next_author() -> Option; } + +impl FindAuthors for () { + fn find_current_author() -> Option { + None + } + fn find_next_author() -> Option { + None + } +} diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index b7d6f53030..62f203d51a 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -69,7 +69,7 @@ pallet-subtensor-swap.workspace = true sp-version.workspace = true # Substrate sp-tracing.workspace = true -rand.workspace = true +rand = { workspace = true, features = ["thread_rng"] } sp-core.workspace = true sp-std.workspace = true pallet-preimage.workspace = true diff --git a/pallets/subtensor/src/tests/consensus.rs b/pallets/subtensor/src/tests/consensus.rs index 454f41e2cf..dfa4e11f0e 100644 --- a/pallets/subtensor/src/tests/consensus.rs +++ b/pallets/subtensor/src/tests/consensus.rs @@ -9,7 +9,7 @@ use super::mock::*; use crate::*; use frame_support::assert_ok; -use rand::{Rng, SeedableRng, distributions::Uniform, rngs::StdRng, seq::SliceRandom, thread_rng}; +use rand::{RngExt, SeedableRng, distr::Uniform, rngs::StdRng, seq::SliceRandom}; use sp_core::U256; use std::time::Instant; use substrate_fixed::transcendental::{PI, cos, ln, sqrt}; @@ -111,7 +111,7 @@ fn distribute_nodes( } else if interleave == 2 { // random interleaving let mut permuted_uids: Vec = (0..network_n as u16).collect(); - permuted_uids.shuffle(&mut thread_rng()); + permuted_uids.shuffle(&mut rand::rng()); validators = permuted_uids[0..validators_n].into(); servers = permuted_uids[validators_n..network_n].into(); } @@ -207,7 +207,7 @@ fn init_run_epochs( // === Set weights let mut rng = StdRng::seed_from_u64(random_seed); // constant seed so weights over multiple runs are equal - let range = Uniform::new(0, u16::MAX); + let range = Uniform::new(0, u16::MAX).unwrap(); let mut weights: Vec = vec![u16::MAX / n; servers.len()]; for uid in validators { if random_weights { @@ -306,7 +306,7 @@ fn split_graph( let stddev: I32F32 = I32F32::from_num(0.3); let total_stake: I64F64 = I64F64::from_num(21_000_000_000_000_000_u64); let mut rng = StdRng::seed_from_u64(0); // constant seed so weights over multiple runs are equal - let dist = Uniform::new(0, u16::MAX); + let dist = Uniform::new(0, u16::MAX).unwrap(); let mut stake: Vec = vec![0; network_n]; let mut stake_fixed: Vec = vec![zero; network_n]; diff --git a/pallets/subtensor/src/tests/epoch.rs b/pallets/subtensor/src/tests/epoch.rs index 32f754f78d..c6312cc3ff 100644 --- a/pallets/subtensor/src/tests/epoch.rs +++ b/pallets/subtensor/src/tests/epoch.rs @@ -9,7 +9,7 @@ use std::time::Instant; use approx::assert_abs_diff_eq; use frame_support::{assert_err, assert_ok}; -use rand::{Rng, SeedableRng, distributions::Uniform, rngs::StdRng, seq::SliceRandom, thread_rng}; +use rand::{RngExt, SeedableRng, distr::Uniform, rngs::StdRng, seq::SliceRandom}; use sp_core::{Get, U256}; use substrate_fixed::types::I32F32; use subtensor_runtime_common::{AlphaCurrency, NetUidStorageIndex, TaoCurrency}; @@ -104,7 +104,7 @@ fn distribute_nodes( } else if interleave == 2 { // random interleaving let mut permuted_uids: Vec = (0..network_n as u16).collect(); - permuted_uids.shuffle(&mut thread_rng()); + permuted_uids.shuffle(&mut rand::rng()); validators = permuted_uids[0..validators_n].into(); servers = permuted_uids[validators_n..network_n].into(); } @@ -200,7 +200,7 @@ fn init_run_epochs( // === Set weights let mut rng = StdRng::seed_from_u64(random_seed); // constant seed so weights over multiple runs are equal - let range = Uniform::new(0, u16::MAX); + let range = Uniform::new(0, u16::MAX).unwrap(); let mut weights: Vec = vec![u16::MAX / n; servers.len()]; for uid in validators { if random_weights { diff --git a/pallets/subtensor/src/tests/math.rs b/pallets/subtensor/src/tests/math.rs index 6c6636ca68..6591d975b0 100644 --- a/pallets/subtensor/src/tests/math.rs +++ b/pallets/subtensor/src/tests/math.rs @@ -6,7 +6,7 @@ use substrate_fixed::types::{I32F32, I64F64}; use crate::epoch::math::*; -use rand::{Rng, seq::SliceRandom, thread_rng}; +use rand::{RngExt, seq::SliceRandom}; use substrate_fixed::{ transcendental::exp, types::{I96F32, I110F18}, @@ -1437,7 +1437,7 @@ fn test_math_col_clip_sparse() { #[test] fn test_math_weighted_median() { - let mut rng = thread_rng(); + let mut rng = rand::rng(); let zero: I32F32 = fixed(0.); let one: I32F32 = fixed(1.); for _ in 0..100 { @@ -1631,11 +1631,11 @@ fn test_math_weighted_median() { let mut last_score: I32F32 = zero; for i in 0..n { if allow_equal { - match rng.gen_range(0..2) { + match rng.random_range(0..2) { 1 => stake.push(one), _ => stake.push(zero), } - if rng.gen_range(0..2) == 1 { + if rng.random_range(0..2) == 1 { last_score += one } score.push(last_score); @@ -1681,7 +1681,7 @@ fn test_math_weighted_median() { assert!(medians.contains(&result)); for _ in 0..10 { let mut permuted_uids: Vec = (0..n).collect(); - permuted_uids.shuffle(&mut thread_rng()); + permuted_uids.shuffle(&mut rng); stake = permuted_uids.iter().map(|&i| stake[i]).collect(); score = permuted_uids.iter().map(|&i| score[i]).collect(); let result: I32F32 = diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index 7af9420ba3..329cf8b76d 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -587,19 +587,9 @@ impl pallet_aura::Config for Test { type SlotDuration = SlotDuration; } -pub struct TestAuthorityOrigin; - -impl pallet_shield::AuthorityOriginExt for TestAuthorityOrigin { - type AccountId = U256; - - fn ensure_validator(_origin: RuntimeOrigin) -> Result { - Ok(U256::from(0)) - } -} - impl pallet_shield::Config for Test { - type RuntimeCall = RuntimeCall; - type AuthorityOrigin = TestAuthorityOrigin; + type AuthorityId = u64; + type FindAuthors = (); } static TEST_LOGS_INIT: OnceLock<()> = OnceLock::new(); From dc6eb16864f132ca6d4c2eafebd1adeff0d9cd7f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 12:10:35 -0300 Subject: [PATCH 083/204] split E2E into another PR --- e2e/.gitignore | 2 - e2e/.nvmrc | 1 - e2e/.prettierrc | 6 - e2e/bootstrap.sh | 34 - e2e/package.json | 14 - e2e/pnpm-lock.yaml | 1935 ------------------------ e2e/pnpm-workspace.yaml | 16 - e2e/shared/chainspec.ts | 191 --- e2e/shared/client.ts | 95 -- e2e/shared/node.ts | 149 -- e2e/shared/package.json | 19 - e2e/shared/pnpm-lock.yaml | 1628 -------------------- e2e/shared/sequencer.ts | 21 - e2e/shared/tsconfig.json | 11 - e2e/shield/.gitignore | 2 - e2e/shield/helpers.ts | 66 - e2e/shield/package.json | 23 - e2e/shield/setup.ts | 165 -- e2e/shield/tests/00-basic.test.ts | 242 --- e2e/shield/tests/01-scaling.test.ts | 139 -- e2e/shield/tests/02-edge-cases.test.ts | 89 -- e2e/shield/tsconfig.json | 11 - e2e/shield/vitest.config.ts | 17 - 23 files changed, 4876 deletions(-) delete mode 100644 e2e/.gitignore delete mode 100644 e2e/.nvmrc delete mode 100644 e2e/.prettierrc delete mode 100755 e2e/bootstrap.sh delete mode 100644 e2e/package.json delete mode 100644 e2e/pnpm-lock.yaml delete mode 100644 e2e/pnpm-workspace.yaml delete mode 100644 e2e/shared/chainspec.ts delete mode 100644 e2e/shared/client.ts delete mode 100644 e2e/shared/node.ts delete mode 100644 e2e/shared/package.json delete mode 100644 e2e/shared/pnpm-lock.yaml delete mode 100644 e2e/shared/sequencer.ts delete mode 100644 e2e/shared/tsconfig.json delete mode 100644 e2e/shield/.gitignore delete mode 100644 e2e/shield/helpers.ts delete mode 100644 e2e/shield/package.json delete mode 100644 e2e/shield/setup.ts delete mode 100644 e2e/shield/tests/00-basic.test.ts delete mode 100644 e2e/shield/tests/01-scaling.test.ts delete mode 100644 e2e/shield/tests/02-edge-cases.test.ts delete mode 100644 e2e/shield/tsconfig.json delete mode 100644 e2e/shield/vitest.config.ts diff --git a/e2e/.gitignore b/e2e/.gitignore deleted file mode 100644 index f03ed1d657..0000000000 --- a/e2e/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -node-subtensor/ \ No newline at end of file diff --git a/e2e/.nvmrc b/e2e/.nvmrc deleted file mode 100644 index cabf43b5dd..0000000000 --- a/e2e/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -24 \ No newline at end of file diff --git a/e2e/.prettierrc b/e2e/.prettierrc deleted file mode 100644 index 90abee2393..0000000000 --- a/e2e/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "printWidth": 100, - "semi": true, - "singleQuote": false, - "trailingComma": "all" -} diff --git a/e2e/bootstrap.sh b/e2e/bootstrap.sh deleted file mode 100755 index d78646f273..0000000000 --- a/e2e/bootstrap.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -set -e - -MANIFEST="../Cargo.toml" -BINARY="../target/debug/node-subtensor" - -echo "==> Building node-subtensor..." -pnpm build-node - -echo "==> Starting dev node..." -"$BINARY" --one --dev 2>&1 & -NODE_PID=$! -trap "kill $NODE_PID 2>/dev/null; wait $NODE_PID 2>/dev/null" EXIT - -TIMEOUT=60 -ELAPSED=0 - -echo "==> Waiting for node to be ready (timeout: ${TIMEOUT}s)..." -until curl -sf -o /dev/null \ - -H "Content-Type: application/json" \ - -d '{"id":1,"jsonrpc":"2.0","method":"system_health","params":[]}' \ - http://localhost:9944; do - sleep 1 - ELAPSED=$((ELAPSED + 1)) - if [ "$ELAPSED" -ge "$TIMEOUT" ]; then - echo "==> ERROR: Node failed to start within ${TIMEOUT}s" - exit 1 - fi -done - -echo "==> Generating dedot types..." -pnpm generate-types - -echo "==> Done." diff --git a/e2e/package.json b/e2e/package.json deleted file mode 100644 index 23bfadfa91..0000000000 --- a/e2e/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "e2e", - "private": true, - "scripts": { - "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", - "generate-types": "pnpm --package=@dedot/cli dlx dedot chaintypes -w ws://localhost:9944", - "format": "prettier --write .", - "format:check": "prettier --check ." - }, - "devDependencies": { - "dedot": "catalog:", - "prettier": "catalog:" - } -} diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml deleted file mode 100644 index 6e4741d620..0000000000 --- a/e2e/pnpm-lock.yaml +++ /dev/null @@ -1,1935 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -catalogs: - default: - '@dedot/chaintypes': - specifier: ^0.234.0 - version: 0.234.0 - '@dedot/cli': - specifier: ^1.0.4 - version: 1.0.4 - '@noble/ciphers': - specifier: ^2.1.1 - version: 2.1.1 - '@polkadot/keyring': - specifier: ^14.0.1 - version: 14.0.1 - '@polkadot/util': - specifier: ^14.0.1 - version: 14.0.1 - '@polkadot/util-crypto': - specifier: ^14.0.1 - version: 14.0.1 - '@types/node': - specifier: ^24 - version: 24.10.13 - dedot: - specifier: ^1.0.4 - version: 1.0.4 - mlkem: - specifier: ^2.5.0 - version: 2.5.0 - prettier: - specifier: ^3.0.0 - version: 3.8.1 - vitest: - specifier: ^4.0.0 - version: 4.0.18 - -importers: - - .: - devDependencies: - dedot: - specifier: 'catalog:' - version: 1.0.4 - prettier: - specifier: 'catalog:' - version: 3.8.1 - - shared: - dependencies: - '@polkadot/keyring': - specifier: 'catalog:' - version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) - dedot: - specifier: 'catalog:' - version: 1.0.4 - devDependencies: - '@types/node': - specifier: 'catalog:' - version: 24.10.13 - vitest: - specifier: 'catalog:' - version: 4.0.18(@types/node@24.10.13) - - shield: - dependencies: - '@noble/ciphers': - specifier: 'catalog:' - version: 2.1.1 - '@polkadot/keyring': - specifier: 'catalog:' - version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) - '@polkadot/util': - specifier: 'catalog:' - version: 14.0.1 - '@polkadot/util-crypto': - specifier: 'catalog:' - version: 14.0.1(@polkadot/util@14.0.1) - dedot: - specifier: 'catalog:' - version: 1.0.4 - e2e-shared: - specifier: workspace:* - version: link:../shared - mlkem: - specifier: 'catalog:' - version: 2.5.0 - devDependencies: - '@dedot/chaintypes': - specifier: 'catalog:' - version: 0.234.0(dedot@1.0.4) - '@dedot/cli': - specifier: 'catalog:' - version: 1.0.4 - '@types/node': - specifier: 'catalog:' - version: 24.10.13 - vitest: - specifier: 'catalog:' - version: 4.0.18(@types/node@24.10.13) - -packages: - - '@adraffy/ens-normalize@1.11.1': - resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} - - '@dedot/api@1.0.4': - resolution: {integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==} - engines: {node: '>=18'} - - '@dedot/chaintypes@0.234.0': - resolution: {integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==} - peerDependencies: - dedot: '>=1.0.1' - - '@dedot/cli@1.0.4': - resolution: {integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==} - engines: {node: '>=18'} - hasBin: true - - '@dedot/codecs@1.0.4': - resolution: {integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==} - engines: {node: '>=18'} - - '@dedot/codegen@1.0.4': - resolution: {integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==} - engines: {node: '>=18'} - - '@dedot/contracts@1.0.4': - resolution: {integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==} - engines: {node: '>=18'} - - '@dedot/merkleized-metadata@1.0.4': - resolution: {integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==} - engines: {node: '>=18'} - - '@dedot/providers@1.0.4': - resolution: {integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==} - engines: {node: '>=18'} - - '@dedot/runtime-specs@1.0.4': - resolution: {integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==} - engines: {node: '>=18'} - - '@dedot/shape@1.0.4': - resolution: {integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==} - engines: {node: '>=18'} - - '@dedot/smoldot@1.0.4': - resolution: {integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==} - engines: {node: '>=18'} - - '@dedot/storage@1.0.4': - resolution: {integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==} - engines: {node: '>=18'} - - '@dedot/types@1.0.4': - resolution: {integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==} - engines: {node: '>=18'} - - '@dedot/utils@1.0.4': - resolution: {integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==} - engines: {node: '>=18'} - - '@dedot/wasm@0.1.0': - resolution: {integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==} - - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@noble/ciphers@1.3.0': - resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/ciphers@2.1.1': - resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} - engines: {node: '>= 20.19.0'} - - '@noble/curves@1.9.1': - resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@1.9.7': - resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@1.8.0': - resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} - engines: {node: ^14.21.3 || >=16} - - '@polkadot/keyring@14.0.1': - resolution: {integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': 14.0.1 - '@polkadot/util-crypto': 14.0.1 - - '@polkadot/networks@14.0.1': - resolution: {integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==} - engines: {node: '>=18'} - - '@polkadot/types-support@16.5.4': - resolution: {integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==} - engines: {node: '>=18'} - - '@polkadot/util-crypto@14.0.1': - resolution: {integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': 14.0.1 - - '@polkadot/util@14.0.1': - resolution: {integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==} - engines: {node: '>=18'} - - '@polkadot/wasm-bridge@7.5.4': - resolution: {integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-crypto-asmjs@7.5.4': - resolution: {integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - - '@polkadot/wasm-crypto-init@7.5.4': - resolution: {integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-crypto-wasm@7.5.4': - resolution: {integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - - '@polkadot/wasm-crypto@7.5.4': - resolution: {integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-util@7.5.4': - resolution: {integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': '*' - - '@polkadot/x-bigint@14.0.1': - resolution: {integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==} - engines: {node: '>=18'} - - '@polkadot/x-global@14.0.1': - resolution: {integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==} - engines: {node: '>=18'} - - '@polkadot/x-randomvalues@14.0.1': - resolution: {integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==} - engines: {node: '>=18'} - peerDependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': '*' - - '@polkadot/x-textdecoder@14.0.1': - resolution: {integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==} - engines: {node: '>=18'} - - '@polkadot/x-textencoder@14.0.1': - resolution: {integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==} - engines: {node: '>=18'} - - '@polkadot/x-ws@14.0.1': - resolution: {integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==} - engines: {node: '>=18'} - - '@rollup/rollup-android-arm-eabi@4.57.1': - resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.57.1': - resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.57.1': - resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.57.1': - resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.57.1': - resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.57.1': - resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': - resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.57.1': - resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} - cpu: [arm] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-arm64-gnu@4.57.1': - resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm64-musl@4.57.1': - resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loong64-gnu@4.57.1': - resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-loong64-musl@4.57.1': - resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-ppc64-gnu@4.57.1': - resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-musl@4.57.1': - resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} - cpu: [ppc64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-riscv64-gnu@4.57.1': - resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-musl@4.57.1': - resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-s390x-gnu@4.57.1': - resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-gnu@4.57.1': - resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-x64-musl@4.57.1': - resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@rollup/rollup-openbsd-x64@4.57.1': - resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} - cpu: [x64] - os: [openbsd] - - '@rollup/rollup-openharmony-arm64@4.57.1': - resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} - cpu: [arm64] - os: [openharmony] - - '@rollup/rollup-win32-arm64-msvc@4.57.1': - resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.57.1': - resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.57.1': - resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} - cpu: [x64] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.57.1': - resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} - cpu: [x64] - os: [win32] - - '@scure/base@1.2.6': - resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - - '@scure/bip32@1.7.0': - resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} - - '@scure/bip39@1.6.0': - resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} - - '@scure/sr25519@0.2.0': - resolution: {integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==} - - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - - '@substrate/ss58-registry@1.51.0': - resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==} - - '@types/bn.js@5.2.0': - resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} - - '@types/chai@5.2.3': - resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/node@24.10.13': - resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} - - '@vitest/expect@4.0.18': - resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - - '@vitest/mocker@4.0.18': - resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} - peerDependencies: - msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0-0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - - '@vitest/pretty-format@4.0.18': - resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - - '@vitest/runner@4.0.18': - resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - - '@vitest/snapshot@4.0.18': - resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - - '@vitest/spy@4.0.18': - resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - - '@vitest/utils@4.0.18': - resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} - - abitype@1.2.3: - resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} - - chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} - engines: {node: '>=18'} - - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} - - cli-spinners@3.4.0: - resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} - engines: {node: '>=18.20'} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - dedot@1.0.4: - resolution: {integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==} - engines: {node: '>=18'} - hasBin: true - - deshape@0.1.0: - resolution: {integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - - esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} - engines: {node: '>=12.0.0'} - - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} - engines: {node: '>=18'} - - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - - is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} - - isows@1.0.7: - resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} - peerDependencies: - ws: '*' - - log-symbols@7.0.1: - resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} - engines: {node: '>=18'} - - magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - - mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mlkem@2.5.0: - resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} - engines: {node: '>=16.0.0'} - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} - - onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} - - ora@9.3.0: - resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} - engines: {node: '>=20'} - - ox@0.12.1: - resolution: {integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==} - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true - - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} - - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} - hasBin: true - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} - - rollup@4.57.1: - resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - smoldot@2.0.40: - resolution: {integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - - stdin-discarder@0.3.1: - resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} - engines: {node: '>=18'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@8.1.1: - resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} - engines: {node: '>=20'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} - - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - - tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} - - tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} - - tinyrainbow@3.0.3: - resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} - engines: {node: '>=14.0.0'} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - - viem@2.46.1: - resolution: {integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - vite@7.3.1: - resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' - less: ^4.0.0 - lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vitest@4.0.18: - resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.18 - '@vitest/browser-preview': 4.0.18 - '@vitest/browser-webdriverio': 4.0.18 - '@vitest/ui': 4.0.18 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@opentelemetry/api': - optional: true - '@types/node': - optional: true - '@vitest/browser-playwright': - optional: true - '@vitest/browser-preview': - optional: true - '@vitest/browser-webdriverio': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} - hasBin: true - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} - engines: {node: '>=18'} - -snapshots: - - '@adraffy/ens-normalize@1.11.1': {} - - '@dedot/api@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/storage': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/chaintypes@0.234.0(dedot@1.0.4)': - dependencies: - dedot: 1.0.4 - - '@dedot/cli@1.0.4': - dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/codegen': 1.0.4 - '@dedot/wasm': 0.1.0 - '@polkadot/types-support': 16.5.4 - ora: 9.3.0 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/codecs@1.0.4': - dependencies: - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 - - '@dedot/codegen@1.0.4': - dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/contracts': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - handlebars: 4.7.8 - prettier: 3.8.1 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/contracts@1.0.4': - dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - viem: 2.46.1 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/merkleized-metadata@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 - - '@dedot/providers@1.0.4': - dependencies: - '@dedot/utils': 1.0.4 - '@polkadot/x-ws': 14.0.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/runtime-specs@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/types': 1.0.4 - - '@dedot/shape@1.0.4': - dependencies: - '@dedot/utils': 1.0.4 - deshape: 0.1.0 - - '@dedot/smoldot@1.0.4': - dependencies: - smoldot: 2.0.40 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/storage@1.0.4': {} - - '@dedot/types@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 - - '@dedot/utils@1.0.4': - dependencies: - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - eventemitter3: 5.0.4 - - '@dedot/wasm@0.1.0': {} - - '@esbuild/aix-ppc64@0.27.3': - optional: true - - '@esbuild/android-arm64@0.27.3': - optional: true - - '@esbuild/android-arm@0.27.3': - optional: true - - '@esbuild/android-x64@0.27.3': - optional: true - - '@esbuild/darwin-arm64@0.27.3': - optional: true - - '@esbuild/darwin-x64@0.27.3': - optional: true - - '@esbuild/freebsd-arm64@0.27.3': - optional: true - - '@esbuild/freebsd-x64@0.27.3': - optional: true - - '@esbuild/linux-arm64@0.27.3': - optional: true - - '@esbuild/linux-arm@0.27.3': - optional: true - - '@esbuild/linux-ia32@0.27.3': - optional: true - - '@esbuild/linux-loong64@0.27.3': - optional: true - - '@esbuild/linux-mips64el@0.27.3': - optional: true - - '@esbuild/linux-ppc64@0.27.3': - optional: true - - '@esbuild/linux-riscv64@0.27.3': - optional: true - - '@esbuild/linux-s390x@0.27.3': - optional: true - - '@esbuild/linux-x64@0.27.3': - optional: true - - '@esbuild/netbsd-arm64@0.27.3': - optional: true - - '@esbuild/netbsd-x64@0.27.3': - optional: true - - '@esbuild/openbsd-arm64@0.27.3': - optional: true - - '@esbuild/openbsd-x64@0.27.3': - optional: true - - '@esbuild/openharmony-arm64@0.27.3': - optional: true - - '@esbuild/sunos-x64@0.27.3': - optional: true - - '@esbuild/win32-arm64@0.27.3': - optional: true - - '@esbuild/win32-ia32@0.27.3': - optional: true - - '@esbuild/win32-x64@0.27.3': - optional: true - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@noble/ciphers@1.3.0': {} - - '@noble/ciphers@2.1.1': {} - - '@noble/curves@1.9.1': - dependencies: - '@noble/hashes': 1.8.0 - - '@noble/curves@1.9.7': - dependencies: - '@noble/hashes': 1.8.0 - - '@noble/hashes@1.8.0': {} - - '@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/util-crypto': 14.0.1(@polkadot/util@14.0.1) - tslib: 2.8.1 - - '@polkadot/networks@14.0.1': - dependencies: - '@polkadot/util': 14.0.1 - '@substrate/ss58-registry': 1.51.0 - tslib: 2.8.1 - - '@polkadot/types-support@16.5.4': - dependencies: - '@polkadot/util': 14.0.1 - tslib: 2.8.1 - - '@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)': - dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@polkadot/networks': 14.0.1 - '@polkadot/util': 14.0.1 - '@polkadot/wasm-crypto': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-bigint': 14.0.1 - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - '@scure/base': 1.2.6 - '@scure/sr25519': 0.2.0 - tslib: 2.8.1 - - '@polkadot/util@14.0.1': - dependencies: - '@polkadot/x-bigint': 14.0.1 - '@polkadot/x-global': 14.0.1 - '@polkadot/x-textdecoder': 14.0.1 - '@polkadot/x-textencoder': 14.0.1 - '@types/bn.js': 5.2.0 - bn.js: 5.2.2 - tslib: 2.8.1 - - '@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - '@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)': - dependencies: - '@polkadot/util': 14.0.1 - tslib: 2.8.1 - - '@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - '@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - tslib: 2.8.1 - - '@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-crypto-init': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - '@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)': - dependencies: - '@polkadot/util': 14.0.1 - tslib: 2.8.1 - - '@polkadot/x-bigint@14.0.1': - dependencies: - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - - '@polkadot/x-global@14.0.1': - dependencies: - tslib: 2.8.1 - - '@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))': - dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - - '@polkadot/x-textdecoder@14.0.1': - dependencies: - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - - '@polkadot/x-textencoder@14.0.1': - dependencies: - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - - '@polkadot/x-ws@14.0.1': - dependencies: - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - ws: 8.19.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@rollup/rollup-android-arm-eabi@4.57.1': - optional: true - - '@rollup/rollup-android-arm64@4.57.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.57.1': - optional: true - - '@rollup/rollup-darwin-x64@4.57.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.57.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.57.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.57.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.57.1': - optional: true - - '@rollup/rollup-linux-loong64-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-loong64-musl@4.57.1': - optional: true - - '@rollup/rollup-linux-ppc64-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-ppc64-musl@4.57.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-riscv64-musl@4.57.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.57.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.57.1': - optional: true - - '@rollup/rollup-openbsd-x64@4.57.1': - optional: true - - '@rollup/rollup-openharmony-arm64@4.57.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.57.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.57.1': - optional: true - - '@rollup/rollup-win32-x64-gnu@4.57.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.57.1': - optional: true - - '@scure/base@1.2.6': {} - - '@scure/bip32@1.7.0': - dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - - '@scure/bip39@1.6.0': - dependencies: - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - - '@scure/sr25519@0.2.0': - dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - - '@standard-schema/spec@1.1.0': {} - - '@substrate/ss58-registry@1.51.0': {} - - '@types/bn.js@5.2.0': - dependencies: - '@types/node': 24.10.13 - - '@types/chai@5.2.3': - dependencies: - '@types/deep-eql': 4.0.2 - assertion-error: 2.0.1 - - '@types/deep-eql@4.0.2': {} - - '@types/estree@1.0.8': {} - - '@types/node@24.10.13': - dependencies: - undici-types: 7.16.0 - - '@vitest/expect@4.0.18': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - chai: 6.2.2 - tinyrainbow: 3.0.3 - - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))': - dependencies: - '@vitest/spy': 4.0.18 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.1(@types/node@24.10.13) - - '@vitest/pretty-format@4.0.18': - dependencies: - tinyrainbow: 3.0.3 - - '@vitest/runner@4.0.18': - dependencies: - '@vitest/utils': 4.0.18 - pathe: 2.0.3 - - '@vitest/snapshot@4.0.18': - dependencies: - '@vitest/pretty-format': 4.0.18 - magic-string: 0.30.21 - pathe: 2.0.3 - - '@vitest/spy@4.0.18': {} - - '@vitest/utils@4.0.18': - dependencies: - '@vitest/pretty-format': 4.0.18 - tinyrainbow: 3.0.3 - - abitype@1.2.3: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - assertion-error@2.0.1: {} - - bn.js@5.2.2: {} - - chai@6.2.2: {} - - chalk@5.6.2: {} - - cli-cursor@5.0.0: - dependencies: - restore-cursor: 5.1.0 - - cli-spinners@3.4.0: {} - - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - dedot@1.0.4: - dependencies: - '@dedot/api': 1.0.4 - '@dedot/cli': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/contracts': 1.0.4 - '@dedot/merkleized-metadata': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/smoldot': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - smoldot: 2.0.40 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - deshape@0.1.0: {} - - emoji-regex@8.0.0: {} - - es-module-lexer@1.7.0: {} - - esbuild@0.27.3: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 - - escalade@3.2.0: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.8 - - eventemitter3@5.0.1: {} - - eventemitter3@5.0.4: {} - - expect-type@1.3.0: {} - - fdir@6.5.0(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - - fsevents@2.3.3: - optional: true - - get-caller-file@2.0.5: {} - - get-east-asian-width@1.4.0: {} - - handlebars@4.7.8: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - - is-fullwidth-code-point@3.0.0: {} - - is-interactive@2.0.0: {} - - is-unicode-supported@2.1.0: {} - - isows@1.0.7(ws@8.18.3): - dependencies: - ws: 8.18.3 - - log-symbols@7.0.1: - dependencies: - is-unicode-supported: 2.1.0 - yoctocolors: 2.1.2 - - magic-string@0.30.21: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - - mimic-function@5.0.1: {} - - minimist@1.2.8: {} - - mlkem@2.5.0: {} - - nanoid@3.3.11: {} - - neo-async@2.6.2: {} - - obug@2.1.1: {} - - onetime@7.0.0: - dependencies: - mimic-function: 5.0.1 - - ora@9.3.0: - dependencies: - chalk: 5.6.2 - cli-cursor: 5.0.0 - cli-spinners: 3.4.0 - is-interactive: 2.0.0 - is-unicode-supported: 2.1.0 - log-symbols: 7.0.1 - stdin-discarder: 0.3.1 - string-width: 8.1.1 - - ox@0.12.1: - dependencies: - '@adraffy/ens-normalize': 1.11.1 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3 - eventemitter3: 5.0.1 - transitivePeerDependencies: - - zod - - pathe@2.0.3: {} - - picocolors@1.1.1: {} - - picomatch@4.0.3: {} - - postcss@8.5.6: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - prettier@3.8.1: {} - - require-directory@2.1.1: {} - - restore-cursor@5.1.0: - dependencies: - onetime: 7.0.0 - signal-exit: 4.1.0 - - rollup@4.57.1: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.57.1 - '@rollup/rollup-android-arm64': 4.57.1 - '@rollup/rollup-darwin-arm64': 4.57.1 - '@rollup/rollup-darwin-x64': 4.57.1 - '@rollup/rollup-freebsd-arm64': 4.57.1 - '@rollup/rollup-freebsd-x64': 4.57.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 - '@rollup/rollup-linux-arm-musleabihf': 4.57.1 - '@rollup/rollup-linux-arm64-gnu': 4.57.1 - '@rollup/rollup-linux-arm64-musl': 4.57.1 - '@rollup/rollup-linux-loong64-gnu': 4.57.1 - '@rollup/rollup-linux-loong64-musl': 4.57.1 - '@rollup/rollup-linux-ppc64-gnu': 4.57.1 - '@rollup/rollup-linux-ppc64-musl': 4.57.1 - '@rollup/rollup-linux-riscv64-gnu': 4.57.1 - '@rollup/rollup-linux-riscv64-musl': 4.57.1 - '@rollup/rollup-linux-s390x-gnu': 4.57.1 - '@rollup/rollup-linux-x64-gnu': 4.57.1 - '@rollup/rollup-linux-x64-musl': 4.57.1 - '@rollup/rollup-openbsd-x64': 4.57.1 - '@rollup/rollup-openharmony-arm64': 4.57.1 - '@rollup/rollup-win32-arm64-msvc': 4.57.1 - '@rollup/rollup-win32-ia32-msvc': 4.57.1 - '@rollup/rollup-win32-x64-gnu': 4.57.1 - '@rollup/rollup-win32-x64-msvc': 4.57.1 - fsevents: 2.3.3 - - siginfo@2.0.0: {} - - signal-exit@4.1.0: {} - - smoldot@2.0.40: - dependencies: - ws: 8.19.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - source-map-js@1.2.1: {} - - source-map@0.6.1: {} - - stackback@0.0.2: {} - - std-env@3.10.0: {} - - stdin-discarder@0.3.1: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@8.1.1: - dependencies: - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.2: - dependencies: - ansi-regex: 6.2.2 - - tinybench@2.9.0: {} - - tinyexec@1.0.2: {} - - tinyglobby@0.2.15: - dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - - tinyrainbow@3.0.3: {} - - tslib@2.8.1: {} - - uglify-js@3.19.3: - optional: true - - undici-types@7.16.0: {} - - viem@2.46.1: - dependencies: - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3 - isows: 1.0.7(ws@8.18.3) - ox: 0.12.1 - ws: 8.18.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod - - vite@7.3.1(@types/node@24.10.13): - dependencies: - esbuild: 0.27.3 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.57.1 - tinyglobby: 0.2.15 - optionalDependencies: - '@types/node': 24.10.13 - fsevents: 2.3.3 - - vitest@4.0.18(@types/node@24.10.13): - dependencies: - '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)) - '@vitest/pretty-format': 4.0.18 - '@vitest/runner': 4.0.18 - '@vitest/snapshot': 4.0.18 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - es-module-lexer: 1.7.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 1.0.2 - tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.13) - why-is-node-running: 2.3.0 - optionalDependencies: - '@types/node': 24.10.13 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml - - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - - wordwrap@1.0.0: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - ws@8.18.3: {} - - ws@8.19.0: {} - - y18n@5.0.8: {} - - yargs-parser@21.1.1: {} - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yoctocolors@2.1.2: {} diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml deleted file mode 100644 index 21cf1c3993..0000000000 --- a/e2e/pnpm-workspace.yaml +++ /dev/null @@ -1,16 +0,0 @@ -packages: - - shared - - shield - -catalog: - "@dedot/chaintypes": "^0.234.0" - "@dedot/cli": "^1.0.4" - "@noble/ciphers": "^2.1.1" - "@polkadot/keyring": "^14.0.1" - "@polkadot/util": "^14.0.1" - "@polkadot/util-crypto": "^14.0.1" - "@types/node": "^24" - "dedot": "^1.0.4" - "mlkem": "^2.5.0" - "prettier": "^3.0.0" - "vitest": "^4.0.0" diff --git a/e2e/shared/chainspec.ts b/e2e/shared/chainspec.ts deleted file mode 100644 index 514b6c0028..0000000000 --- a/e2e/shared/chainspec.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { spawn, execFileSync } from "node:child_process"; -import { writeFile, readFile } from "node:fs/promises"; -import { Keyring } from "@polkadot/keyring"; -import { log } from "./node.js"; - -// --------------------------------------------------------------------------- -// Chain spec generation -// --------------------------------------------------------------------------- - -/** - * Generate a raw chain spec. If `patchSpec` is provided, first generates a - * non-raw spec, applies the patch, then converts to raw. This allows adding - * extra authorities, balances, etc. without modifying the Rust chain spec. - */ -export const generateChainSpec = async ( - binaryPath: string, - outputPath: string, - patchSpec?: (spec: any) => void, -) => { - if (!patchSpec) { - return generateRawChainSpec(binaryPath, outputPath, "local"); - } - - // 2-step: generate non-raw → patch → generate raw. - const nonRawPath = outputPath + ".nonraw.json"; - - await new Promise((resolve, reject) => { - const proc = spawn(binaryPath, [ - "build-spec", - "--disable-default-bootnode", - "--chain", - "local", - ]); - const chunks: Buffer[] = []; - proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); - let stderr = ""; - proc.stderr?.on("data", (chunk: Buffer) => { - stderr += chunk.toString(); - }); - proc.on("close", async (code) => { - if (code !== 0) { - reject(new Error(`Failed to generate non-raw chain spec (exit ${code}): ${stderr}`)); - return; - } - await writeFile(nonRawPath, Buffer.concat(chunks)); - resolve(); - }); - proc.on("error", reject); - }); - - const specJson = JSON.parse(await readFile(nonRawPath, "utf-8")); - patchSpec(specJson); - await writeFile(nonRawPath, JSON.stringify(specJson, null, 2)); - - await generateRawChainSpec(binaryPath, outputPath, nonRawPath); -}; - -async function generateRawChainSpec(binaryPath: string, outputPath: string, chain: string) { - return new Promise((resolve, reject) => { - const proc = spawn(binaryPath, [ - "build-spec", - "--disable-default-bootnode", - "--raw", - "--chain", - chain, - ]); - - const chunks: Buffer[] = []; - proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); - - let stderr = ""; - proc.stderr?.on("data", (chunk: Buffer) => { - stderr += chunk.toString(); - }); - - proc.on("close", async (code) => { - if (code !== 0) { - reject(new Error(`Failed to generate chain spec (exit ${code}): ${stderr}`)); - return; - } - const data = Buffer.concat(chunks); - await writeFile(outputPath, data); - log(`Chain spec written to ${outputPath} (${data.length} bytes)`); - resolve(); - }); - - proc.on("error", reject); - }); -} - -// --------------------------------------------------------------------------- -// Chain spec patching helpers (composable) -// --------------------------------------------------------------------------- - -/** - * Extract the genesis runtime patch object from a non-raw chain spec. - * Works with both the `runtimeGenesis.patch` and legacy `runtime` formats. - */ -export function getGenesisPatch(spec: any): any { - const patch = spec.genesis?.runtimeGenesis?.patch ?? spec.genesis?.runtime; - if (!patch) throw new Error("Cannot find genesis patch in chain spec"); - return patch; -} - -/** Add an Aura authority (sr25519 address) to the chain spec. */ -export function addAuraAuthority(patch: any, address: string) { - if (patch.aura?.authorities) { - patch.aura.authorities.push(address); - } -} - -/** Add a GRANDPA authority (ed25519 address, weight) to the chain spec. */ -export function addGrandpaAuthority(patch: any, address: string, weight = 1) { - if (patch.grandpa?.authorities) { - patch.grandpa.authorities.push([address, weight]); - } -} - -/** Add a balance entry to the chain spec. */ -export function addBalance(patch: any, address: string, amount: number | bigint) { - if (patch.balances?.balances) { - patch.balances.balances.push([address, Number(amount)]); - } -} - -// --------------------------------------------------------------------------- -// Authority key helpers -// --------------------------------------------------------------------------- - -export type AuthorityKeys = { - aura: string; - grandpa: string; - account: string; -}; - -/** Derive authority keys (aura sr25519, grandpa ed25519, account) from a seed. */ -export function generateAuthorityKeys(seed: string): AuthorityKeys { - const sr = new Keyring({ type: "sr25519" }); - const ed = new Keyring({ type: "ed25519" }); - return { - aura: sr.addFromUri(`//${seed}`).address, - grandpa: ed.addFromUri(`//${seed}`).address, - account: sr.addFromUri(`//${seed}`).address, - }; -} - -/** - * Convenience: add a full authority (aura + grandpa + funded account) to a - * chain spec genesis patch. Derives keys from the given seed. - */ -export function addAuthority(patch: any, seed: string, balance = 2_000_000_000_000) { - const keys = generateAuthorityKeys(seed); - addAuraAuthority(patch, keys.aura); - addGrandpaAuthority(patch, keys.grandpa); - addBalance(patch, keys.account, balance); -} - -// --------------------------------------------------------------------------- -// Key insertion -// --------------------------------------------------------------------------- - -/** - * Insert Aura (sr25519) and GRANDPA (ed25519) keys into a node's keystore. - * Required for authority nodes that don't have a built-in substrate CLI shortcut. - */ -export const insertKeys = ( - binaryPath: string, - basePath: string, - chainSpec: string, - seed: string, -) => { - const run = (scheme: string, keyType: string) => { - execFileSync(binaryPath, [ - "key", - "insert", - "--base-path", - basePath, - "--chain", - chainSpec, - "--suri", - seed, - "--scheme", - scheme, - "--key-type", - keyType, - ]); - }; - run("sr25519", "aura"); - run("ed25519", "gran"); - log(`Inserted aura+grandpa keys for ${seed} into ${basePath}`); -}; diff --git a/e2e/shared/client.ts b/e2e/shared/client.ts deleted file mode 100644 index b553f7f3b7..0000000000 --- a/e2e/shared/client.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { DedotClient, WsProvider } from "dedot"; -import { Keyring } from "@polkadot/keyring"; -import type { KeyringPair } from "@polkadot/keyring/types"; -import type { NodeSubtensorApi } from "../node-subtensor/index.js"; - -const SECOND = 1000; - -export const connectClient = async (rpcPort: number): Promise> => { - const provider = new WsProvider(`ws://localhost:${rpcPort}`); - return DedotClient.new(provider); -}; - -export const createKeyring = () => { - return new Keyring({ type: "sr25519" }); -}; - -export const getAccountNonce = async ( - client: { query: { system: { account: (address: string) => Promise<{ nonce: number }> } } }, - address: string, -): Promise => { - const account = await client.query.system.account(address); - return account.nonce; -}; - -export const getBalance = async ( - client: { - query: { system: { account: (address: string) => Promise<{ data: { free: bigint } }> } }; - }, - address: string, -): Promise => { - const account = await client.query.system.account(address); - return account.data.free; -}; - -export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - -/** Polls the chain until `count` new finalized blocks have been produced. */ -export async function waitForFinalizedBlocks( - client: { - rpc: { - chain_getFinalizedHead: () => Promise<`0x${string}`>; - chain_getHeader: (hash: `0x${string}`) => Promise<{ number: number } | undefined>; - }; - }, - count: number, - pollInterval = 1 * SECOND, - timeout = 120 * SECOND, -): Promise { - const startHash = await client.rpc.chain_getFinalizedHead(); - const startHeader = await client.rpc.chain_getHeader(startHash); - const start = startHeader!.number; - const target = start + count; - const deadline = Date.now() + timeout; - - while (Date.now() < deadline) { - await sleep(pollInterval); - const hash = await client.rpc.chain_getFinalizedHead(); - const header = await client.rpc.chain_getHeader(hash); - if (header && header.number >= target) return; - } - - throw new Error( - `Timed out waiting for ${count} finalized blocks (from #${start}, target #${target})`, - ); -} - -type TxStatus = { type: string; value?: { error?: string } }; - -/** Signs, sends, and watches a transaction until one of the given terminal - * status types is observed. If signAndSend itself rejects (e.g. pool - * rejection), the error is wrapped as an Invalid status. */ -export const watchTxStatus = ( - tx: any, - signer: KeyringPair, - options: Record, - terminalTypes: string[], - timeout = 30_000, -): Promise => { - return new Promise((resolve, reject) => { - const timer = setTimeout( - () => reject(new Error(`watchTxStatus timed out waiting for ${terminalTypes.join("/")}`)), - timeout, - ); - - tx.signAndSend(signer, options, (result: { status: TxStatus }) => { - if (terminalTypes.includes(result.status.type)) { - clearTimeout(timer); - resolve(result.status); - } - }).catch((err: unknown) => { - clearTimeout(timer); - resolve({ type: "Invalid", value: { error: String(err) } }); - }); - }); -}; diff --git a/e2e/shared/node.ts b/e2e/shared/node.ts deleted file mode 100644 index 51b80a0c18..0000000000 --- a/e2e/shared/node.ts +++ /dev/null @@ -1,149 +0,0 @@ -import { spawn, ChildProcess } from "node:child_process"; - -const SECOND = 1000; -const MINUTE = 60 * SECOND; - -// Substrate CLI shortcuts that inject keystore keys automatically. -const SUBSTRATE_SHORTCUTS = new Set([ - "alice", - "bob", - "charlie", - "dave", - "eve", - "ferdie", - "one", - "two", -]); - -export type NodeOptions = { - binaryPath: string; - basePath: string; - name: string; - port: number; - rpcPort: number; - validator: boolean; - chainSpec: string; -}; - -export type Node = { - name: string; - binaryPath: string; - rpcPort: number; - port: number; - process: ChildProcess; -}; - -export const log = (message: string) => console.log(`[${new Date().toISOString()}] ${message}`); - -export const startNode = (opts: NodeOptions): Node => { - const nameArgs = SUBSTRATE_SHORTCUTS.has(opts.name) ? [`--${opts.name}`] : ["--name", opts.name]; - - const child = spawn(opts.binaryPath, [ - ...nameArgs, - ...["--chain", opts.chainSpec], - ...["--base-path", opts.basePath], - ...["--port", opts.port.toString()], - ...["--rpc-port", opts.rpcPort.toString()], - ...(opts.validator ? ["--validator"] : []), - "--rpc-cors=all", - "--allow-private-ipv4", - "--discover-local", - "--unsafe-force-node-key-generation", - ]); - - let lastStderr = ""; - child.stderr?.on("data", (chunk: Buffer) => { - lastStderr = chunk.toString(); - }); - child.on("error", (error) => console.error(`${opts.name} (error): ${error}`)); - child.on("close", (code) => { - if (code !== 0 && code !== null) { - log(`${opts.name}: process crashed with code ${code}. Last stderr: ${lastStderr}`); - } else { - log(`${opts.name}: process closed with code ${code}`); - } - }); - - return { - name: opts.name, - binaryPath: opts.binaryPath, - rpcPort: opts.rpcPort, - port: opts.port, - process: child, - }; -}; - -export const stop = (node: Node): Promise => { - return new Promise((resolve, reject) => { - node.process.on("close", () => resolve()); - node.process.on("error", reject); - - if (!node.process.kill()) { - reject(new Error(`Failed to stop ${node.name}`)); - } - }); -}; - -export const started = (node: Node, timeout = 60 * SECOND) => { - const errorMessage = `${node.name} failed to start in time`; - - return innerEnsure(node, errorMessage, timeout, (data, ok) => { - if (data.includes("💤 Idle")) { - log(`${node.name}: started using ${node.binaryPath}`); - ok(); - } - }); -}; - -export const peerCount = (node: Node, expectedPeers: number, timeout = 60 * SECOND) => { - const errorMessage = `${node.name} failed to reach ${expectedPeers} peers in time`; - - return innerEnsure(node, errorMessage, timeout, (data, ok) => { - const maybePeers = /Idle \((?\d+) peers\)/.exec(data)?.groups?.peers; - if (!maybePeers) return; - - const peers = parseInt(maybePeers); - if (peers >= expectedPeers) { - log(`${node.name}: reached ${expectedPeers} peers`); - ok(); - } - }); -}; - -export const finalizedBlocks = (node: Node, expectedFinalized: number, timeout = 10 * MINUTE) => { - const errorMessage = `${node.name} failed to reach ${expectedFinalized} finalized blocks in time`; - - return innerEnsure(node, errorMessage, timeout, (data, ok) => { - const maybeFinalized = /finalized #(?\d+)/.exec(data)?.groups?.blocks; - if (!maybeFinalized) return; - - const finalized = parseInt(maybeFinalized); - if (finalized >= expectedFinalized) { - log(`${node.name}: reached ${expectedFinalized} finalized blocks`); - ok(); - } - }); -}; - -export function innerEnsure( - node: Node, - errorMessage: string, - timeout: number, - f: (data: string, ok: () => void) => void, -) { - return new Promise((resolve, reject) => { - const id = setTimeout(() => reject(new Error(errorMessage)), timeout); - - const fn = (chunk: Buffer) => { - const data = chunk.toString(); - f(data, () => { - clearTimeout(id); - node.process.stderr?.off("data", fn); - resolve(); - }); - }; - - node.process.stderr?.on("data", fn); - }); -} - diff --git a/e2e/shared/package.json b/e2e/shared/package.json deleted file mode 100644 index c6df531244..0000000000 --- a/e2e/shared/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "e2e-shared", - "version": "1.0.0", - "type": "module", - "exports": { - "./node.js": "./node.ts", - "./chainspec.js": "./chainspec.ts", - "./sequencer.js": "./sequencer.ts", - "./client.js": "./client.ts" - }, - "dependencies": { - "@polkadot/keyring": "catalog:", - "dedot": "catalog:" - }, - "devDependencies": { - "@types/node": "catalog:", - "vitest": "catalog:" - } -} diff --git a/e2e/shared/pnpm-lock.yaml b/e2e/shared/pnpm-lock.yaml deleted file mode 100644 index 767156e260..0000000000 --- a/e2e/shared/pnpm-lock.yaml +++ /dev/null @@ -1,1628 +0,0 @@ -lockfileVersion: "9.0" - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - .: - dependencies: - "@polkadot/keyring": - specifier: ^14.0.1 - version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) - devDependencies: - "@types/node": - specifier: ^24 - version: 24.10.13 - vitest: - specifier: ^3.0.0 - version: 3.2.4(@types/node@24.10.13) - -packages: - "@esbuild/aix-ppc64@0.27.3": - resolution: - { - integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, - } - engines: { node: ">=18" } - cpu: [ppc64] - os: [aix] - - "@esbuild/android-arm64@0.27.3": - resolution: - { - integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [android] - - "@esbuild/android-arm@0.27.3": - resolution: - { - integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, - } - engines: { node: ">=18" } - cpu: [arm] - os: [android] - - "@esbuild/android-x64@0.27.3": - resolution: - { - integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [android] - - "@esbuild/darwin-arm64@0.27.3": - resolution: - { - integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [darwin] - - "@esbuild/darwin-x64@0.27.3": - resolution: - { - integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [darwin] - - "@esbuild/freebsd-arm64@0.27.3": - resolution: - { - integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [freebsd] - - "@esbuild/freebsd-x64@0.27.3": - resolution: - { - integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [freebsd] - - "@esbuild/linux-arm64@0.27.3": - resolution: - { - integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [linux] - - "@esbuild/linux-arm@0.27.3": - resolution: - { - integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, - } - engines: { node: ">=18" } - cpu: [arm] - os: [linux] - - "@esbuild/linux-ia32@0.27.3": - resolution: - { - integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, - } - engines: { node: ">=18" } - cpu: [ia32] - os: [linux] - - "@esbuild/linux-loong64@0.27.3": - resolution: - { - integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, - } - engines: { node: ">=18" } - cpu: [loong64] - os: [linux] - - "@esbuild/linux-mips64el@0.27.3": - resolution: - { - integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, - } - engines: { node: ">=18" } - cpu: [mips64el] - os: [linux] - - "@esbuild/linux-ppc64@0.27.3": - resolution: - { - integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, - } - engines: { node: ">=18" } - cpu: [ppc64] - os: [linux] - - "@esbuild/linux-riscv64@0.27.3": - resolution: - { - integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, - } - engines: { node: ">=18" } - cpu: [riscv64] - os: [linux] - - "@esbuild/linux-s390x@0.27.3": - resolution: - { - integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, - } - engines: { node: ">=18" } - cpu: [s390x] - os: [linux] - - "@esbuild/linux-x64@0.27.3": - resolution: - { - integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [linux] - - "@esbuild/netbsd-arm64@0.27.3": - resolution: - { - integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [netbsd] - - "@esbuild/netbsd-x64@0.27.3": - resolution: - { - integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [netbsd] - - "@esbuild/openbsd-arm64@0.27.3": - resolution: - { - integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [openbsd] - - "@esbuild/openbsd-x64@0.27.3": - resolution: - { - integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [openbsd] - - "@esbuild/openharmony-arm64@0.27.3": - resolution: - { - integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [openharmony] - - "@esbuild/sunos-x64@0.27.3": - resolution: - { - integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [sunos] - - "@esbuild/win32-arm64@0.27.3": - resolution: - { - integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, - } - engines: { node: ">=18" } - cpu: [arm64] - os: [win32] - - "@esbuild/win32-ia32@0.27.3": - resolution: - { - integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, - } - engines: { node: ">=18" } - cpu: [ia32] - os: [win32] - - "@esbuild/win32-x64@0.27.3": - resolution: - { - integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, - } - engines: { node: ">=18" } - cpu: [x64] - os: [win32] - - "@jridgewell/sourcemap-codec@1.5.5": - resolution: - { - integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, - } - - "@noble/curves@1.9.7": - resolution: - { - integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, - } - engines: { node: ^14.21.3 || >=16 } - - "@noble/hashes@1.8.0": - resolution: - { - integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, - } - engines: { node: ^14.21.3 || >=16 } - - "@polkadot/keyring@14.0.1": - resolution: - { - integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": 14.0.1 - "@polkadot/util-crypto": 14.0.1 - - "@polkadot/networks@14.0.1": - resolution: - { - integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, - } - engines: { node: ">=18" } - - "@polkadot/util-crypto@14.0.1": - resolution: - { - integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": 14.0.1 - - "@polkadot/util@14.0.1": - resolution: - { - integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, - } - engines: { node: ">=18" } - - "@polkadot/wasm-bridge@7.5.4": - resolution: - { - integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-crypto-asmjs@7.5.4": - resolution: - { - integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - - "@polkadot/wasm-crypto-init@7.5.4": - resolution: - { - integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-crypto-wasm@7.5.4": - resolution: - { - integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - - "@polkadot/wasm-crypto@7.5.4": - resolution: - { - integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - "@polkadot/x-randomvalues": "*" - - "@polkadot/wasm-util@7.5.4": - resolution: - { - integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": "*" - - "@polkadot/x-bigint@14.0.1": - resolution: - { - integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, - } - engines: { node: ">=18" } - - "@polkadot/x-global@14.0.1": - resolution: - { - integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, - } - engines: { node: ">=18" } - - "@polkadot/x-randomvalues@14.0.1": - resolution: - { - integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, - } - engines: { node: ">=18" } - peerDependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": "*" - - "@polkadot/x-textdecoder@14.0.1": - resolution: - { - integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, - } - engines: { node: ">=18" } - - "@polkadot/x-textencoder@14.0.1": - resolution: - { - integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, - } - engines: { node: ">=18" } - - "@rollup/rollup-android-arm-eabi@4.57.1": - resolution: - { - integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, - } - cpu: [arm] - os: [android] - - "@rollup/rollup-android-arm64@4.57.1": - resolution: - { - integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, - } - cpu: [arm64] - os: [android] - - "@rollup/rollup-darwin-arm64@4.57.1": - resolution: - { - integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, - } - cpu: [arm64] - os: [darwin] - - "@rollup/rollup-darwin-x64@4.57.1": - resolution: - { - integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, - } - cpu: [x64] - os: [darwin] - - "@rollup/rollup-freebsd-arm64@4.57.1": - resolution: - { - integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, - } - cpu: [arm64] - os: [freebsd] - - "@rollup/rollup-freebsd-x64@4.57.1": - resolution: - { - integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, - } - cpu: [x64] - os: [freebsd] - - "@rollup/rollup-linux-arm-gnueabihf@4.57.1": - resolution: - { - integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, - } - cpu: [arm] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-arm-musleabihf@4.57.1": - resolution: - { - integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, - } - cpu: [arm] - os: [linux] - libc: [musl] - - "@rollup/rollup-linux-arm64-gnu@4.57.1": - resolution: - { - integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, - } - cpu: [arm64] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-arm64-musl@4.57.1": - resolution: - { - integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, - } - cpu: [arm64] - os: [linux] - libc: [musl] - - "@rollup/rollup-linux-loong64-gnu@4.57.1": - resolution: - { - integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, - } - cpu: [loong64] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-loong64-musl@4.57.1": - resolution: - { - integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, - } - cpu: [loong64] - os: [linux] - libc: [musl] - - "@rollup/rollup-linux-ppc64-gnu@4.57.1": - resolution: - { - integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, - } - cpu: [ppc64] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-ppc64-musl@4.57.1": - resolution: - { - integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, - } - cpu: [ppc64] - os: [linux] - libc: [musl] - - "@rollup/rollup-linux-riscv64-gnu@4.57.1": - resolution: - { - integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, - } - cpu: [riscv64] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-riscv64-musl@4.57.1": - resolution: - { - integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, - } - cpu: [riscv64] - os: [linux] - libc: [musl] - - "@rollup/rollup-linux-s390x-gnu@4.57.1": - resolution: - { - integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, - } - cpu: [s390x] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-x64-gnu@4.57.1": - resolution: - { - integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, - } - cpu: [x64] - os: [linux] - libc: [glibc] - - "@rollup/rollup-linux-x64-musl@4.57.1": - resolution: - { - integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, - } - cpu: [x64] - os: [linux] - libc: [musl] - - "@rollup/rollup-openbsd-x64@4.57.1": - resolution: - { - integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, - } - cpu: [x64] - os: [openbsd] - - "@rollup/rollup-openharmony-arm64@4.57.1": - resolution: - { - integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, - } - cpu: [arm64] - os: [openharmony] - - "@rollup/rollup-win32-arm64-msvc@4.57.1": - resolution: - { - integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, - } - cpu: [arm64] - os: [win32] - - "@rollup/rollup-win32-ia32-msvc@4.57.1": - resolution: - { - integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, - } - cpu: [ia32] - os: [win32] - - "@rollup/rollup-win32-x64-gnu@4.57.1": - resolution: - { - integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, - } - cpu: [x64] - os: [win32] - - "@rollup/rollup-win32-x64-msvc@4.57.1": - resolution: - { - integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, - } - cpu: [x64] - os: [win32] - - "@scure/base@1.2.6": - resolution: - { - integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, - } - - "@scure/sr25519@0.2.0": - resolution: - { - integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, - } - - "@substrate/ss58-registry@1.51.0": - resolution: - { - integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, - } - - "@types/bn.js@5.2.0": - resolution: - { - integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, - } - - "@types/chai@5.2.3": - resolution: - { - integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, - } - - "@types/deep-eql@4.0.2": - resolution: - { - integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, - } - - "@types/estree@1.0.8": - resolution: - { - integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, - } - - "@types/node@24.10.13": - resolution: - { - integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, - } - - "@vitest/expect@3.2.4": - resolution: - { - integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==, - } - - "@vitest/mocker@3.2.4": - resolution: - { - integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==, - } - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true - - "@vitest/pretty-format@3.2.4": - resolution: - { - integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==, - } - - "@vitest/runner@3.2.4": - resolution: - { - integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==, - } - - "@vitest/snapshot@3.2.4": - resolution: - { - integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==, - } - - "@vitest/spy@3.2.4": - resolution: - { - integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==, - } - - "@vitest/utils@3.2.4": - resolution: - { - integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==, - } - - assertion-error@2.0.1: - resolution: - { - integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, - } - engines: { node: ">=12" } - - bn.js@5.2.2: - resolution: - { - integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, - } - - cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - - chai@5.3.3: - resolution: - { - integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==, - } - engines: { node: ">=18" } - - check-error@2.1.3: - resolution: - { - integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==, - } - engines: { node: ">= 16" } - - debug@4.4.3: - resolution: - { - integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - - deep-eql@5.0.2: - resolution: - { - integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==, - } - engines: { node: ">=6" } - - es-module-lexer@1.7.0: - resolution: - { - integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, - } - - esbuild@0.27.3: - resolution: - { - integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, - } - engines: { node: ">=18" } - hasBin: true - - estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - - expect-type@1.3.0: - resolution: - { - integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, - } - engines: { node: ">=12.0.0" } - - fdir@6.5.0: - resolution: - { - integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, - } - engines: { node: ">=12.0.0" } - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - - js-tokens@9.0.1: - resolution: - { - integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==, - } - - loupe@3.2.1: - resolution: - { - integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==, - } - - magic-string@0.30.21: - resolution: - { - integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, - } - - ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } - - nanoid@3.3.11: - resolution: - { - integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - - pathe@2.0.3: - resolution: - { - integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, - } - - pathval@2.0.1: - resolution: - { - integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==, - } - engines: { node: ">= 14.16" } - - picocolors@1.1.1: - resolution: - { - integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, - } - - picomatch@4.0.3: - resolution: - { - integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, - } - engines: { node: ">=12" } - - postcss@8.5.6: - resolution: - { - integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, - } - engines: { node: ^10 || ^12 || >=14 } - - rollup@4.57.1: - resolution: - { - integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - - siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - - source-map-js@1.2.1: - resolution: - { - integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, - } - engines: { node: ">=0.10.0" } - - stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - - std-env@3.10.0: - resolution: - { - integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, - } - - strip-literal@3.1.0: - resolution: - { - integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==, - } - - tinybench@2.9.0: - resolution: - { - integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, - } - - tinyexec@0.3.2: - resolution: - { - integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, - } - - tinyglobby@0.2.15: - resolution: - { - integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, - } - engines: { node: ">=12.0.0" } - - tinypool@1.1.1: - resolution: - { - integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - - tinyrainbow@2.0.0: - resolution: - { - integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==, - } - engines: { node: ">=14.0.0" } - - tinyspy@4.0.4: - resolution: - { - integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==, - } - engines: { node: ">=14.0.0" } - - tslib@2.8.1: - resolution: - { - integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, - } - - undici-types@7.16.0: - resolution: - { - integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, - } - - vite-node@3.2.4: - resolution: - { - integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } - hasBin: true - - vite@7.3.1: - resolution: - { - integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, - } - engines: { node: ^20.19.0 || >=22.12.0 } - hasBin: true - peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 - jiti: ">=1.21.0" - less: ^4.0.0 - lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: ">=0.54.8" - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - "@types/node": - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - - vitest@3.2.4: - resolution: - { - integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/debug": ^4.1.12 - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.2.4 - "@vitest/ui": 3.2.4 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/debug": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - why-is-node-running@2.3.0: - resolution: - { - integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, - } - engines: { node: ">=8" } - hasBin: true - -snapshots: - "@esbuild/aix-ppc64@0.27.3": - optional: true - - "@esbuild/android-arm64@0.27.3": - optional: true - - "@esbuild/android-arm@0.27.3": - optional: true - - "@esbuild/android-x64@0.27.3": - optional: true - - "@esbuild/darwin-arm64@0.27.3": - optional: true - - "@esbuild/darwin-x64@0.27.3": - optional: true - - "@esbuild/freebsd-arm64@0.27.3": - optional: true - - "@esbuild/freebsd-x64@0.27.3": - optional: true - - "@esbuild/linux-arm64@0.27.3": - optional: true - - "@esbuild/linux-arm@0.27.3": - optional: true - - "@esbuild/linux-ia32@0.27.3": - optional: true - - "@esbuild/linux-loong64@0.27.3": - optional: true - - "@esbuild/linux-mips64el@0.27.3": - optional: true - - "@esbuild/linux-ppc64@0.27.3": - optional: true - - "@esbuild/linux-riscv64@0.27.3": - optional: true - - "@esbuild/linux-s390x@0.27.3": - optional: true - - "@esbuild/linux-x64@0.27.3": - optional: true - - "@esbuild/netbsd-arm64@0.27.3": - optional: true - - "@esbuild/netbsd-x64@0.27.3": - optional: true - - "@esbuild/openbsd-arm64@0.27.3": - optional: true - - "@esbuild/openbsd-x64@0.27.3": - optional: true - - "@esbuild/openharmony-arm64@0.27.3": - optional: true - - "@esbuild/sunos-x64@0.27.3": - optional: true - - "@esbuild/win32-arm64@0.27.3": - optional: true - - "@esbuild/win32-ia32@0.27.3": - optional: true - - "@esbuild/win32-x64@0.27.3": - optional: true - - "@jridgewell/sourcemap-codec@1.5.5": {} - - "@noble/curves@1.9.7": - dependencies: - "@noble/hashes": 1.8.0 - - "@noble/hashes@1.8.0": {} - - "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) - tslib: 2.8.1 - - "@polkadot/networks@14.0.1": - dependencies: - "@polkadot/util": 14.0.1 - "@substrate/ss58-registry": 1.51.0 - tslib: 2.8.1 - - "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": - dependencies: - "@noble/curves": 1.9.7 - "@noble/hashes": 1.8.0 - "@polkadot/networks": 14.0.1 - "@polkadot/util": 14.0.1 - "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-bigint": 14.0.1 - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - "@scure/base": 1.2.6 - "@scure/sr25519": 0.2.0 - tslib: 2.8.1 - - "@polkadot/util@14.0.1": - dependencies: - "@polkadot/x-bigint": 14.0.1 - "@polkadot/x-global": 14.0.1 - "@polkadot/x-textdecoder": 14.0.1 - "@polkadot/x-textencoder": 14.0.1 - "@types/bn.js": 5.2.0 - bn.js: 5.2.2 - tslib: 2.8.1 - - "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": - dependencies: - "@polkadot/util": 14.0.1 - tslib: 2.8.1 - - "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - tslib: 2.8.1 - - "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - tslib: 2.8.1 - - "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": - dependencies: - "@polkadot/util": 14.0.1 - tslib: 2.8.1 - - "@polkadot/x-bigint@14.0.1": - dependencies: - "@polkadot/x-global": 14.0.1 - tslib: 2.8.1 - - "@polkadot/x-global@14.0.1": - dependencies: - tslib: 2.8.1 - - "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": - dependencies: - "@polkadot/util": 14.0.1 - "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) - "@polkadot/x-global": 14.0.1 - tslib: 2.8.1 - - "@polkadot/x-textdecoder@14.0.1": - dependencies: - "@polkadot/x-global": 14.0.1 - tslib: 2.8.1 - - "@polkadot/x-textencoder@14.0.1": - dependencies: - "@polkadot/x-global": 14.0.1 - tslib: 2.8.1 - - "@rollup/rollup-android-arm-eabi@4.57.1": - optional: true - - "@rollup/rollup-android-arm64@4.57.1": - optional: true - - "@rollup/rollup-darwin-arm64@4.57.1": - optional: true - - "@rollup/rollup-darwin-x64@4.57.1": - optional: true - - "@rollup/rollup-freebsd-arm64@4.57.1": - optional: true - - "@rollup/rollup-freebsd-x64@4.57.1": - optional: true - - "@rollup/rollup-linux-arm-gnueabihf@4.57.1": - optional: true - - "@rollup/rollup-linux-arm-musleabihf@4.57.1": - optional: true - - "@rollup/rollup-linux-arm64-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-arm64-musl@4.57.1": - optional: true - - "@rollup/rollup-linux-loong64-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-loong64-musl@4.57.1": - optional: true - - "@rollup/rollup-linux-ppc64-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-ppc64-musl@4.57.1": - optional: true - - "@rollup/rollup-linux-riscv64-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-riscv64-musl@4.57.1": - optional: true - - "@rollup/rollup-linux-s390x-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-x64-gnu@4.57.1": - optional: true - - "@rollup/rollup-linux-x64-musl@4.57.1": - optional: true - - "@rollup/rollup-openbsd-x64@4.57.1": - optional: true - - "@rollup/rollup-openharmony-arm64@4.57.1": - optional: true - - "@rollup/rollup-win32-arm64-msvc@4.57.1": - optional: true - - "@rollup/rollup-win32-ia32-msvc@4.57.1": - optional: true - - "@rollup/rollup-win32-x64-gnu@4.57.1": - optional: true - - "@rollup/rollup-win32-x64-msvc@4.57.1": - optional: true - - "@scure/base@1.2.6": {} - - "@scure/sr25519@0.2.0": - dependencies: - "@noble/curves": 1.9.7 - "@noble/hashes": 1.8.0 - - "@substrate/ss58-registry@1.51.0": {} - - "@types/bn.js@5.2.0": - dependencies: - "@types/node": 24.10.13 - - "@types/chai@5.2.3": - dependencies: - "@types/deep-eql": 4.0.2 - assertion-error: 2.0.1 - - "@types/deep-eql@4.0.2": {} - - "@types/estree@1.0.8": {} - - "@types/node@24.10.13": - dependencies: - undici-types: 7.16.0 - - "@vitest/expect@3.2.4": - dependencies: - "@types/chai": 5.2.3 - "@vitest/spy": 3.2.4 - "@vitest/utils": 3.2.4 - chai: 5.3.3 - tinyrainbow: 2.0.0 - - "@vitest/mocker@3.2.4(vite@7.3.1(@types/node@24.10.13))": - dependencies: - "@vitest/spy": 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.1(@types/node@24.10.13) - - "@vitest/pretty-format@3.2.4": - dependencies: - tinyrainbow: 2.0.0 - - "@vitest/runner@3.2.4": - dependencies: - "@vitest/utils": 3.2.4 - pathe: 2.0.3 - strip-literal: 3.1.0 - - "@vitest/snapshot@3.2.4": - dependencies: - "@vitest/pretty-format": 3.2.4 - magic-string: 0.30.21 - pathe: 2.0.3 - - "@vitest/spy@3.2.4": - dependencies: - tinyspy: 4.0.4 - - "@vitest/utils@3.2.4": - dependencies: - "@vitest/pretty-format": 3.2.4 - loupe: 3.2.1 - tinyrainbow: 2.0.0 - - assertion-error@2.0.1: {} - - bn.js@5.2.2: {} - - cac@6.7.14: {} - - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.3 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 - - check-error@2.1.3: {} - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - deep-eql@5.0.2: {} - - es-module-lexer@1.7.0: {} - - esbuild@0.27.3: - optionalDependencies: - "@esbuild/aix-ppc64": 0.27.3 - "@esbuild/android-arm": 0.27.3 - "@esbuild/android-arm64": 0.27.3 - "@esbuild/android-x64": 0.27.3 - "@esbuild/darwin-arm64": 0.27.3 - "@esbuild/darwin-x64": 0.27.3 - "@esbuild/freebsd-arm64": 0.27.3 - "@esbuild/freebsd-x64": 0.27.3 - "@esbuild/linux-arm": 0.27.3 - "@esbuild/linux-arm64": 0.27.3 - "@esbuild/linux-ia32": 0.27.3 - "@esbuild/linux-loong64": 0.27.3 - "@esbuild/linux-mips64el": 0.27.3 - "@esbuild/linux-ppc64": 0.27.3 - "@esbuild/linux-riscv64": 0.27.3 - "@esbuild/linux-s390x": 0.27.3 - "@esbuild/linux-x64": 0.27.3 - "@esbuild/netbsd-arm64": 0.27.3 - "@esbuild/netbsd-x64": 0.27.3 - "@esbuild/openbsd-arm64": 0.27.3 - "@esbuild/openbsd-x64": 0.27.3 - "@esbuild/openharmony-arm64": 0.27.3 - "@esbuild/sunos-x64": 0.27.3 - "@esbuild/win32-arm64": 0.27.3 - "@esbuild/win32-ia32": 0.27.3 - "@esbuild/win32-x64": 0.27.3 - - estree-walker@3.0.3: - dependencies: - "@types/estree": 1.0.8 - - expect-type@1.3.0: {} - - fdir@6.5.0(picomatch@4.0.3): - optionalDependencies: - picomatch: 4.0.3 - - fsevents@2.3.3: - optional: true - - js-tokens@9.0.1: {} - - loupe@3.2.1: {} - - magic-string@0.30.21: - dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 - - ms@2.1.3: {} - - nanoid@3.3.11: {} - - pathe@2.0.3: {} - - pathval@2.0.1: {} - - picocolors@1.1.1: {} - - picomatch@4.0.3: {} - - postcss@8.5.6: - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - rollup@4.57.1: - dependencies: - "@types/estree": 1.0.8 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.57.1 - "@rollup/rollup-android-arm64": 4.57.1 - "@rollup/rollup-darwin-arm64": 4.57.1 - "@rollup/rollup-darwin-x64": 4.57.1 - "@rollup/rollup-freebsd-arm64": 4.57.1 - "@rollup/rollup-freebsd-x64": 4.57.1 - "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 - "@rollup/rollup-linux-arm-musleabihf": 4.57.1 - "@rollup/rollup-linux-arm64-gnu": 4.57.1 - "@rollup/rollup-linux-arm64-musl": 4.57.1 - "@rollup/rollup-linux-loong64-gnu": 4.57.1 - "@rollup/rollup-linux-loong64-musl": 4.57.1 - "@rollup/rollup-linux-ppc64-gnu": 4.57.1 - "@rollup/rollup-linux-ppc64-musl": 4.57.1 - "@rollup/rollup-linux-riscv64-gnu": 4.57.1 - "@rollup/rollup-linux-riscv64-musl": 4.57.1 - "@rollup/rollup-linux-s390x-gnu": 4.57.1 - "@rollup/rollup-linux-x64-gnu": 4.57.1 - "@rollup/rollup-linux-x64-musl": 4.57.1 - "@rollup/rollup-openbsd-x64": 4.57.1 - "@rollup/rollup-openharmony-arm64": 4.57.1 - "@rollup/rollup-win32-arm64-msvc": 4.57.1 - "@rollup/rollup-win32-ia32-msvc": 4.57.1 - "@rollup/rollup-win32-x64-gnu": 4.57.1 - "@rollup/rollup-win32-x64-msvc": 4.57.1 - fsevents: 2.3.3 - - siginfo@2.0.0: {} - - source-map-js@1.2.1: {} - - stackback@0.0.2: {} - - std-env@3.10.0: {} - - strip-literal@3.1.0: - dependencies: - js-tokens: 9.0.1 - - tinybench@2.9.0: {} - - tinyexec@0.3.2: {} - - tinyglobby@0.2.15: - dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} - - tinyspy@4.0.4: {} - - tslib@2.8.1: {} - - undici-types@7.16.0: {} - - vite-node@3.2.4(@types/node@24.10.13): - dependencies: - cac: 6.7.14 - debug: 4.4.3 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.3.1(@types/node@24.10.13) - transitivePeerDependencies: - - "@types/node" - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite@7.3.1(@types/node@24.10.13): - dependencies: - esbuild: 0.27.3 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.6 - rollup: 4.57.1 - tinyglobby: 0.2.15 - optionalDependencies: - "@types/node": 24.10.13 - fsevents: 2.3.3 - - vitest@3.2.4(@types/node@24.10.13): - dependencies: - "@types/chai": 5.2.3 - "@vitest/expect": 3.2.4 - "@vitest/mocker": 3.2.4(vite@7.3.1(@types/node@24.10.13)) - "@vitest/pretty-format": 3.2.4 - "@vitest/runner": 3.2.4 - "@vitest/snapshot": 3.2.4 - "@vitest/spy": 3.2.4 - "@vitest/utils": 3.2.4 - chai: 5.3.3 - debug: 4.4.3 - expect-type: 1.3.0 - magic-string: 0.30.21 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.15 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.3.1(@types/node@24.10.13) - vite-node: 3.2.4(@types/node@24.10.13) - why-is-node-running: 2.3.0 - optionalDependencies: - "@types/node": 24.10.13 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 diff --git a/e2e/shared/sequencer.ts b/e2e/shared/sequencer.ts deleted file mode 100644 index a87490d89b..0000000000 --- a/e2e/shared/sequencer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { BaseSequencer } from "vitest/node"; -import type { TestSpecification } from "vitest/node"; - -/** - * Sorts test files alphabetically by their module path. - * - * Vitest's default sequencer orders files by cached duration/failure history, - * which does not respect numeric prefixes (00-, 01-, 02-, ...). This sequencer - * ensures files always run in the order they are named, which matters for - * multi-file suites where later files depend on state set up by earlier ones - * (e.g. a scaling test that adds nodes for subsequent edge-case tests). - */ -export default class AlphabeticalSequencer extends BaseSequencer { - async shard(files: TestSpecification[]): Promise { - return super.shard(files); - } - - async sort(files: TestSpecification[]): Promise { - return files.sort((a, b) => a.moduleId.localeCompare(b.moduleId)); - } -} diff --git a/e2e/shared/tsconfig.json b/e2e/shared/tsconfig.json deleted file mode 100644 index b4cbbb843b..0000000000 --- a/e2e/shared/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "bundler", - "esModuleInterop": true, - "strict": true, - "skipLibCheck": true, - "types": ["node"] - } -} diff --git a/e2e/shield/.gitignore b/e2e/shield/.gitignore deleted file mode 100644 index 3e6b0f99ff..0000000000 --- a/e2e/shield/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -node-subtensor/ diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts deleted file mode 100644 index 4979d14baf..0000000000 --- a/e2e/shield/helpers.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { DedotClient } from "dedot"; -import { hexToU8a } from "@polkadot/util"; -import { xchacha20poly1305 } from "@noble/ciphers/chacha.js"; -import { randomBytes } from "@noble/ciphers/utils.js"; -import { MlKem768 } from "mlkem"; -import { xxhashAsU8a } from "@polkadot/util-crypto"; -import type { KeyringPair } from "@polkadot/keyring/types"; -import type { NodeSubtensorApi } from "../node-subtensor/index.js"; - -export const getNextKey = async ( - client: DedotClient, -): Promise => { - const key = await client.query.mevShield.nextKey(); - if (!key) return undefined; - return hexToU8a(key); -}; - -export const getCurrentKey = async ( - client: DedotClient, -): Promise => { - const key = await client.query.mevShield.currentKey(); - if (!key) return undefined; - return hexToU8a(key); -}; - -export const encryptTransaction = async ( - plaintext: Uint8Array, - publicKey: Uint8Array, -): Promise => { - const keyHash = xxhashAsU8a(publicKey, 128); - - const mlKem = new MlKem768(); - const [kemCt, sharedSecret] = await mlKem.encap(publicKey); - - const nonce = randomBytes(24); - const chacha = xchacha20poly1305(sharedSecret, nonce); - const aeadCt = chacha.encrypt(plaintext); - - const kemLenBytes = new Uint8Array(2); - new DataView(kemLenBytes.buffer).setUint16(0, kemCt.length, true); - - return new Uint8Array([...keyHash, ...kemLenBytes, ...kemCt, ...nonce, ...aeadCt]); -}; - -export const submitEncrypted = async ( - client: DedotClient, - signer: KeyringPair, - innerTxBytes: Uint8Array, - publicKey: Uint8Array, - nonce?: number, -) => { - const ciphertext = await encryptTransaction(innerTxBytes, publicKey); - return submitEncryptedRaw(client, signer, ciphertext, nonce); -}; - -export const submitEncryptedRaw = async ( - client: DedotClient, - signer: KeyringPair, - ciphertext: Uint8Array, - nonce?: number, -) => { - const tx = client.tx.mevShield.submitEncrypted(ciphertext); - const signed = await tx.sign(signer, nonce !== undefined ? { nonce } : {}); - - return signed.send().untilFinalized(); -}; diff --git a/e2e/shield/package.json b/e2e/shield/package.json deleted file mode 100644 index da11f8fbca..0000000000 --- a/e2e/shield/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "e2e-shield", - "version": "1.0.0", - "type": "module", - "scripts": { - "test": "vitest run" - }, - "dependencies": { - "e2e-shared": "workspace:*", - "@noble/ciphers": "catalog:", - "@polkadot/keyring": "catalog:", - "@polkadot/util": "catalog:", - "@polkadot/util-crypto": "catalog:", - "dedot": "catalog:", - "mlkem": "catalog:" - }, - "devDependencies": { - "@dedot/cli": "catalog:", - "@dedot/chaintypes": "catalog:", - "@types/node": "catalog:", - "vitest": "catalog:" - } -} diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts deleted file mode 100644 index 26974c3faf..0000000000 --- a/e2e/shield/setup.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { writeFile, readFile, rm } from "node:fs/promises"; -import { - generateChainSpec, - insertKeys, - getGenesisPatch, - addAuthority, -} from "e2e-shared/chainspec.js"; -import { - startNode, - started, - peerCount, - finalizedBlocks, - stop, - log, - type Node, - type NodeOptions, -} from "e2e-shared/node.js"; - -const CHAIN_SPEC_PATH = "/tmp/e2e-shield-chain-spec.json"; -const STATE_FILE = "/tmp/e2e-shield-nodes.json"; - -export type NetworkState = { - binaryPath: string; - chainSpec: string; - nodes: { - name: string; - rpcPort: number; - port: number; - pid: number; - basePath: string; - }[]; -}; - -const nodes: Node[] = []; - -const BINARY_PATH = process.env.BINARY_PATH || "../../target/debug/node-subtensor"; - -// The local chain spec has 2 built-in authorities (One, Two). -// We add "Three" dynamically by patching the chain spec JSON. -const EXTRA_AUTHORITY_SEEDS = ["Three"]; - -type NodeConfig = Omit & { - keySeed?: string; -}; - -const NODE_CONFIGS: NodeConfig[] = [ - { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/e2e-shield-one", validator: true }, - { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/e2e-shield-two", validator: true }, - { - name: "three", - port: 30335, - rpcPort: 9946, - basePath: "/tmp/e2e-shield-three", - validator: true, - keySeed: "//Three", - }, -]; - -export async function setup() { - log(`Setting up ${NODE_CONFIGS.length}-node network for shield E2E tests`); - log(`Binary path: ${BINARY_PATH}`); - - await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { - const patch = getGenesisPatch(spec); - for (const seed of EXTRA_AUTHORITY_SEEDS) { - addAuthority(patch, seed); - } - }); - - for (const config of NODE_CONFIGS) { - await rm(config.basePath, { recursive: true, force: true }); - } - - // Insert keys for authority nodes that don't have built-in substrate shortcuts. - for (const config of NODE_CONFIGS) { - if (config.keySeed) { - insertKeys(BINARY_PATH, config.basePath, CHAIN_SPEC_PATH, config.keySeed); - } - } - - for (const config of NODE_CONFIGS) { - const node = startNode({ - binaryPath: BINARY_PATH, - chainSpec: CHAIN_SPEC_PATH, - ...config, - }); - nodes.push(node); - await started(node); - } - - const all = Promise.all.bind(Promise); - - await all(nodes.map((n) => peerCount(n, nodes.length - 1))); - log("All nodes peered"); - - await all(nodes.map((n) => finalizedBlocks(n, 3))); - log("All nodes finalized block 3"); - - const state: NetworkState = { - binaryPath: BINARY_PATH, - chainSpec: CHAIN_SPEC_PATH, - nodes: NODE_CONFIGS.map((c, i) => ({ - name: c.name, - rpcPort: c.rpcPort, - port: c.port, - pid: nodes[i].process.pid!, - basePath: c.basePath, - })), - }; - - await writeFile(STATE_FILE, JSON.stringify(state, null, 2)); - log("Network state written to " + STATE_FILE); -} - -export async function teardown() { - log("Tearing down shield E2E test network"); - - // Read the state file to find ALL nodes (including extras added by scaling tests). - let state: NetworkState | undefined; - try { - const data = await readFile(STATE_FILE, "utf-8"); - state = JSON.parse(data); - } catch {} - - // Stop nodes we have handles to (from globalSetup). - for (const node of nodes) { - try { - await stop(node); - } catch (e) { - log(`Warning: failed to stop ${node.name}: ${e}`); - } - } - - // Kill any extra nodes (added by scaling tests) by PID. - if (state) { - const ownPids = new Set(nodes.map((n) => n.process.pid)); - for (const nodeInfo of state.nodes) { - if (!ownPids.has(nodeInfo.pid)) { - try { - process.kill(nodeInfo.pid, "SIGTERM"); - log(`Killed extra node ${nodeInfo.name} (pid ${nodeInfo.pid})`); - } catch { - // Already dead, ignore. - } - } - } - - // Clean up all base paths. - for (const nodeInfo of state.nodes) { - await rm(nodeInfo.basePath, { recursive: true, force: true }); - } - } - - try { - await rm(STATE_FILE, { force: true }); - await rm(CHAIN_SPEC_PATH, { force: true }); - } catch {} - - log("Teardown complete"); -} - -export async function readNetworkState(): Promise { - const data = await readFile(STATE_FILE, "utf-8"); - return JSON.parse(data); -} diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts deleted file mode 100644 index cc1811aec7..0000000000 --- a/e2e/shield/tests/00-basic.test.ts +++ /dev/null @@ -1,242 +0,0 @@ -import { describe, it, expect, beforeAll, afterAll } from "vitest"; -import { readFile } from "node:fs/promises"; -import { DedotClient } from "dedot"; -import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; -import { - connectClient, - createKeyring, - getAccountNonce, - getBalance, - waitForFinalizedBlocks, - watchTxStatus, -} from "e2e-shared/client.js"; -import { - getNextKey, - getCurrentKey, - encryptTransaction, - submitEncrypted, -} from "../helpers.js"; - -let client: DedotClient; -let state: NetworkState; - -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); -const charlie = keyring.addFromUri("//Charlie"); - -beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); - state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); - - // Wait for enough finalized blocks so the inherent has had time to run - // and keys have rotated at least once. - await waitForFinalizedBlocks(client, 3); -}); - -afterAll(async () => { - await client?.disconnect(); -}); - -describe("MEV Shield — key rotation", () => { - it("NextKey and CurrentKey are populated and rotate across blocks", async () => { - const nextKey1 = await getNextKey(client); - expect(nextKey1).toBeDefined(); - expect(nextKey1!.length).toBe(1184); // ML-KEM-768 public key - - const currentKey1 = await getCurrentKey(client); - expect(currentKey1).toBeDefined(); - expect(currentKey1!.length).toBe(1184); - - await waitForFinalizedBlocks(client, 2); - - const nextKey2 = await getNextKey(client); - expect(nextKey2).toBeDefined(); - // Keys should have rotated — nextKey changes each block. - expect(nextKey2).not.toEqual(nextKey1); - - const currentKey2 = await getCurrentKey(client); - expect(currentKey2).toBeDefined(); - expect(currentKey2).not.toEqual(currentKey1); - }); - - it("AuthorKeys stores per-author keys", async () => { - const authorities = await client.query.aura.authorities(); - expect(authorities.length).toBeGreaterThan(0); - - let foundKeys = 0; - for (const authority of authorities) { - const key = await client.query.mevShield.authorKeys(authority); - if (key) foundKeys++; - } - - expect(foundKeys).toBeGreaterThan(0); - }); -}); - -describe("MEV Shield — encrypted transactions", () => { - it("Happy path: wrapper and inner tx are included in the same block", async () => { - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 10_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - expect(result.status.type).toBe("Finalized"); - - // Verify EncryptedSubmitted event was emitted. - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); - - // The inner transfer should be in the same block as the wrapper. - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); - - it("Failed inner tx: wrapper succeeds but inner transfer has no effect", async () => { - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - // Encrypt a transfer of more than Alice has. - // The wrapper is valid (correct key_hash, valid encryption), but the - // inner transfer should fail at dispatch with InsufficientBalance. - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 9_000_000_000_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - // The wrapper itself should be finalized successfully. - expect(result.status.type).toBe("Finalized"); - - // The EncryptedSubmitted event should be present (wrapper was valid). - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); - - // The inner transfer failed, so bob's balance should not increase. - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBe(balanceBefore); - }); - - it("Malformed ciphertext is rejected at pool level", async () => { - const nonce = await getAccountNonce(client, alice.address); - - // 5 bytes of garbage — not valid ciphertext at all. - const garbage = new Uint8Array([0x01, 0x02, 0x03, 0x04, 0x05]); - - const tx = client.tx.mevShield.submitEncrypted(garbage); - - // Pool validation rejects with FailedShieldedTxParsing (Custom code 23). - const status = await watchTxStatus(tx, alice, { nonce }, ["Invalid"]); - expect(status.type).toBe("Invalid"); - }); - - it("Wrong key hash is not included by the block proposer", async () => { - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 1_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const ciphertext = await encryptTransaction(innerTx.toU8a(), nextKey!); - - // Tamper the first 16 bytes (key_hash). - const tampered = new Uint8Array(ciphertext); - for (let i = 0; i < 16; i++) tampered[i] = 0xff; - - const tx = client.tx.mevShield.submitEncrypted(tampered); - const signed = await tx.sign(alice, { nonce }); - // Send without waiting — the tx enters the pool but the block - // proposer will skip it because the key_hash doesn't match. - signed.send().catch(() => {}); - - await waitForFinalizedBlocks(client, 3); - - // The inner transfer should NOT have executed. - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBe(balanceBefore); - }); - - it("Stale key is not included after rotation", async () => { - const staleKey = await getNextKey(client); - expect(staleKey).toBeDefined(); - - // Wait for enough blocks that the key has rotated past both - // currentKey and nextKey positions. - await waitForFinalizedBlocks(client, 3); - - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 1_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const ciphertext = await encryptTransaction(innerTx.toU8a(), staleKey!); - - const tx = client.tx.mevShield.submitEncrypted(ciphertext); - const signed = await tx.sign(alice, { nonce }); - // Send without waiting — the block proposer will reject because - // key_hash no longer matches currentKey or nextKey. - signed.send().catch(() => {}); - - await waitForFinalizedBlocks(client, 3); - - // The inner transfer should NOT have executed. - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBe(balanceBefore); - }); - - it("Multiple encrypted txs in same block", async () => { - // Use different signers to avoid nonce ordering issues between - // the outer wrappers and decrypted inner transactions. - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, charlie.address); - - const senders = [alice, bob]; - const amount = 1_000_000_000n; - const txPromises = []; - - for (const sender of senders) { - const nonce = await getAccountNonce(client, sender.address); - - const innerTx = await client.tx.balances - .transferKeepAlive(charlie.address, amount) - .sign(sender, { nonce: nonce + 1 }); - - txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); - } - - // Both should finalize (possibly in different blocks, that's fine). - const results = await Promise.allSettled(txPromises); - - const succeeded = results.filter((r) => r.status === "fulfilled"); - expect(succeeded.length).toBe(senders.length); - - const balanceAfter = await getBalance(client, charlie.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); -}); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts deleted file mode 100644 index 9627b9f425..0000000000 --- a/e2e/shield/tests/01-scaling.test.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { describe, it, expect, beforeAll, afterAll } from "vitest"; -import { readFile, writeFile, rm } from "node:fs/promises"; -import { DedotClient } from "dedot"; -import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; -import { - connectClient, - createKeyring, - getAccountNonce, - getBalance, - waitForFinalizedBlocks, -} from "e2e-shared/client.js"; -import { startNode, started, log } from "e2e-shared/node.js"; -import { getNextKey, submitEncrypted } from "../helpers.js"; - -let client: DedotClient; -let state: NetworkState; - -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); -const charlie = keyring.addFromUri("//Charlie"); - -// Extra nodes join as non-authority full nodes. -const EXTRA_NODE_CONFIGS = [ - { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/e2e-shield-four" }, - { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/e2e-shield-five" }, - { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/e2e-shield-six" }, -]; - -beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); - state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); - - // Start 3 additional full nodes to scale from 3 → 6. - for (const config of EXTRA_NODE_CONFIGS) { - await rm(config.basePath, { recursive: true, force: true }); - - const node = startNode({ - ...config, - binaryPath: state.binaryPath, - validator: false, - chainSpec: state.chainSpec, - }); - await started(node); - log(`Extra node ${config.name} started`); - - // Track in state file so global teardown can clean up. - state.nodes.push({ - name: config.name, - rpcPort: config.rpcPort, - port: config.port, - pid: node.process.pid!, - basePath: config.basePath, - }); - } - - // Persist updated state for subsequent test files (edge-cases). - await writeFile("/tmp/e2e-shield-nodes.json", JSON.stringify(state, null, 2)); -}); - -afterAll(async () => { - await client?.disconnect(); -}); - -describe("MEV Shield — 6 node scaling", () => { - it("Network scales to 6 nodes with full peering", async () => { - expect(state.nodes.length).toBe(6); - - // Verify the network is healthy by checking finalization continues. - await waitForFinalizedBlocks(client, 2); - }); - - it("Key rotation continues with more peers", async () => { - const key1 = await getNextKey(client); - expect(key1).toBeDefined(); - - await waitForFinalizedBlocks(client, 2); - - const key2 = await getNextKey(client); - expect(key2).toBeDefined(); - expect(key2!.length).toBe(1184); - }); - - it("Encrypted tx works with 6 nodes", async () => { - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 5_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - expect(result.status.type).toBe("Finalized"); - - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); - - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); - - it("Multiple encrypted txs in same block with 6 nodes", async () => { - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, charlie.address); - - const senders = [alice, bob]; - const amount = 1_000_000_000n; - const txPromises = []; - - for (const sender of senders) { - const nonce = await getAccountNonce(client, sender.address); - - const innerTx = await client.tx.balances - .transferKeepAlive(charlie.address, amount) - .sign(sender, { nonce: nonce + 1 }); - - txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); - } - - const results = await Promise.allSettled(txPromises); - - const succeeded = results.filter((r) => r.status === "fulfilled"); - expect(succeeded.length).toBe(senders.length); - - const balanceAfter = await getBalance(client, charlie.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); -}); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts deleted file mode 100644 index ea6bff86fd..0000000000 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { describe, it, expect, beforeAll, afterAll } from "vitest"; -import { readFile } from "node:fs/promises"; -import { DedotClient } from "dedot"; -import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; -import { - connectClient, - createKeyring, - getAccountNonce, - getBalance, -} from "e2e-shared/client.js"; -import { getNextKey, submitEncrypted } from "../helpers.js"; -let client: DedotClient; -let state: NetworkState; - -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); - -beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); - state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); -}); - -afterAll(async () => { - await client?.disconnect(); -}); - -describe("MEV Shield — edge cases", () => { - it("Encrypted tx persists across blocks (CurrentKey fallback)", async () => { - // The idea: submit an encrypted tx right at a block boundary. - // Even if the key rotates (NextKey changes), the old key becomes - // CurrentKey, so the extension still accepts it. - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 2_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - // Submit and wait for finalization — the tx may land in the next block - // or the one after, where CurrentKey = the old NextKey. - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - expect(result.status.type).toBe("Finalized"); - - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); - - it("Valid ciphertext with invalid inner call", async () => { - // Encrypt garbage bytes (not a valid extrinsic) using a valid NextKey. - // The wrapper tx should be included in a block because: - // - The ciphertext is well-formed (key_hash, kem_ct, nonce, aead_ct) - // - The key_hash matches a known key - // But the inner decrypted bytes won't decode as a valid extrinsic, - // so no inner transaction should execute. - const nextKey = await getNextKey(client); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(client, bob.address); - - // Garbage "inner transaction" bytes — not a valid extrinsic at all. - const garbageInner = new Uint8Array(64); - for (let i = 0; i < 64; i++) garbageInner[i] = (i * 7 + 13) & 0xff; - - const nonce = await getAccountNonce(client, alice.address); - - const result = await submitEncrypted(client, alice, garbageInner, nextKey!, nonce); - - // The wrapper should be finalized successfully. - expect(result.status.type).toBe("Finalized"); - - // The EncryptedSubmitted event should be emitted for the wrapper. - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); - - // No balance change — the garbage inner call could not have been a valid transfer. - const balanceAfter = await getBalance(client, bob.address); - expect(balanceAfter).toBe(balanceBefore); - }); -}); diff --git a/e2e/shield/tsconfig.json b/e2e/shield/tsconfig.json deleted file mode 100644 index c2f86d9e2c..0000000000 --- a/e2e/shield/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "bundler", - "esModuleInterop": true, - "strict": true, - "skipLibCheck": true, - "types": ["node", "vitest/globals"] - } -} diff --git a/e2e/shield/vitest.config.ts b/e2e/shield/vitest.config.ts deleted file mode 100644 index f63f00f5c2..0000000000 --- a/e2e/shield/vitest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { defineConfig } from "vitest/config"; -import AlphabeticalSequencer from "e2e-shared/sequencer.js"; - -export default defineConfig({ - test: { - globals: true, - testTimeout: 120_000, - hookTimeout: 300_000, - fileParallelism: false, - globalSetup: "./setup.ts", - setupFiles: ["./setup.ts"], - include: ["tests/**/*.test.ts"], - sequence: { - sequencer: AlphabeticalSequencer, - }, - }, -}); From 76c3e722202962688bd12d7d61f7a378ba673679 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 12:11:42 -0300 Subject: [PATCH 084/204] remove e2e workflow From 3c7842a4655b3ff1aa42d1d6111dd28bad417760 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 13:46:38 -0300 Subject: [PATCH 085/204] fix clippy --- pallets/subtensor/src/tests/evm.rs | 49 +++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/pallets/subtensor/src/tests/evm.rs b/pallets/subtensor/src/tests/evm.rs index 6d668d738d..ae0acde27a 100644 --- a/pallets/subtensor/src/tests/evm.rs +++ b/pallets/subtensor/src/tests/evm.rs @@ -9,6 +9,7 @@ use super::mock::*; use crate::*; use frame_support::testing_prelude::*; use sp_core::{H160, Pair, U256, blake2_256, ecdsa, keccak_256}; +use std::convert::AsRef; fn public_to_evm_key(pubkey: &ecdsa::Public) -> H160 { use libsecp256k1::PublicKey; @@ -103,7 +104,11 @@ fn test_associate_evm_key_different_block_number_success() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); assert_ok!(SubtensorModule::associate_evm_key( @@ -145,7 +150,11 @@ fn test_associate_evm_key_coldkey_does_not_own_hotkey() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); assert_err!( @@ -182,7 +191,11 @@ fn test_associate_evm_key_hotkey_not_registered_in_subnet() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); assert_err!( @@ -222,7 +235,11 @@ fn test_associate_evm_key_using_wrong_hash_function() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let hashed_message = blake2_256(message.as_ref()); let signature = pair.sign_prehashed(&hashed_message); @@ -262,7 +279,11 @@ fn test_associate_evm_key_rate_limit_exceeded() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); // First association should succeed @@ -278,7 +299,11 @@ fn test_associate_evm_key_rate_limit_exceeded() { let block_number = frame_system::Pallet::::block_number(); let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); // Second association should fail due to rate limit @@ -297,7 +322,11 @@ fn test_associate_evm_key_rate_limit_exceeded() { let block_number = frame_system::Pallet::::block_number(); let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); assert_ok!(SubtensorModule::associate_evm_key( @@ -329,7 +358,11 @@ fn test_associate_evm_key_uid_not_found() { let hashed_block_number = keccak_256(block_number.encode().as_ref()); let hotkey_bytes = hotkey.encode(); - let message = [hotkey_bytes.as_ref(), hashed_block_number.as_ref()].concat(); + let message = [ + hotkey_bytes.as_ref(), + <[u8; 32] as AsRef<[u8]>>::as_ref(&hashed_block_number), + ] + .concat(); let signature = sign_evm_message(&pair, message); assert_noop!( From fd2e30ca1e71fab540a48bfb09cbfa66e9199ef5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 15:41:44 -0300 Subject: [PATCH 086/204] fix benchmarks From 9006e29c9005c2a39a7d5c730de4db691e23d7b6 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 19 Feb 2026 17:51:48 -0300 Subject: [PATCH 087/204] fix benchmarks --- pallets/shield/src/lib.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 7a632bb9c6..2becd6d6f4 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -115,10 +115,9 @@ pub mod pallet { /// store the next key as `None` to reflect that this author will not be able /// handle encrypted transactions in his next block. #[pallet::call_index(0)] - #[pallet::weight(Weight::from_parts(20_999_999_999, 0) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] - #[allow(clippy::useless_conversion)] + #[pallet::weight(Weight::from_parts(23_190_000, 0) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)))] pub fn announce_next_key( origin: OriginFor, public_key: Option, @@ -178,9 +177,9 @@ pub mod pallet { /// ciphertext = key_hash || kem_len || kem_ct || nonce || aead_ct /// #[pallet::call_index(1)] - #[pallet::weight(Weight::from_parts(13_980_000, 0) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(Weight::from_parts(207_500_000, 0) + .saturating_add(T::DbWeight::get().reads(0_u64)) + .saturating_add(T::DbWeight::get().writes(0_u64)))] pub fn submit_encrypted( origin: OriginFor, ciphertext: BoundedVec>, From 142c27a8b803cb4170ecc695d28aa8e877dd5262 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 23 Feb 2026 20:39:57 -0300 Subject: [PATCH 088/204] set longevity to 3 for mev shield txs --- pallets/shield/src/extension.rs | 40 ++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index 020b03b66a..e055444a56 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -9,7 +9,7 @@ use sp_runtime::traits::{ AsSystemOriginSigner, DispatchInfoOf, Dispatchable, Implication, TransactionExtension, ValidateResult, }; -use sp_runtime::transaction_validity::TransactionSource; +use sp_runtime::transaction_validity::{TransactionSource, ValidTransaction}; use subtensor_macros::freeze_struct; use subtensor_runtime_common::CustomTransactionError; @@ -84,7 +84,17 @@ where } } - Ok((Default::default(), (), origin)) + // Shielded txs get a short longevity so they are evicted from the pool + // if not included within a few blocks. Keys rotate every block, so a tx + // encrypted against a key that has rotated out of the 2-key window + // (CurrentKey + NextKey) will never be included — without this it would + // stay in the pool indefinitely since pool revalidation skips the key check. + let validity = ValidTransaction { + longevity: 3, + ..Default::default() + }; + + Ok((validity, (), origin)) } } @@ -95,7 +105,7 @@ mod tests { use frame_support::dispatch::GetDispatchInfo; use frame_support::pallet_prelude::{BoundedVec, ConstU32}; use sp_runtime::traits::TxBaseImplication; - use sp_runtime::transaction_validity::TransactionValidityError; + use sp_runtime::transaction_validity::{TransactionValidityError, ValidTransaction}; /// Build wire-format ciphertext with a given key_hash. /// Layout: key_hash(16) || kem_ct_len(2 LE) || kem_ct(N) || nonce(24) || aead_ct(rest) @@ -132,7 +142,7 @@ mod tests { who: Option, call: &RuntimeCall, source: TransactionSource, - ) -> Result<(), TransactionValidityError> { + ) -> Result { let ext = CheckShieldedTxValidity::::new(); let info = call.get_dispatch_info(); let origin = match who { @@ -140,7 +150,7 @@ mod tests { None => RuntimeOrigin::none(), }; ext.validate(origin, call, &info, 0, (), &TxBaseImplication(call), source) - .map(|_| ()) + .map(|(validity, _, _)| validity) } const PK_A: [u8; 32] = [0x11; 32]; @@ -150,7 +160,9 @@ mod tests { fn non_shield_call_passes_through() { new_test_ext().execute_with(|| { let call = RuntimeCall::System(frame_system::Call::remark { remark: vec![] }); - assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); + // Non-shield calls get default (max) longevity. + assert_eq!(validity.longevity, u64::MAX); }); } @@ -158,7 +170,8 @@ mod tests { fn unsigned_origin_passes_through() { new_test_ext().execute_with(|| { let call = make_submit_call([0xFF; 16]); - assert!(validate_ext(None, &call, TransactionSource::InBlock).is_ok()); + let validity = validate_ext(None, &call, TransactionSource::InBlock).unwrap(); + assert_eq!(validity.longevity, u64::MAX); }); } @@ -193,7 +206,8 @@ mod tests { new_test_ext().execute_with(|| { set_current_key(&PK_A); let call = make_submit_call(twox_128(&PK_A)); - assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); + assert_eq!(validity.longevity, 3); }); } @@ -202,7 +216,8 @@ mod tests { new_test_ext().execute_with(|| { set_next_key(&PK_B); let call = make_submit_call(twox_128(&PK_B)); - assert!(validate_ext(Some(1), &call, TransactionSource::InBlock).is_ok()); + let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); + assert_eq!(validity.longevity, 3); }); } @@ -234,7 +249,9 @@ mod tests { fn pool_local_skips_key_check() { new_test_ext().execute_with(|| { let call = make_submit_call([0xFF; 16]); - assert!(validate_ext(Some(1), &call, TransactionSource::Local).is_ok()); + let validity = validate_ext(Some(1), &call, TransactionSource::Local).unwrap(); + // Pool sources skip key check but still get short longevity. + assert_eq!(validity.longevity, 3); }); } @@ -242,7 +259,8 @@ mod tests { fn pool_external_skips_key_check() { new_test_ext().execute_with(|| { let call = make_submit_call([0xFF; 16]); - assert!(validate_ext(Some(1), &call, TransactionSource::External).is_ok()); + let validity = validate_ext(Some(1), &call, TransactionSource::External).unwrap(); + assert_eq!(validity.longevity, 3); }); } } From 0cd475202c2a7b936fffe1244f62361cc66a16a1 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 25 Feb 2026 14:57:40 -0300 Subject: [PATCH 089/204] bump spec version to 383 From f98af2abdf458cd495e6fb45a1add49215f28b92 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 25 Feb 2026 16:50:15 -0300 Subject: [PATCH 090/204] fix post cherry-pick compilation issues --- Cargo.lock | 13 +------------ node/src/benchmarking.rs | 4 +++- pallets/subtensor/Cargo.toml | 4 ++++ pallets/subtensor/src/extensions/subtensor.rs | 2 +- pallets/subtensor/src/tests/mock.rs | 4 +--- pallets/subtensor/src/tests/registration.rs | 2 +- pallets/subtensor/src/tests/swap_coldkey.rs | 4 +++- runtime/src/lib.rs | 5 ++--- 8 files changed, 16 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ccc0ceca1e..5b7173a96a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,17 +71,6 @@ dependencies = [ "subtle 2.6.1", ] -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.12" @@ -19202,7 +19191,7 @@ name = "sp-trie" version = "40.0.0" source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" dependencies = [ - "ahash 0.8.12", + "ahash", "foldhash 0.1.5", "hash-db", "hashbrown 0.15.5", diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 2f7d2fb47d..5061b6d2a5 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -141,7 +141,9 @@ pub fn create_benchmark_extrinsic( transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new(0), sudo_wrapper::SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), - pallet_subtensor::SubtensorTransactionExtension::::new(), + pallet_subtensor::transaction_extension::SubtensorTransactionExtension::< + runtime::Runtime, + >::new(), pallet_drand::drand_priority::DrandPriority::::new(), ), frame_metadata_hash_extension::CheckMetadataHash::::new(true), diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index 62f203d51a..539356a5d6 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -76,6 +76,10 @@ pallet-preimage.workspace = true tracing.workspace = true tracing-log.workspace = true tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] } +pallet-timestamp.workspace = true +pallet-aura.workspace = true +pallet-shield.workspace = true +sp-consensus-aura.workspace = true [features] try-runtime = [ diff --git a/pallets/subtensor/src/extensions/subtensor.rs b/pallets/subtensor/src/extensions/subtensor.rs index 33fc3ba577..b53a983970 100644 --- a/pallets/subtensor/src/extensions/subtensor.rs +++ b/pallets/subtensor/src/extensions/subtensor.rs @@ -1,4 +1,4 @@ -use crate::{BalancesCall, Call, CheckColdkeySwap, Config, Error, Pallet, TransactionType}; +use crate::{BalancesCall, Call, ColdkeySwapScheduled, Config, Error, Pallet, TransactionType}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::dispatch::{DispatchInfo, PostDispatchInfo}; use frame_support::traits::IsSubType; diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index 329cf8b76d..282b807cee 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -40,9 +40,7 @@ frame_support::construct_runtime!( { System: frame_system = 1, Balances: pallet_balances = 2, - Timestamp: pallet_timestamp = 3, - Aura: pallet_aura = 4, - Shield: pallet_shield = 5, + Shield: pallet_shield = 3, SubtensorModule: crate = 6, Utility: pallet_utility = 7, Scheduler: pallet_scheduler = 8, diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index b98dce1d45..4719695199 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -15,7 +15,7 @@ use subtensor_runtime_common::{ use super::mock; use super::mock::*; -use crate::extensions::SubtensorTransactionExtension; +use crate::transaction_extension::SubtensorTransactionExtension; use crate::{AxonInfoOf, Error}; /******************************************** diff --git a/pallets/subtensor/src/tests/swap_coldkey.rs b/pallets/subtensor/src/tests/swap_coldkey.rs index 36d083344c..b35177dad4 100644 --- a/pallets/subtensor/src/tests/swap_coldkey.rs +++ b/pallets/subtensor/src/tests/swap_coldkey.rs @@ -21,7 +21,9 @@ use sp_runtime::traits::Hash; use sp_runtime::traits::{DispatchInfoOf, DispatchTransaction, TransactionExtension}; use sp_runtime::{DispatchError, traits::TxBaseImplication}; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaCurrency, Currency, SubnetInfo, TaoCurrency}; +use subtensor_runtime_common::{ + AlphaCurrency, Currency, CustomTransactionError, SubnetInfo, TaoCurrency, +}; use subtensor_swap_interface::{SwapEngine, SwapHandler}; use super::mock; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 8ea208f9dc..e48d42961a 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -71,7 +71,6 @@ use sp_std::prelude::*; use sp_version::NativeVersion; use sp_version::RuntimeVersion; use stp_shield::ShieldedTransaction; -use substrate_fixed::types::U64F64; use subtensor_precompiles::Precompiles; use subtensor_runtime_common::{AlphaCurrency, AuthorshipInfo, TaoCurrency, time::*, *}; use subtensor_swap_interface::{Order, SwapHandler}; @@ -200,7 +199,7 @@ impl frame_system::offchain::CreateSignedTransaction ChargeTransactionPaymentWrapper::new(0), SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), - pallet_subtensor::SubtensorTransactionExtension::::new(), + pallet_subtensor::transaction_extension::SubtensorTransactionExtension::::new(), pallet_drand::drand_priority::DrandPriority::::new(), ), frame_metadata_hash_extension::CheckMetadataHash::::new(true), @@ -1672,7 +1671,7 @@ pub type CustomTxExtension = ( ChargeTransactionPaymentWrapper, SudoTransactionExtension, pallet_shield::CheckShieldedTxValidity, - pallet_subtensor::SubtensorTransactionExtension, + pallet_subtensor::transaction_extension::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, ); pub type TxExtension = ( From 38d748311d02f87cfed887458f6b5deb59c33078 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 25 Feb 2026 17:20:21 -0300 Subject: [PATCH 091/204] cleanup unused pallets in mock --- Cargo.lock | 2 -- pallets/subtensor/Cargo.toml | 4 +-- pallets/subtensor/src/tests/mock.rs | 42 ++++++----------------------- 3 files changed, 9 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5b7173a96a..de1e267e5c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10994,7 +10994,6 @@ dependencies = [ "log", "ndarray", "num-traits", - "pallet-aura", "pallet-balances", "pallet-commitments", "pallet-crowdloan", @@ -11005,7 +11004,6 @@ dependencies = [ "pallet-subtensor-proxy", "pallet-subtensor-swap", "pallet-subtensor-utility", - "pallet-timestamp", "pallet-transaction-payment", "parity-scale-codec", "polkadot-runtime-common", diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index 539356a5d6..b956ac3b87 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -76,9 +76,7 @@ pallet-preimage.workspace = true tracing.workspace = true tracing-log.workspace = true tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] } -pallet-timestamp.workspace = true -pallet-aura.workspace = true -pallet-shield.workspace = true +pallet-shield = { workspace = true, features = ["std"] } sp-consensus-aura.workspace = true [features] diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index 282b807cee..c2c9152aa4 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -20,7 +20,6 @@ use frame_system as system; use frame_system::{EnsureRoot, RawOrigin, limits, offchain::CreateTransactionBase}; use pallet_subtensor_proxy as pallet_proxy; use pallet_subtensor_utility as pallet_utility; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_core::{ConstU64, Get, H256, U256, offchain::KeyTypeId}; use sp_runtime::Perbill; use sp_runtime::{ @@ -41,14 +40,14 @@ frame_support::construct_runtime!( System: frame_system = 1, Balances: pallet_balances = 2, Shield: pallet_shield = 3, - SubtensorModule: crate = 6, - Utility: pallet_utility = 7, - Scheduler: pallet_scheduler = 8, - Preimage: pallet_preimage = 9, - Drand: pallet_drand = 10, - Swap: pallet_subtensor_swap = 11, - Crowdloan: pallet_crowdloan = 12, - Proxy: pallet_subtensor_proxy = 13, + SubtensorModule: crate = 4, + Utility: pallet_utility = 5, + Scheduler: pallet_scheduler = 6, + Preimage: pallet_preimage = 7, + Drand: pallet_drand = 8, + Swap: pallet_subtensor_swap = 9, + Crowdloan: pallet_crowdloan = 10, + Proxy: pallet_subtensor_proxy = 11, } ); @@ -565,31 +564,6 @@ where } } -#[derive_impl(pallet_timestamp::config_preludes::TestDefaultConfig)] -impl pallet_timestamp::Config for Test { - type MinimumPeriod = ConstU64<0>; -} - -parameter_types! { - pub const MaxAuthorities: u32 = 32; - pub const AllowMultipleBlocksPerSlot: bool = false; - pub const SlotDuration: u64 = 6000; -} - -impl pallet_aura::Config for Test { - type AuthorityId = AuraId; - // For tests we don't need dynamic disabling; just use unit type. - type DisabledValidators = (); - type MaxAuthorities = MaxAuthorities; - type AllowMultipleBlocksPerSlot = AllowMultipleBlocksPerSlot; - type SlotDuration = SlotDuration; -} - -impl pallet_shield::Config for Test { - type AuthorityId = u64; - type FindAuthors = (); -} - static TEST_LOGS_INIT: OnceLock<()> = OnceLock::new(); pub fn init_logs_for_tests() { From 518bbb2c6c60c6011a9f34eb27b7fe709c2fd520 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 25 Feb 2026 17:22:00 -0300 Subject: [PATCH 092/204] fix zepter --- pallets/subtensor/Cargo.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index b956ac3b87..cbc90b04a6 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -95,8 +95,6 @@ try-runtime = [ "pallet-subtensor-proxy/try-runtime", "pallet-subtensor-utility/try-runtime", "pallet-shield/try-runtime", - "pallet-timestamp/try-runtime", - "pallet-aura/try-runtime", ] default = ["std"] std = [ @@ -145,6 +143,8 @@ std = [ "serde_json/std", "sha2/std", "rand/std", + "pallet-shield/std", + "sp-consensus-aura/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", @@ -162,8 +162,7 @@ runtime-benchmarks = [ "pallet-subtensor-proxy/runtime-benchmarks", "pallet-subtensor-swap/runtime-benchmarks", "pallet-subtensor-utility/runtime-benchmarks", - "pallet-shield/runtime-benchmarks", - "pallet-timestamp/runtime-benchmarks" + "pallet-shield/runtime-benchmarks" ] pow-faucet = [] fast-runtime = ["subtensor-runtime-common/fast-runtime"] From 12079f9487163da8cc3b0cb750849e7730b26a32 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 14:00:53 -0300 Subject: [PATCH 093/204] remove stp-io host functions --- Cargo.toml | 1 - node/Cargo.toml | 1 - node/src/client.rs | 1 - primitives/io/Cargo.toml | 24 ------------- primitives/io/README.md | 32 ----------------- primitives/io/src/lib.rs | 78 ---------------------------------------- runtime/Cargo.toml | 2 -- 7 files changed, 139 deletions(-) delete mode 100644 primitives/io/Cargo.toml delete mode 100644 primitives/io/README.md delete mode 100644 primitives/io/src/lib.rs diff --git a/Cargo.toml b/Cargo.toml index 89f06dd108..cbb857b339 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,7 +73,6 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-io = { path = "primitives/io", default-features = false } stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } diff --git a/node/Cargo.toml b/node/Cargo.toml index e7cf0df1e2..69fb116b5f 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -78,7 +78,6 @@ sp-keystore.workspace = true polkadot-sdk = { workspace = true, features = [ "cumulus-primitives-proof-size-hostfunction", ] } -stp-io.workspace = true # These dependencies are used for the subtensor's RPCs jsonrpsee = { workspace = true, features = ["server"] } diff --git a/node/src/client.rs b/node/src/client.rs index 94b0e90e15..e65683933b 100644 --- a/node/src/client.rs +++ b/node/src/client.rs @@ -16,6 +16,5 @@ pub type HostFunctions = ( frame_benchmarking::benchmarking::HostFunctions, sp_crypto_ec_utils::bls12_381::host_calls::HostFunctions, ProofSize, - stp_io::SubtensorHostFunctions, ); pub type RuntimeExecutor = WasmExecutor; diff --git a/primitives/io/Cargo.toml b/primitives/io/Cargo.toml deleted file mode 100644 index d82921105c..0000000000 --- a/primitives/io/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -[package] -name = "stp-io" -description = "Subtensor runtime primitives for I/O" -version = "0.1.0" -edition.workspace = true - - -[dependencies] -codec.workspace = true -sp-runtime-interface.workspace = true -sp-externalities.workspace = true -stp-shield.workspace = true - -[lints] -workspace = true - -[features] -default = ["std"] -std = [ - "codec/std", - "sp-runtime-interface/std", - "sp-externalities/std", - "stp-shield/std", -] diff --git a/primitives/io/README.md b/primitives/io/README.md deleted file mode 100644 index 84f28e3742..0000000000 --- a/primitives/io/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# stp-io - -`stp` = **Subtensor Primitive**. - -Host functions that allow the Subtensor runtime (Wasm) to call into the node's native code for operations that cannot run inside the sandbox. - -## Host functions - -### `crypto::mlkem768_decapsulate` - -Decapsulates an ML-KEM-768 ciphertext using the key material held in the node's `ShieldKeystore`. Writes the 32-byte shared secret into the caller-provided buffer. - -### `crypto::aead_decrypt` - -Decrypts an XChaCha20-Poly1305 ciphertext given a 32-byte key, 24-byte nonce, message, and optional AAD. Returns the plaintext bytes. - -## How it fits in - -The runtime cannot perform cryptographic operations directly because the secret keys live on the node side. `stp-io` bridges this gap: - -``` -Runtime (Wasm) Host (native) -───────────── ───────────── -pallet-shield ShieldKeystore - │ │ - ├─ mlkem768_decapsulate ─► ML-KEM decaps - └─ aead_decrypt ─────────► XChaCha20 decrypt -``` - -The host functions are registered via `SubtensorHostFunctions` and accessed through the `ShieldKeystoreExt` externalities extension from [`stp-shield`](https://github.com/opentensor/polkadot-sdk). - -`no_std`-compatible. diff --git a/primitives/io/src/lib.rs b/primitives/io/src/lib.rs deleted file mode 100644 index 5cbdc8e7cc..0000000000 --- a/primitives/io/src/lib.rs +++ /dev/null @@ -1,78 +0,0 @@ -//! Subtensor Primitives for IO -//! -//! This crate contains interfaces for the runtime to communicate with the outside world, ergo `io`. -//! In other context, such interfaces are referred to as "**host functions**". -#![cfg_attr(not(feature = "std"), no_std)] - -extern crate alloc; - -use codec::{Decode, Encode}; -use sp_runtime_interface::{ - pass_by::{ - AllocateAndReturnByCodec, PassFatPointerAndRead, PassPointerAndRead, PassPointerAndWrite, - }, - runtime_interface, -}; -use stp_shield::ShieldKeystoreExt; - -use alloc::{ - string::{String, ToString}, - vec::Vec, -}; - -#[cfg(not(substrate_runtime))] -use sp_externalities::ExternalitiesExt; - -#[derive(Debug, Encode, Decode)] -pub enum Error { - Crypto(String), -} - -impl core::fmt::Display for Error { - fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - match self { - Error::Crypto(e) => write!(f, "Crypto error: {}", e), - } - } -} - -/// Interfaces for working with crypto withing the runtime. -#[runtime_interface] -pub trait Crypto { - /// Decapsulate a ciphertext using the ML-KEM-768 algorithm. - #[allow(clippy::expect_used)] - fn mlkem768_decapsulate( - &mut self, - ciphertext: PassFatPointerAndRead<&[u8]>, - buffer: PassPointerAndWrite<&mut [u8; 32], 32>, - ) -> AllocateAndReturnByCodec> { - let result = &self - .extension::() - .expect("No `shield keystore` associated for the current context!") - .mlkem768_decapsulate(ciphertext) - .map_err(|e| Error::Crypto(e.to_string()))?; - buffer.copy_from_slice(result); - Ok(()) - } - - /// Decrypt a ciphertext using the XChaCha20-Poly1305 AEAD scheme. - #[allow(clippy::expect_used)] - fn aead_decrypt( - &mut self, - key: PassPointerAndRead<&[u8; 32], 32>, - nonce: PassPointerAndRead<&[u8; 24], 24>, - msg: PassFatPointerAndRead<&[u8]>, - aad: PassFatPointerAndRead<&[u8]>, - ) -> AllocateAndReturnByCodec, Error>> { - self.extension::() - .expect("No `shield keystore` associated for the current context!") - .aead_decrypt(*key, *nonce, msg, aad) - .map_err(|e| Error::Crypto(e.to_string())) - } -} - -/// The host functions Subtensor provides for the Wasm runtime environment. -/// -/// All these host functions will be callable from inside the Wasm environment. -#[cfg(not(substrate_runtime))] -pub type SubtensorHostFunctions = (crypto::HostFunctions,); diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index d79a787d30..3047f69941 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -59,7 +59,6 @@ sp-authority-discovery.workspace = true subtensor-runtime-common.workspace = true subtensor-precompiles.workspace = true sp-debug-derive = { workspace = true, features = [] } -stp-io.workspace = true # Temporary sudo pallet-sudo.workspace = true @@ -278,7 +277,6 @@ std = [ "ethereum/std", "pallet-shield/std", "stp-shield/std", - "stp-io/std", "sp-debug-derive/std", ] runtime-benchmarks = [ From 917b20800e943e307c725b57290b2c619bfcd726 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 14:02:16 -0300 Subject: [PATCH 094/204] move unshielding in WASM --- Cargo.lock | 19 ---------------- pallets/shield/Cargo.toml | 16 ++++++-------- pallets/shield/README.md | 2 +- pallets/shield/src/lib.rs | 43 ++++++++++++++++++++++++------------- pallets/shield/src/tests.rs | 30 ++++++++------------------ runtime/src/lib.rs | 4 ++-- 6 files changed, 46 insertions(+), 68 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de1e267e5c..d6be2a801a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8518,7 +8518,6 @@ dependencies = [ "sp-timestamp", "sp-transaction-pool", "stc-shield", - "stp-io", "stp-shield", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -8628,7 +8627,6 @@ dependencies = [ "sp-tracing", "sp-transaction-pool", "sp-version", - "stp-io", "stp-shield", "substrate-fixed", "substrate-wasm-builder", @@ -10800,7 +10798,6 @@ dependencies = [ "sp-std", "sp-weights", "stc-shield", - "stp-io", "stp-shield", "subtensor-macros", "subtensor-runtime-common", @@ -18397,8 +18394,6 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", @@ -19646,11 +19641,9 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=63332fd67a3e676b064b5ecde8ddad308714e42f#63332fd67a3e676b064b5ecde8ddad308714e42f" dependencies = [ "anyhow", "async-trait", - "chacha20poly1305", "futures", "hex", "log", @@ -19665,25 +19658,13 @@ dependencies = [ "stp-shield", ] -[[package]] -name = "stp-io" -version = "0.1.0" -dependencies = [ - "parity-scale-codec", - "sp-externalities", - "sp-runtime-interface", - "stp-shield", -] - [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=63332fd67a3e676b064b5ecde8ddad308714e42f#63332fd67a3e676b064b5ecde8ddad308714e42f" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-externalities", "sp-inherents", "sp-runtime", ] diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 382e5f481e..a64a6d20cd 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -34,20 +34,19 @@ sp-weights.workspace = true sp-inherents.workspace = true # Subtensor primitives -stp-io.workspace = true stp-shield.workspace = true +# Crypto (ML-KEM-768 + XChaCha20-Poly1305 for unshielding) +ml-kem.workspace = true +chacha20poly1305.workspace = true + # Benchmark-only (optional, activated by runtime-benchmarks feature) pallet-aura = { workspace = true, optional = true } sp-consensus-aura = { workspace = true, optional = true } -ml-kem = { workspace = true, optional = true } -chacha20poly1305 = { workspace = true, optional = true } rand_chacha = { workspace = true, optional = true } [dev-dependencies] stc-shield.workspace = true -ml-kem.workspace = true -chacha20poly1305.workspace = true pallet-subtensor-utility.workspace = true rand_chacha.workspace = true @@ -67,12 +66,11 @@ std = [ "sp-std/std", "sp-weights/std", "sp-inherents/std", - "stp-io/std", "stp-shield/std", + "ml-kem/std", + "chacha20poly1305/std", "pallet-aura?/std", "sp-consensus-aura?/std", - "chacha20poly1305?/std", - "ml-kem?/std", "rand_chacha?/std", "pallet-subtensor-utility/std", "stc-shield/std", @@ -85,8 +83,6 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "pallet-subtensor-utility/runtime-benchmarks", - "chacha20poly1305", - "ml-kem", "pallet-aura", "sp-consensus-aura", "rand_chacha", diff --git a/pallets/shield/README.md b/pallets/shield/README.md index 6ad5628cf1..5c4129860d 100644 --- a/pallets/shield/README.md +++ b/pallets/shield/README.md @@ -44,4 +44,4 @@ Each block includes an `announce_next_key` inherent that: ## Dependencies - [`stp-shield`](https://github.com/opentensor/polkadot-sdk) — shared types (`ShieldedTransaction`, `ShieldPublicKey`, `InherentType`) -- [`stp-io`](../../primitives/io) — host functions for ML-KEM decapsulation and AEAD decryption +- `ml-kem` / `chacha20poly1305` — cryptographic primitives for in-WASM decryption diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 2becd6d6f4..7533c8f82c 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -3,8 +3,16 @@ extern crate alloc; +use chacha20poly1305::{ + KeyInit, XChaCha20Poly1305, XNonce, + aead::{Aead, Payload}, +}; use frame_support::{pallet_prelude::*, traits::IsSubType}; use frame_system::{ensure_none, ensure_signed, pallet_prelude::*}; +use ml_kem::{ + Ciphertext, EncodedSizeUser, MlKem768, MlKem768Params, + kem::{Decapsulate, DecapsulationKey}, +}; use sp_runtime::traits::{Applyable, Block as BlockT, Checkable, Hash}; use stp_shield::{ INHERENT_IDENTIFIER, InherentType, LOG_TARGET, ShieldPublicKey, ShieldedTransaction, @@ -252,23 +260,13 @@ impl Pallet { } pub fn try_unshield_tx( + dec_key_bytes: alloc::vec::Vec, shielded_tx: ShieldedTransaction, ) -> Option<::Extrinsic> { - let mut shared_secret = [0u8; 32]; - stp_io::crypto::mlkem768_decapsulate(&shielded_tx.kem_ct, &mut shared_secret).inspect_err( - |e| log::debug!(target: LOG_TARGET, "Failed to decapsulate shielded transaction: {:?}", e), - ).ok()?; - - let plaintext = stp_io::crypto::aead_decrypt( - &shared_secret, - &shielded_tx.nonce, - &shielded_tx.aead_ct, - &[], - ) - .inspect_err( - |e| log::debug!(target: LOG_TARGET, "Failed to decrypt shielded transaction: {:?}", e), - ) - .ok()?; + let plaintext = unshield(&dec_key_bytes, &shielded_tx).or_else(|| { + log::debug!(target: LOG_TARGET, "Failed to unshield transaction"); + None + })?; if plaintext.is_empty() { return None; @@ -293,3 +291,18 @@ impl FindAuthors for () { None } } + +/// Decrypt a shielded transaction using the raw decapsulation key bytes. +/// +/// Performs ML-KEM-768 decapsulation followed by XChaCha20-Poly1305 AEAD decryption. +/// Runs entirely in WASM — no host functions needed. +fn unshield(dec_key_bytes: &[u8], shielded_tx: &ShieldedTransaction) -> Option> { + let dec_key = + DecapsulationKey::::from_bytes(dec_key_bytes.try_into().ok()?); + let ciphertext = Ciphertext::::try_from(shielded_tx.kem_ct.as_slice()).ok()?; + let shared_secret = dec_key.decapsulate(&ciphertext).ok()?; + + let aead = XChaCha20Poly1305::new(shared_secret.as_slice().into()); + let nonce = XNonce::from_slice(&shielded_tx.nonce); + aead.decrypt(nonce, Payload { msg: &shielded_tx.aead_ct, aad: &[] }).ok() +} diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index f18d4acd1f..2e47091605 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -3,10 +3,9 @@ use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; -use sp_runtime::BuildStorage; use sp_runtime::testing::TestSignature; use sp_runtime::traits::{Block as BlockT, Hash}; -use stp_shield::{ShieldKeystore, ShieldKeystoreExt, ShieldPublicKey, ShieldedTransaction}; +use stp_shield::{ShieldKeystore, ShieldPublicKey, ShieldedTransaction}; use chacha20poly1305::{ KeyInit, XChaCha20Poly1305, XNonce, @@ -18,7 +17,6 @@ use ml_kem::{ }; use rand_chacha::{ChaChaRng, rand_core::SeedableRng}; use stc_shield::MemoryShieldKeystore; -use std::sync::Arc; #[test] fn announce_rejects_signed_origin() { @@ -279,10 +277,10 @@ fn try_decode_shielded_tx_returns_none_when_depth_exceeded() { #[test] fn try_unshield_tx_decrypts_extrinsic() { let mut rng = ChaChaRng::from_seed([42u8; 32]); - let keystore = Arc::new(MemoryShieldKeystore::new()); + let keystore = MemoryShieldKeystore::new(); - // Client side: read the announced public key and encapsulate. - let pk_bytes = keystore.next_public_key().unwrap(); + // Client side: read the announced encapsulation key and encapsulate. + let pk_bytes = keystore.next_enc_key().unwrap(); let enc_key = EncapsulationKey::::from_bytes(pk_bytes.as_slice().try_into().unwrap()); let (kem_ct, shared_secret) = enc_key.encapsulate(&mut rng).unwrap(); @@ -309,6 +307,7 @@ fn try_unshield_tx_decrypts_extrinsic() { // Roll keystore so next -> current (author side). keystore.roll_for_next_slot().unwrap(); + let dec_key_bytes = keystore.current_dec_key().unwrap(); let shielded_tx = ShieldedTransaction { key_hash: [0u8; 16], @@ -317,22 +316,11 @@ fn try_unshield_tx_decrypts_extrinsic() { aead_ct, }; - // Build externalities with ShieldKeystoreExt registered. - let storage = RuntimeGenesisConfig::default() - .build_storage() - .expect("valid genesis"); - let mut ext = sp_io::TestExternalities::new(storage); - ext.register_extension(ShieldKeystoreExt::from( - keystore as Arc, - )); - - ext.execute_with(|| { - let result = crate::Pallet::::try_unshield_tx::(shielded_tx); - assert!(result.is_some()); + let result = crate::Pallet::::try_unshield_tx::(dec_key_bytes, shielded_tx); + assert!(result.is_some()); - let decoded = result.unwrap(); - assert_eq!(decoded.encode(), inner_uxt.encode()); - }); + let decoded = result.unwrap(); + assert_eq!(decoded.encode(), inner_uxt.encode()); } // --------------------------------------------------------------------------- diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e48d42961a..1ace772ea4 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -2619,8 +2619,8 @@ impl_runtime_apis! { MevShield::try_decode_shielded_tx::(uxt) } - fn try_unshield_tx(shielded_tx: ShieldedTransaction) -> Option<::Extrinsic> { - MevShield::try_unshield_tx::(shielded_tx) + fn try_unshield_tx(dec_key_bytes: Vec, shielded_tx: ShieldedTransaction) -> Option<::Extrinsic> { + MevShield::try_unshield_tx::(dec_key_bytes, shielded_tx) } } } From a76c5a6981b32d29139067b2c19322237b3e7153 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 14:20:54 -0300 Subject: [PATCH 095/204] fix compilation errors --- pallets/subtensor/Cargo.toml | 1 - pallets/subtensor/src/extensions/subtensor.rs | 2 +- runtime/src/lib.rs | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index cbc90b04a6..2c6b3c072e 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -77,7 +77,6 @@ tracing.workspace = true tracing-log.workspace = true tracing-subscriber = { workspace = true, features = ["fmt", "env-filter"] } pallet-shield = { workspace = true, features = ["std"] } -sp-consensus-aura.workspace = true [features] try-runtime = [ diff --git a/pallets/subtensor/src/extensions/subtensor.rs b/pallets/subtensor/src/extensions/subtensor.rs index b53a983970..a5640e1736 100644 --- a/pallets/subtensor/src/extensions/subtensor.rs +++ b/pallets/subtensor/src/extensions/subtensor.rs @@ -1,4 +1,4 @@ -use crate::{BalancesCall, Call, ColdkeySwapScheduled, Config, Error, Pallet, TransactionType}; +use crate::{BalancesCall, Call, Config, Error, Pallet, TransactionType}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::dispatch::{DispatchInfo, PostDispatchInfo}; use frame_support::traits::IsSubType; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 1ace772ea4..d5fcfed8d3 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -199,7 +199,7 @@ impl frame_system::offchain::CreateSignedTransaction ChargeTransactionPaymentWrapper::new(0), SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), - pallet_subtensor::transaction_extension::SubtensorTransactionExtension::::new(), + pallet_subtensor::SubtensorTransactionExtension::::new(), pallet_drand::drand_priority::DrandPriority::::new(), ), frame_metadata_hash_extension::CheckMetadataHash::::new(true), @@ -1671,7 +1671,7 @@ pub type CustomTxExtension = ( ChargeTransactionPaymentWrapper, SudoTransactionExtension, pallet_shield::CheckShieldedTxValidity, - pallet_subtensor::transaction_extension::SubtensorTransactionExtension, + pallet_subtensor::SubtensorTransactionExtension, pallet_drand::drand_priority::DrandPriority, ); pub type TxExtension = ( From 87f429fc903b5e2725e3577ea7a6cacad22b91c5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 14:22:29 -0300 Subject: [PATCH 096/204] update frontier and polkadot-sdk rev --- Cargo.lock | 3780 ++++++++++++++-------------------------------------- Cargo.toml | 270 ++-- 2 files changed, 1122 insertions(+), 2928 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d6be2a801a..5a194c6a94 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,7 +1056,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1435,17 +1435,7 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", -] - -[[package]] -name = "binary-merkle-tree" -version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "hash-db", "log", @@ -1714,7 +1704,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1731,7 +1721,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1747,7 +1737,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1764,7 +1754,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-messages", "bp-runtime", @@ -1780,7 +1770,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-messages", @@ -1798,7 +1788,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -1821,7 +1811,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1841,7 +1831,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-messages", "bp-runtime", @@ -1858,7 +1848,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -1870,7 +1860,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1889,7 +1879,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-messages", @@ -2752,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -2778,7 +2768,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "clap", "parity-scale-codec", @@ -2795,7 +2785,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2818,7 +2808,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2865,7 +2855,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2897,7 +2887,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "anyhow", "async-trait", @@ -2912,7 +2902,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2935,7 +2925,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2962,7 +2952,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2970,20 +2960,20 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-babe 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api", + "sc-consensus-babe", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-storage", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3011,7 +3001,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -3051,7 +3041,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3068,7 +3058,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -3085,7 +3075,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -3122,7 +3112,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3133,7 +3123,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -3146,7 +3136,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3161,7 +3151,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -3180,7 +3170,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3195,7 +3185,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "approx", "bounded-collections 0.2.4", @@ -3220,7 +3210,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -3235,117 +3225,74 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "cumulus-primitives-core" -version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tracing", + "sp-api", + "sp-consensus-aura", ] [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "polkadot-primitives 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "polkadot-core-primitives", + "polkadot-parachain-primitives", + "polkadot-primitives", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "staging-xcm 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-runtime", + "sp-trie", + "staging-xcm", "tracing", ] [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-primitives-core", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "cumulus-primitives-proof-size-hostfunction" -version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core", + "sp-inherents", + "sp-trie", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "cumulus-primitives-storage-weight-reclaim" -version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "docify", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "log", - "parity-scale-codec", - "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-externalities", + "sp-runtime-interface", + "sp-trie", ] [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "cumulus-primitives-core 0.19.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "cumulus-primitives-proof-size-hostfunction 0.13.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "cumulus-primitives-core", + "cumulus-primitives-proof-size-hostfunction", "docify", - "frame-benchmarking 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-benchmarking", + "frame-support", + "frame-system", "log", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime", ] [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3362,7 +3309,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -3390,7 +3337,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3410,7 +3357,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -3446,7 +3393,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3487,7 +3434,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-relay-chain-interface", "futures", @@ -3501,7 +3448,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4283,7 +4230,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "alloy-core", ] @@ -4500,7 +4447,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "async-trait", "fp-storage", @@ -4512,7 +4459,7 @@ dependencies = [ [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fc-rpc", "fp-storage", @@ -4528,7 +4475,7 @@ dependencies = [ [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fc-rpc", "sc-client-api", @@ -4544,7 +4491,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "async-trait", "fp-consensus", @@ -4560,7 +4507,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "async-trait", "ethereum", @@ -4590,7 +4537,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fc-db", "fc-storage", @@ -4613,7 +4560,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -4664,7 +4611,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -4673,13 +4620,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -4844,15 +4791,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", -] - -[[package]] -name = "fork-tree" -version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", ] @@ -4879,7 +4818,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "hex", "impl-serde", @@ -4897,7 +4836,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "parity-scale-codec", @@ -4908,7 +4847,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -4920,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "environmental", "evm", @@ -4936,7 +4875,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -4952,7 +4891,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "frame-support", "parity-scale-codec", @@ -4964,7 +4903,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "parity-scale-codec", "serde", @@ -4979,55 +4918,31 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "linregress", - "log", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "static_assertions", -] - -[[package]] -name = "frame-benchmarking" -version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "frame-system 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support", + "frame-support-procedural", + "frame-system", "linregress", "log", "parity-scale-codec", "paste", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-io", + "sp-runtime", + "sp-runtime-interface", + "sp-storage", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -5092,7 +5007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5120,7 +5035,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5131,7 +5046,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5148,7 +5063,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "aquamarine", "frame-support", @@ -5201,7 +5116,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5217,7 +5132,7 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -5231,57 +5146,16 @@ dependencies = [ [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "aquamarine", - "array-bytes 6.2.3", - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "bitflags 1.3.2", - "docify", - "environmental", - "frame-metadata 23.0.0", - "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "impl-trait-for-tuples", - "k256", - "log", - "macro_magic", - "parity-scale-codec", - "paste", - "scale-info", - "serde", - "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tt-call", -] - -[[package]] -name = "frame-support" -version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "aquamarine", "array-bytes 6.2.3", - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "binary-merkle-tree", "bitflags 1.3.2", "docify", "environmental", "frame-metadata 23.0.0", - "frame-support-procedural 34.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support-procedural", "impl-trait-for-tuples", "k256", "log", @@ -5291,62 +5165,42 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-arithmetic", + "sp-core", + "sp-crypto-hashing-proc-macro", + "sp-debug-derive", + "sp-genesis-builder", + "sp-inherents", + "sp-io", + "sp-metadata-ir", + "sp-runtime", + "sp-staking", + "sp-state-machine", + "sp-std", + "sp-tracing", + "sp-trie", + "sp-weights", "tt-call", ] [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "Inflector", - "cfg-expr", - "derive-syn-parse", - "docify", - "expander", - "frame-support-procedural-tools 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "itertools 0.11.0", - "macro_magic", - "proc-macro-warning", - "proc-macro2", - "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "syn 2.0.106", -] - -[[package]] -name = "frame-support-procedural" -version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "Inflector", "cfg-expr", "derive-syn-parse", "docify", "expander", - "frame-support-procedural-tools 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support-procedural-tools 13.0.1", "itertools 0.11.0", "macro_magic", "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", "syn 2.0.106", ] @@ -5366,21 +5220,9 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "frame-support-procedural-tools" -version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "frame-support-procedural-tools-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support-procedural-tools-derive 12.0.0", "proc-macro-crate 3.4.0", "proc-macro2", "quote", @@ -5401,17 +5243,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "frame-support-procedural-tools-derive" -version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro2", "quote", @@ -5421,45 +5253,26 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "cfg-if", - "docify", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "frame-system" -version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cfg-if", "docify", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support", "log", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-io", + "sp-runtime", + "sp-version", + "sp-weights", ] [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5473,7 +5286,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "parity-scale-codec", @@ -5483,7 +5296,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "parity-scale-codec", @@ -8067,7 +7880,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "log", @@ -8086,7 +7899,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9028,7 +8841,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -9039,16 +8852,16 @@ dependencies = [ "pallet-identity", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-io", + "sp-runtime", ] [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9066,7 +8879,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9084,7 +8897,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9099,7 +8912,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9113,7 +8926,7 @@ dependencies = [ [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9131,7 +8944,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9147,7 +8960,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ethereum-standards", "frame-benchmarking", @@ -9165,7 +8978,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "pallet-assets", @@ -9177,7 +8990,7 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9192,7 +9005,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9202,7 +9015,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9218,7 +9031,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9233,7 +9046,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9246,7 +9059,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9269,7 +9082,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "aquamarine", "docify", @@ -9290,7 +9103,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -9306,7 +9119,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "frame-support", @@ -9320,7 +9133,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9339,7 +9152,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9364,7 +9177,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9381,7 +9194,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9400,7 +9213,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-messages", @@ -9419,7 +9232,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9439,7 +9252,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-header-chain", "bp-messages", @@ -9462,7 +9275,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "frame-benchmarking", @@ -9480,7 +9293,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9498,7 +9311,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9517,7 +9330,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -9534,7 +9347,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9575,7 +9388,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "environmental", "frame-benchmarking", @@ -9606,7 +9419,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9637,17 +9450,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-6#598feddb893f5ad3923a62e41a2f179b6e10c30c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "pallet-contracts-proc-macro" -version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro2", "quote", @@ -9657,18 +9460,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-stable2503-6#598feddb893f5ad3923a62e41a2f179b6e10c30c" -dependencies = [ - "bitflags 1.3.2", - "parity-scale-codec", - "paste", - "scale-info", -] - -[[package]] -name = "pallet-contracts-uapi" -version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9679,7 +9471,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9695,7 +9487,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9732,7 +9524,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9747,7 +9539,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9764,7 +9556,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -9813,7 +9605,7 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9831,7 +9623,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9852,7 +9644,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9873,7 +9665,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9886,7 +9678,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -9904,7 +9696,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "ethereum", "ethereum-types", @@ -9927,7 +9719,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -9952,7 +9744,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "frame-support", "frame-system", @@ -9963,7 +9755,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "sp-core", @@ -9973,7 +9765,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "frame-support", @@ -9985,7 +9777,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "num", @@ -9994,7 +9786,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "tiny-keccak", @@ -10003,7 +9795,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "fp-evm", "ripemd", @@ -10013,7 +9805,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -10031,7 +9823,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -10049,7 +9841,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10071,7 +9863,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "frame-benchmarking", "frame-support", @@ -10086,7 +9878,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10102,7 +9894,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10121,7 +9913,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10136,7 +9928,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10147,7 +9939,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10160,7 +9952,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10176,7 +9968,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "environmental", "frame-benchmarking", @@ -10195,7 +9987,7 @@ dependencies = [ [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -10213,7 +10005,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -10232,7 +10024,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", @@ -10246,7 +10038,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", @@ -10258,7 +10050,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", @@ -10269,7 +10061,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "pallet-assets", @@ -10282,7 +10074,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10299,7 +10091,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10309,7 +10101,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", @@ -10320,7 +10112,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10338,7 +10130,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10358,7 +10150,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10368,7 +10160,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10383,7 +10175,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10406,7 +10198,7 @@ dependencies = [ [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10424,7 +10216,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "parity-scale-codec", @@ -10435,7 +10227,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -10452,7 +10244,7 @@ dependencies = [ [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10470,7 +10262,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10486,7 +10278,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10496,7 +10288,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10514,7 +10306,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10524,7 +10316,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10559,7 +10351,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10574,7 +10366,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "alloy-core", "derive_more 0.99.20", @@ -10620,7 +10412,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "anyhow", "cargo_metadata", @@ -10634,7 +10426,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro2", "quote", @@ -10644,7 +10436,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10656,7 +10448,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10672,7 +10464,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10685,7 +10477,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "pallet-balances", @@ -10699,7 +10491,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "pallet-ranked-collective", @@ -10711,7 +10503,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -10728,7 +10520,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10741,7 +10533,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10762,7 +10554,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10806,7 +10598,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10818,7 +10610,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10835,7 +10627,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10857,7 +10649,7 @@ dependencies = [ [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10880,7 +10672,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10899,7 +10691,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10916,7 +10708,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10927,7 +10719,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "sp-arithmetic", @@ -10936,7 +10728,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "sp-api", @@ -10946,7 +10738,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -10962,7 +10754,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", @@ -10991,6 +10783,7 @@ dependencies = [ "log", "ndarray", "num-traits", + "pallet-aura", "pallet-balances", "pallet-commitments", "pallet-crowdloan", @@ -11001,6 +10794,7 @@ dependencies = [ "pallet-subtensor-proxy", "pallet-subtensor-swap", "pallet-subtensor-utility", + "pallet-timestamp", "pallet-transaction-payment", "parity-scale-codec", "polkadot-runtime-common", @@ -11119,7 +10913,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -11134,7 +10928,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -11152,7 +10946,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11170,7 +10964,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11185,7 +10979,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -11201,7 +10995,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -11213,7 +11007,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -11232,7 +11026,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -11251,7 +11045,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "parity-scale-codec", @@ -11262,7 +11056,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11276,7 +11070,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11291,7 +11085,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11306,7 +11100,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11320,7 +11114,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11330,7 +11124,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bounded-collections 0.2.4", "frame-benchmarking", @@ -11356,7 +11150,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-benchmarking", "frame-support", @@ -11373,7 +11167,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-messages", "bp-runtime", @@ -11395,7 +11189,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11415,7 +11209,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11754,7 +11548,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "futures-timer", @@ -11772,7 +11566,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "futures-timer", @@ -11787,7 +11581,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fatality", "futures", @@ -11810,7 +11604,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "fatality", @@ -11843,7 +11637,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11867,7 +11661,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "fatality", @@ -11890,29 +11684,18 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "polkadot-core-primitives" -version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-runtime", ] [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fatality", "futures", @@ -11934,7 +11717,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -11948,7 +11731,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "futures-timer", @@ -11958,18 +11741,18 @@ dependencies = [ "polkadot-primitives", "rand 0.8.5", "rand_chacha 0.3.1", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-network", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-keystore", "tracing-gum", ] [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "always-assert", "async-trait", @@ -11992,7 +11775,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "parity-scale-codec", @@ -12010,7 +11793,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "bitvec", @@ -12042,7 +11825,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -12066,7 +11849,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "futures", @@ -12085,7 +11868,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "fatality", @@ -12106,7 +11889,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12121,7 +11904,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -12143,7 +11926,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "polkadot-node-metrics", @@ -12157,7 +11940,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "futures-timer", @@ -12173,7 +11956,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fatality", "futures", @@ -12191,7 +11974,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -12208,7 +11991,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fatality", "futures", @@ -12222,7 +12005,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "fatality", @@ -12239,7 +12022,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -12267,7 +12050,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12280,7 +12063,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cpu-time", "futures", @@ -12294,11 +12077,11 @@ dependencies = [ "sc-executor-common", "sc-executor-wasmtime", "seccompiler", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-externalities", + "sp-io", + "sp-tracing", "thiserror 1.0.69", "tracing-gum", ] @@ -12306,7 +12089,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "polkadot-node-metrics", @@ -12321,7 +12104,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bs58", "futures", @@ -12338,7 +12121,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12363,7 +12146,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "bounded-vec", @@ -12387,7 +12170,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12396,7 +12179,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12424,7 +12207,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fatality", "futures", @@ -12455,7 +12238,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "clap", @@ -12541,7 +12324,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -12561,97 +12344,52 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "bounded-collections 0.2.4", - "derive_more 0.99.20", - "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "scale-info", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "polkadot-parachain-primitives" -version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "polkadot-core-primitives", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-runtime", + "sp-weights", ] [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "bounded-collections 0.2.4", "hex-literal", "log", "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "polkadot-core-primitives", + "polkadot-parachain-primitives", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", + "sp-std", "thiserror 1.0.69", ] [[package]] -name = "polkadot-primitives" -version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "bitvec", - "bounded-collections 0.2.4", - "hex-literal", - "log", - "parity-scale-codec", - "polkadot-core-primitives 18.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "polkadot-parachain-primitives 17.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-authority-discovery 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "thiserror 1.0.69", -] - -[[package]] -name = "polkadot-rpc" -version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +name = "polkadot-rpc" +version = "25.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -12684,7 +12422,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "frame-benchmarking", @@ -12734,7 +12472,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bs58", "frame-benchmarking", @@ -12746,7 +12484,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12794,7 +12532,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "assets-common", "bridge-hub-common", @@ -12952,7 +12690,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-benchmarking", @@ -12987,7 +12725,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "frame-benchmarking", @@ -13095,7 +12833,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitvec", "fatality", @@ -13115,7 +12853,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -13388,7 +13126,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "derive_more 1.0.0", "environmental", @@ -13417,14 +13155,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=f12a1274f91442a564bb722a2b9547caba487fa0#f12a1274f91442a564bb722a2b9547caba487fa0" +source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", "syn 2.0.106", ] @@ -13606,7 +13344,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", "syn 2.0.106", ] @@ -14253,7 +13991,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14351,7 +14089,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "polkadot-primitives", @@ -14747,29 +14485,18 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "log", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-allocator" -version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-wasm-interface", "thiserror 1.0.69", ] [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -14800,122 +14527,71 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "log", "parity-scale-codec", "sc-block-builder", "sc-proposer-metrics", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "stp-shield 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-block-builder" -version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "stp-shield", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "parity-scale-codec", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-chain-spec" -version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "array-bytes 6.2.3", - "docify", - "memmap2 0.9.8", "parity-scale-codec", - "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf)", - "serde", - "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", + "clap", "docify", "memmap2 0.9.8", "parity-scale-codec", - "sc-chain-spec-derive 12.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-chain-spec-derive", + "sc-client-api", + "sc-executor", + "sc-network", + "sc-telemetry", "serde", "serde_json", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-genesis-builder 0.18.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-chain-spec-derive" -version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.106", + "sp-blockchain", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-genesis-builder", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14926,7 +14602,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14968,87 +14644,33 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "fnv", - "futures", - "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-client-api" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "fnv", "futures", "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-client-db" -version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "hash-db", - "kvdb", - "kvdb-memorydb", - "kvdb-rocksdb", - "linked-hash-map", - "log", - "parity-db", - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-state-db 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sysinfo", + "sc-executor", + "sc-transaction-pool-api", + "sc-utils", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-database", + "sp-externalities", + "sp-runtime", + "sp-state-machine", + "sp-storage", + "sp-trie", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "hash-db", "kvdb", @@ -15059,167 +14681,79 @@ dependencies = [ "parity-db", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-state-db 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-state-db", "schnellru", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic", + "sp-blockchain", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", + "sp-trie", + "substrate-prometheus-endpoint", "sysinfo", ] [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "futures", - "log", - "mockall", - "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", "log", "mockall", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-network-types", + "sc-utils", "serde", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-aura" -version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "sp-state-machine", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "async-trait", - "futures", - "log", - "parity-scale-codec", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-aura 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-consensus-babe" -version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "log", - "num-bigint", - "num-rational", - "num-traits", "parity-scale-codec", - "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-block-builder", + "sc-client-api", + "sc-consensus", + "sc-consensus-slots", + "sc-telemetry", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-aura", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "fork-tree", "futures", "log", "num-bigint", @@ -15227,32 +14761,32 @@ dependencies = [ "num-traits", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus-epochs 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus-slots 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-babe 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-consensus", + "sc-consensus-epochs", + "sc-consensus-slots", + "sc-telemetry", + "sc-transaction-pool-api", + "sp-api", + "sp-application-crypto", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-consensus-slots", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-inherents", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "jsonrpsee", @@ -15274,7 +14808,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15308,7 +14842,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "jsonrpsee", @@ -15328,33 +14862,20 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-consensus-epochs" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "fork-tree", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-consensus", + "sp-blockchain", + "sp-runtime", ] [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -15381,24 +14902,24 @@ dependencies = [ "sc-transaction-pool-api", "sc-utils", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "finality-grandpa", "futures", @@ -15418,7 +14939,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "assert_matches", "async-trait", @@ -15453,117 +14974,58 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", "futures-timer", "log", "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api", + "sc-consensus", + "sc-telemetry", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", ] [[package]] -name = "sc-consensus-slots" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-executor" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-polkavm 0.36.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tracing", -] - -[[package]] -name = "sc-executor" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +name = "sc-executor" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-executor-polkavm 0.36.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-executor-wasmtime 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-executor-common", + "sc-executor-polkavm", + "sc-executor-wasmtime", "schnellru", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-core", + "sp-externalities", + "sp-io", + "sp-panic-handler", + "sp-runtime-interface", + "sp-trie", + "sp-version", + "sp-wasm-interface", "tracing", ] [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "polkavm 0.24.0", - "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "wasm-instrument", -] - -[[package]] -name = "sc-executor-common" -version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "polkavm 0.24.0", - "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-maybe-compressed-blob 11.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-allocator", + "sp-maybe-compressed-blob", + "sp-wasm-interface", "thiserror 1.0.69", "wasm-instrument", ] @@ -15571,149 +15033,64 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "polkavm 0.24.0", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-executor-polkavm" -version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "log", - "polkavm 0.24.0", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-executor-wasmtime" -version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "anyhow", - "log", - "parking_lot 0.12.5", - "rustix 0.36.17", - "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "wasmtime", + "sc-executor-common", + "sp-wasm-interface", ] [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "anyhow", "log", "parking_lot 0.12.5", "rustix 0.36.17", - "sc-allocator 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-allocator", + "sc-executor-common", + "sp-runtime-interface", + "sp-wasm-interface", "wasmtime", ] [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "console", - "futures", - "futures-timer", - "log", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-informant" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "console", "futures", "futures-timer", "log", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-keystore" -version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "parking_lot 0.12.5", - "serde_json", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", + "sc-client-api", + "sc-network", + "sc-network-sync", + "sp-blockchain", + "sp-runtime", ] [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", "serde_json", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-mixnet" -version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "arrayvec 0.7.6", - "blake2 0.10.6", - "bytes", - "futures", - "futures-timer", - "log", - "mixnet", - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-application-crypto", + "sp-core", + "sp-keystore", "thiserror 1.0.69", ] [[package]] name = "sc-mixnet" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -15725,73 +15102,23 @@ dependencies = [ "mixnet", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-mixnet 0.15.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-network" -version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "async-channel 1.9.0", - "async-trait", - "asynchronous-codec 0.6.2", - "bytes", - "cid 0.9.0", - "either", - "fnv", - "futures", - "futures-timer", - "ip_network", - "libp2p", - "linked_hash_set", - "litep2p", - "log", - "mockall", - "parity-scale-codec", - "parking_lot 0.12.5", - "partial_sort", - "pin-project", - "prost 0.12.6", - "prost-build", - "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "serde", - "serde_json", - "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-client-api", + "sc-network", + "sc-network-types", + "sc-transaction-pool-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-keystore", + "sp-mixnet", + "sp-runtime", "thiserror 1.0.69", - "tokio", - "tokio-stream", - "unsigned-varint 0.7.2", - "void", - "wasm-timer", - "zeroize", ] [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15816,19 +15143,19 @@ dependencies = [ "prost 0.12.6", "prost-build", "rand 0.8.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-network-common", + "sc-network-types", + "sc-utils", "schnellru", "serde", "serde_json", "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic", + "sp-blockchain", + "sp-core", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -15841,27 +15168,17 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-network-common" -version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "bitflags 1.3.2", - "parity-scale-codec", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime", ] [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ahash", "futures", @@ -15880,7 +15197,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15889,121 +15206,65 @@ dependencies = [ "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-network-light" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "array-bytes 6.2.3", - "async-channel 1.9.0", - "futures", - "log", - "parity-scale-codec", - "prost 0.12.6", - "prost-build", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-network", + "sc-network-types", + "sp-blockchain", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "async-channel 1.9.0", - "futures", - "log", - "parity-scale-codec", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-network-sync" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", - "async-trait", - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", "futures", "log", - "mockall", "parity-scale-codec", - "prost 0.12.6", - "prost-build", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tokio", - "tokio-stream", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", + "sp-consensus", + "sp-runtime", + "sp-statement-store", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", "async-trait", - "fork-tree 13.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "fork-tree", "futures", "log", "mockall", "parity-scale-codec", "prost 0.12.6", "prost-build", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-consensus", + "sc-network", + "sc-network-common", + "sc-network-types", + "sc-utils", "schnellru", "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-grandpa 24.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-grandpa", + "sp-core", + "sp-runtime", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -16012,66 +15273,26 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "futures", - "log", - "parity-scale-codec", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-network-transactions" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "array-bytes 6.2.3", - "futures", - "log", - "parity-scale-codec", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-network-types" -version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "bs58", - "bytes", - "ed25519-dalek", - "libp2p-identity", - "libp2p-kad", - "litep2p", +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +dependencies = [ + "array-bytes 6.2.3", + "futures", "log", - "multiaddr 0.18.2", - "multihash 0.19.3", - "rand 0.8.5", - "serde", - "serde_with", - "thiserror 1.0.69", - "zeroize", + "parity-scale-codec", + "sc-network", + "sc-network-common", + "sc-network-sync", + "sc-network-types", + "sc-utils", + "sp-consensus", + "sp-runtime", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bs58", "bytes", @@ -16092,7 +15313,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bytes", "fnv", @@ -16126,144 +15347,68 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "log", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-rpc" -version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "futures", - "jsonrpsee", "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tokio", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "jsonrpsee", "log", "parity-scale-codec", "parking_lot 0.12.5", - "sc-block-builder 0.45.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-mixnet", + "sc-rpc-api", + "sc-tracing", + "sc-transaction-pool-api", + "sc-utils", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-offchain 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-statement-store 21.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-offchain", + "sp-rpc", + "sp-runtime", + "sp-session", + "sp-statement-store", + "sp-version", "tokio", ] [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "jsonrpsee", - "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "scale-info", - "serde", - "serde_json", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-rpc-api" -version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "parity-scale-codec", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-mixnet 0.21.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-chain-spec", + "sc-mixnet", + "sc-transaction-pool-api", "scale-info", "serde", "serde_json", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-version", "thiserror 1.0.69", ] [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "dyn-clone", - "forwarded-header-value", - "futures", - "governor", - "http 1.3.1", - "http-body-util", - "hyper 1.7.0", - "ip_network", - "jsonrpsee", - "log", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "serde_json", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tokio", - "tower", - "tower-http", -] - -[[package]] -name = "sc-rpc-server" -version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -16275,10 +15420,10 @@ dependencies = [ "ip_network", "jsonrpsee", "log", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-rpc-api", "serde", "serde_json", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint", "tokio", "tower", "tower-http", @@ -16287,40 +15432,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "futures", - "futures-util", - "hex", - "itertools 0.11.0", - "jsonrpsee", - "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "rand 0.8.5", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tokio", - "tokio-stream", -] - -[[package]] -name = "sc-rpc-spec-v2" -version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "futures", @@ -16332,19 +15444,19 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "rand 0.8.5", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-chain-spec", + "sc-client-api", + "sc-rpc", + "sc-transaction-pool-api", "schnellru", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-version", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -16353,86 +15465,22 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor-common 0.39.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-service" -version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "async-trait", - "directories", - "exit-future", - "futures", - "futures-timer", - "jsonrpsee", - "log", "parity-scale-codec", - "parking_lot 0.12.5", - "pin-project", - "rand 0.8.5", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-informant 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-light 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-server 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-rpc-spec-v2 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "schnellru", - "serde", - "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "static_init", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tempfile", + "sc-executor", + "sc-executor-common", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-state-machine", + "sp-wasm-interface", "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-futures", ] [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "directories", @@ -16445,47 +15493,47 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-chain-spec 44.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-client-db 0.47.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-consensus 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-executor 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-informant 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-keystore 36.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network 0.51.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-common 0.49.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-light 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-sync 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-transactions 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-network-types 0.17.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc 46.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc-server 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-rpc-spec-v2 0.51.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-sysinfo 43.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-tracing 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool 40.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-informant", + "sc-keystore", + "sc-network", + "sc-network-common", + "sc-network-light", + "sc-network-sync", + "sc-network-transactions", + "sc-network-types", + "sc-rpc", + "sc-rpc-server", + "sc-rpc-spec-v2", + "sc-sysinfo", + "sc-telemetry", + "sc-tracing", + "sc-transaction-pool", + "sc-transaction-pool-api", + "sc-utils", "schnellru", "serde", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-session 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-transaction-storage-proof 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-externalities", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-transaction-pool", + "sp-transaction-storage-proof", + "sp-trie", + "sp-version", "static_init", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "substrate-prometheus-endpoint", "tempfile", "thiserror 1.0.69", "tokio", @@ -16496,29 +15544,18 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-state-db" -version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.5", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", ] [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-db", @@ -16537,7 +15574,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "clap", "fs4", @@ -16550,7 +15587,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -16569,27 +15606,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "derive_more 0.99.20", - "futures", - "libc", - "log", - "rand 0.8.5", - "rand_pcg", - "regex", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "serde_json", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-sysinfo" -version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "derive_more 0.99.20", "futures", @@ -16598,37 +15615,18 @@ dependencies = [ "rand 0.8.5", "rand_pcg", "regex", - "sc-telemetry 29.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "serde", - "serde_json", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sc-telemetry" -version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "chrono", - "futures", - "libp2p", - "log", - "parking_lot 0.12.5", - "pin-project", - "rand 0.8.5", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sc-telemetry", "serde", "serde_json", - "thiserror 1.0.69", - "wasm-timer", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-io", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "chrono", "futures", @@ -16637,45 +15635,17 @@ dependencies = [ "parking_lot 0.12.5", "pin-project", "rand 0.8.5", - "sc-utils 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "sc-utils", "serde", "serde_json", - "thiserror 1.0.69", - "wasm-timer", -] - -[[package]] -name = "sc-tracing" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "chrono", - "console", - "is-terminal", - "libc", - "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "rustc-hash 1.1.0", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-tracing-proc-macro 11.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tracing", - "tracing-log", - "tracing-subscriber 0.3.18", + "thiserror 1.0.69", + "wasm-timer", ] [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "chrono", "console", @@ -16685,15 +15655,15 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", "rustc-hash 1.1.0", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-tracing-proc-macro 11.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-tracing-proc-macro", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-rpc 35.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-tracing", "thiserror 1.0.69", "tracing", "tracing-log", @@ -16703,18 +15673,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "sc-tracing-proc-macro" -version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -16725,38 +15684,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "futures", - "futures-timer", - "indexmap 2.11.4", - "itertools 0.11.0", - "linked-hash-map", - "parity-scale-codec", - "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "sc-transaction-pool" -version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -16766,18 +15694,18 @@ dependencies = [ "linked-hash-map", "parity-scale-codec", "parking_lot 0.12.5", - "sc-client-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sc-utils 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sc-client-api", + "sc-transaction-pool-api", + "sc-utils", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-transaction-pool 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "substrate-prometheus-endpoint 0.17.6 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-runtime", + "sp-tracing", + "sp-transaction-pool", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -16787,7 +15715,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", @@ -16795,33 +15723,16 @@ dependencies = [ "log", "parity-scale-codec", "serde", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sc-transaction-pool-api" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "async-trait", - "futures", - "indexmap 2.11.4", - "log", - "parity-scale-codec", - "serde", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-blockchain", + "sp-core", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-channel 1.9.0", "futures", @@ -16829,21 +15740,7 @@ dependencies = [ "log", "parking_lot 0.12.5", "prometheus", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sc-utils" -version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "async-channel 1.9.0", - "futures", - "futures-timer", - "log", - "parking_lot 0.12.5", - "prometheus", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic", ] [[package]] @@ -17553,7 +16450,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "enumn", "parity-scale-codec", @@ -17816,7 +16713,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bp-relayers", "frame-support", @@ -17900,51 +16797,29 @@ dependencies = [ [[package]] name = "sp-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "docify", - "hash-db", - "log", - "parity-scale-codec", - "scale-info", - "sp-api-proc-macro 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-api" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "hash-db", "log", "parity-scale-codec", "scale-info", - "sp-api-proc-macro 23.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-metadata-ir 0.11.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api-proc-macro", + "sp-core", + "sp-externalities", + "sp-metadata-ir", + "sp-runtime", + "sp-runtime-interface", + "sp-state-machine", + "sp-trie", + "sp-version", "thiserror 1.0.69", ] [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "Inflector", "blake2 0.10.6", @@ -17955,62 +16830,22 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "sp-api-proc-macro" -version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "Inflector", - "blake2 0.10.6", - "expander", - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "sp-application-crypto" -version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-arithmetic" -version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "docify", - "integer-sqrt", - "num-traits", "parity-scale-codec", "scale-info", "serde", - "static_assertions", + "sp-core", + "sp-io", ] [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "integer-sqrt", @@ -18024,81 +16859,40 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-authority-discovery" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-block-builder" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-application-crypto", + "sp-runtime", ] [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-blockchain" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "futures", - "parity-scale-codec", - "parking_lot 0.12.5", - "schnellru", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tracing", + "sp-api", + "sp-inherents", + "sp-runtime", ] [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "futures", "parity-scale-codec", "parking_lot 0.12.5", "schnellru", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-database 10.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-consensus", + "sp-core", + "sp-database", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.69", "tracing", ] @@ -18106,227 +16900,103 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "futures", - "log", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-consensus" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "futures", "log", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents", + "sp-runtime", + "sp-state-machine", "thiserror 1.0.69", ] [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-consensus-aura" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-consensus-babe" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-consensus-slots 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-timestamp", ] [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-mmr-primitives", - "sp-runtime", - "sp-weights", - "strum 0.26.3", -] - -[[package]] -name = "sp-consensus-grandpa" -version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-consensus-grandpa" -version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-consensus-slots" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-io", + "sp-keystore", + "sp-mmr-primitives", + "sp-runtime", + "sp-weights", + "strum 0.26.3", ] [[package]] -name = "sp-consensus-slots" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +name = "sp-consensus-grandpa" +version = "24.0.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ + "finality-grandpa", + "log", "parity-scale-codec", "scale-info", "serde", - "sp-timestamp 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "sp-runtime", ] [[package]] -name = "sp-core" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +name = "sp-consensus-slots" +version = "0.43.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "ark-vrf", - "array-bytes 6.2.3", - "bitflags 1.3.2", - "blake2 0.10.6", - "bounded-collections 0.2.4", - "bs58", - "dyn-clone", - "ed25519-zebra", - "futures", - "hash-db", - "hash256-std-hasher", - "impl-serde", - "itertools 0.11.0", - "k256", - "libsecp256k1", - "log", - "merlin", - "parity-bip39", "parity-scale-codec", - "parking_lot 0.12.5", - "paste", - "primitive-types 0.13.1", - "rand 0.8.5", "scale-info", - "schnorrkel 0.11.5", - "secp256k1 0.28.2", - "secrecy 0.8.0", "serde", - "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "ss58-registry", - "substrate-bip39 0.6.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tracing", - "w3f-bls 0.1.9", - "zeroize", + "sp-timestamp", ] [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -18357,14 +17027,14 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", - "substrate-bip39 0.6.0 (git+https://github.com/paritytech/polkadot-sdk.git?rev=90497591fd4e23768a410391e7adbd09a45587cf)", + "substrate-bip39", "thiserror 1.0.69", "tracing", "w3f-bls 0.1.9", @@ -18374,7 +17044,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -18394,6 +17064,8 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" dependencies = [ "blake2b_simd", "byteorder", @@ -18406,20 +17078,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.9", - "sha3", - "twox-hash", -] - -[[package]] -name = "sp-crypto-hashing" -version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "blake2b_simd", "byteorder", @@ -18432,36 +17091,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "syn 2.0.106", -] - -[[package]] -name = "sp-crypto-hashing-proc-macro" -version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "kvdb", - "parking_lot 0.12.5", -] - -[[package]] -name = "sp-database" -version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -18470,17 +17110,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "proc-macro2", "quote", @@ -18490,103 +17120,42 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-externalities" -version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-genesis-builder" -version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-storage", ] [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", "serde_json", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-inherents" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "impl-trait-for-tuples", - "parity-scale-codec", - "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", + "sp-api", + "sp-runtime", ] [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "bytes", - "docify", - "ed25519-dalek", - "libsecp256k1", - "log", - "parity-scale-codec", - "polkavm-derive 0.24.0", - "rustversion", - "secp256k1 0.28.2", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tracing", - "tracing-core", -] - -[[package]] -name = "sp-io" -version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bytes", "docify", @@ -18597,14 +17166,14 @@ dependencies = [ "polkavm-derive 0.24.0", "rustversion", "secp256k1 0.28.2", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-state-machine 0.46.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-externalities", + "sp-keystore", + "sp-runtime-interface", + "sp-state-machine", + "sp-tracing", + "sp-trie", "tracing", "tracing-core", ] @@ -18612,7 +17181,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "sp-core", "sp-runtime", @@ -18622,38 +17191,18 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "parking_lot 0.12.5", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-keystore" -version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "thiserror 1.0.69", - "zstd 0.12.4", + "sp-core", + "sp-externalities", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -18662,17 +17211,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "frame-metadata 23.0.0", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "sp-metadata-ir" -version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -18682,29 +17221,18 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-mixnet" -version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-application-crypto", ] [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "log", "parity-scale-codec", @@ -18721,49 +17249,30 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-offchain" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-arithmetic", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-panic-handler" -version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "backtrace", - "regex", + "sp-api", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "backtrace", "regex", @@ -18772,58 +17281,19 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "rustc-hash 1.1.0", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-rpc" -version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "rustc-hash 1.1.0", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-runtime" -version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "docify", - "either", - "hash256-std-hasher", - "impl-trait-for-tuples", - "log", - "num-traits", - "parity-scale-codec", - "paste", - "rand 0.8.5", - "scale-info", - "serde", - "simple-mermaid", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "tracing", - "tuplex", + "sp-core", ] [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "binary-merkle-tree 16.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "binary-merkle-tree", "docify", "either", "hash256-std-hasher", @@ -18836,72 +17306,40 @@ dependencies = [ "scale-info", "serde", "simple-mermaid", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-io 41.0.1 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "tracing", - "tuplex", -] - -[[package]] -name = "sp-runtime-interface" -version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive 0.24.0", - "primitive-types 0.13.1", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface-proc-macro 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "static_assertions", + "sp-application-crypto", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-std", + "sp-trie", + "sp-weights", + "tracing", + "tuplex", ] [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive 0.24.0", "primitive-types 0.13.1", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface-proc-macro 19.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-storage 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-tracing 17.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-wasm-interface 22.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "Inflector", "expander", @@ -18914,81 +17352,34 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-session" -version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "parity-scale-codec", - "scale-info", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-keystore 0.43.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-staking 39.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-staking" -version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-core", + "sp-keystore", + "sp-runtime", + "sp-staking", ] [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "scale-info", "serde", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-state-machine" -version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "hash-db", - "log", - "parity-scale-codec", - "parking_lot 0.12.5", - "rand 0.8.5", - "smallvec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "tracing", - "trie-db", + "sp-core", + "sp-runtime", ] [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "hash-db", "log", @@ -18996,10 +17387,10 @@ dependencies = [ "parking_lot 0.12.5", "rand 0.8.5", "smallvec", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-panic-handler 13.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-externalities", + "sp-panic-handler", + "sp-trie", "thiserror 1.0.69", "tracing", "trie-db", @@ -19008,31 +17399,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "aes-gcm", - "curve25519-dalek", - "ed25519-dalek", - "hkdf", - "parity-scale-codec", - "rand 0.8.5", - "scale-info", - "sha2 0.10.9", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", - "x25519-dalek", -] - -[[package]] -name = "sp-statement-store" -version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -19042,13 +17409,13 @@ dependencies = [ "rand 0.8.5", "scale-info", "sha2 0.10.9", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-application-crypto 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-externalities 0.30.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime-interface 30.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", "thiserror 1.0.69", "x25519-dalek", ] @@ -19056,76 +17423,36 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk?rev=90497591fd4e23768a410391e7adbd09a45587cf#90497591fd4e23768a410391e7adbd09a45587cf" - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" - -[[package]] -name = "sp-storage" -version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-timestamp" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", + "sp-debug-derive", ] [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "parity-scale-codec", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-inherents", + "sp-runtime", "thiserror 1.0.69", ] [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "sp-tracing" -version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "tracing", @@ -19136,53 +17463,30 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-transaction-pool" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", -] - -[[package]] -name = "sp-transaction-storage-proof" -version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ - "async-trait", - "parity-scale-codec", - "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-api", + "sp-runtime", ] [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "async-trait", "parity-scale-codec", "scale-info", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-inherents 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-trie 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", ] [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "ahash", "foldhash 0.1.5", @@ -19207,53 +17511,24 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "impl-serde", "parity-scale-codec", "parity-wasm", "scale-info", "serde", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-version-proc-macro 15.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "thiserror 1.0.69", -] - -[[package]] -name = "sp-version" -version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "parity-wasm", - "scale-info", - "serde", - "sp-crypto-hashing-proc-macro 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-std 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-version-proc-macro 15.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-crypto-hashing-proc-macro", + "sp-runtime", + "sp-std", + "sp-version-proc-macro", "thiserror 1.0.69", ] [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "parity-scale-codec", - "proc-macro-warning", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "sp-version-proc-macro" -version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -19265,19 +17540,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "wasmtime", -] - -[[package]] -name = "sp-wasm-interface" -version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -19289,29 +17552,15 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "bounded-collections 0.2.4", - "parity-scale-codec", - "scale-info", - "serde", - "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "sp-weights" -version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", "scale-info", "serde", "smallvec", - "sp-arithmetic 27.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-debug-derive 14.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-arithmetic", + "sp-debug-derive", ] [[package]] @@ -19477,7 +17726,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "clap", "docify", @@ -19490,7 +17739,7 @@ dependencies = [ [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "clap", "parity-scale-codec", @@ -19508,62 +17757,41 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "staging-xcm" -version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "array-bytes 6.2.3", - "bounded-collections 0.2.4", - "derive-where", - "environmental", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "hex-literal", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "xcm-procedural 11.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "sp-runtime", ] [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", "derive-where", "environmental", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "frame-support", "hex-literal", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "serde", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "sp-weights 32.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", - "xcm-procedural 11.0.2 (git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8)", + "sp-runtime", + "sp-weights", + "xcm-procedural", ] [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "environmental", "frame-support", @@ -19587,7 +17815,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "environmental", "frame-benchmarking", @@ -19641,6 +17869,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "anyhow", "async-trait", @@ -19661,6 +17890,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "parity-scale-codec", "scale-info", @@ -19730,19 +17960,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "hmac 0.12.1", - "pbkdf2", - "schnorrkel 0.11.5", - "sha2 0.10.9", - "zeroize", -] - -[[package]] -name = "substrate-bip39" -version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -19767,7 +17985,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" [[package]] name = "substrate-fixed" @@ -19783,7 +18001,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -19791,33 +18009,19 @@ dependencies = [ "jsonrpsee", "log", "parity-scale-codec", - "sc-rpc-api 0.50.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sc-transaction-pool-api 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-api 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-block-builder 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-blockchain 40.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-core 37.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", - "sp-runtime 42.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", -] - -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "http-body-util", - "hyper 1.7.0", - "hyper-util", - "log", - "prometheus", - "thiserror 1.0.69", - "tokio", + "sc-rpc-api", + "sc-transaction-pool-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-runtime", ] [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -19831,7 +18035,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -19858,7 +18062,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -20009,7 +18213,8 @@ name = "subtensor-runtime-common" version = "0.1.0" dependencies = [ "approx", - "frame-support 41.0.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105)", + "environmental", + "frame-support", "parity-scale-codec", "polkadot-runtime-common", "scale-info", @@ -20888,7 +19093,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "coarsetime", "polkadot-primitives", @@ -20899,7 +19104,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -21893,7 +20098,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "binary-merkle-tree", "bitvec", @@ -22000,7 +20205,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "polkadot-primitives", @@ -22641,18 +20846,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "xcm-procedural" -version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8#a584a577eeaf31e3f1a65e91b0e0b41f0356f7c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "Inflector", "proc-macro2", @@ -22663,7 +20857,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "parity-scale-codec", @@ -22677,7 +20871,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7244332d66a4ca8d0a461e54afdb540ed1301105#7244332d66a4ca8d0a461e54afdb540ed1301105" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index cbb857b339..a554702391 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,8 +73,8 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -126,158 +126,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "b4ee632bbc81321d3891c82dd2c4c01438625d83", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "63332fd67a3e676b064b5ecde8ddad308714e42f", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From a5e06c0282e6d833d49f8057b09a3088a8a99898 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 18:40:23 -0300 Subject: [PATCH 097/204] bump polkadot sdk and frontier commit hashes --- Cargo.lock | 818 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 270 +++++++++--------- 2 files changed, 544 insertions(+), 544 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5a194c6a94..6816aa2602 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,7 +1056,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1435,7 +1435,7 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "hash-db", "log", @@ -1704,7 +1704,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-messages", "bp-runtime", @@ -1770,7 +1770,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-messages", @@ -1788,7 +1788,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -1811,7 +1811,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1831,7 +1831,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-messages", "bp-runtime", @@ -1848,7 +1848,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1879,7 +1879,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-messages", @@ -2742,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -2768,7 +2768,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "clap", "parity-scale-codec", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2808,7 +2808,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2855,7 +2855,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "anyhow", "async-trait", @@ -2902,7 +2902,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2925,7 +2925,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2962,7 +2962,7 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sc-consensus-babe", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -2973,7 +2973,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -3041,7 +3041,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3058,7 +3058,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -3075,7 +3075,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -3112,7 +3112,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3123,7 +3123,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3151,7 +3151,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3185,7 +3185,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "approx", "bounded-collections 0.2.4", @@ -3210,7 +3210,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-api", "sp-consensus-aura", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -3251,7 +3251,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3265,7 +3265,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -3275,7 +3275,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -3292,7 +3292,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3309,7 +3309,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -3337,7 +3337,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3357,7 +3357,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -3393,7 +3393,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3434,7 +3434,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-relay-chain-interface", "futures", @@ -3448,7 +3448,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4230,7 +4230,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "alloy-core", ] @@ -4447,7 +4447,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "async-trait", "fp-storage", @@ -4459,7 +4459,7 @@ dependencies = [ [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fc-rpc", "fp-storage", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fc-rpc", "sc-client-api", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "async-trait", "fp-consensus", @@ -4507,7 +4507,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "async-trait", "ethereum", @@ -4537,7 +4537,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fc-db", "fc-storage", @@ -4560,7 +4560,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -4611,7 +4611,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -4620,13 +4620,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -4791,7 +4791,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", ] @@ -4818,7 +4818,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "hex", "impl-serde", @@ -4836,7 +4836,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "parity-scale-codec", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -4859,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "environmental", "evm", @@ -4875,7 +4875,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -4891,7 +4891,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "frame-support", "parity-scale-codec", @@ -4903,7 +4903,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "parity-scale-codec", "serde", @@ -4918,7 +4918,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-support-procedural", @@ -4942,7 +4942,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -5007,7 +5007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -5035,7 +5035,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5046,7 +5046,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5063,7 +5063,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "aquamarine", "frame-support", @@ -5116,7 +5116,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5132,7 +5132,7 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -5146,7 +5146,7 @@ dependencies = [ [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -5187,7 +5187,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "Inflector", "cfg-expr", @@ -5200,7 +5200,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "syn 2.0.106", ] @@ -5220,7 +5220,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support-procedural-tools-derive 12.0.0", "proc-macro-crate 3.4.0", @@ -5243,7 +5243,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro2", "quote", @@ -5253,7 +5253,7 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cfg-if", "docify", @@ -5272,7 +5272,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -5286,7 +5286,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "parity-scale-codec", @@ -5296,7 +5296,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "parity-scale-codec", @@ -7880,7 +7880,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "log", @@ -7899,7 +7899,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8841,7 +8841,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -8853,7 +8853,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-io", "sp-runtime", ] @@ -8861,7 +8861,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8879,7 +8879,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8897,7 +8897,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8912,7 +8912,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8926,7 +8926,7 @@ dependencies = [ [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8944,7 +8944,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -8960,7 +8960,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ethereum-standards", "frame-benchmarking", @@ -8978,7 +8978,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "pallet-assets", @@ -8990,7 +8990,7 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9005,7 +9005,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9015,7 +9015,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9031,7 +9031,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9046,7 +9046,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9059,7 +9059,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9082,7 +9082,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "aquamarine", "docify", @@ -9103,7 +9103,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -9119,7 +9119,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "frame-support", @@ -9133,7 +9133,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9152,7 +9152,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9177,7 +9177,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9194,7 +9194,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9213,7 +9213,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-messages", @@ -9232,7 +9232,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9252,7 +9252,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-header-chain", "bp-messages", @@ -9275,7 +9275,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "frame-benchmarking", @@ -9293,7 +9293,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9311,7 +9311,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9330,7 +9330,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -9347,7 +9347,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9388,7 +9388,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "environmental", "frame-benchmarking", @@ -9419,7 +9419,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9450,7 +9450,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro2", "quote", @@ -9460,7 +9460,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9471,7 +9471,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9487,7 +9487,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9524,7 +9524,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9539,7 +9539,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9556,7 +9556,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -9605,7 +9605,7 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9623,7 +9623,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9644,7 +9644,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9665,7 +9665,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9678,7 +9678,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9696,7 +9696,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "ethereum", "ethereum-types", @@ -9719,7 +9719,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -9744,7 +9744,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "frame-support", "frame-system", @@ -9755,7 +9755,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "sp-core", @@ -9765,7 +9765,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "frame-support", @@ -9777,7 +9777,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "num", @@ -9786,7 +9786,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "tiny-keccak", @@ -9795,7 +9795,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "fp-evm", "ripemd", @@ -9805,7 +9805,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -9823,7 +9823,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -9841,7 +9841,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9863,7 +9863,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "frame-benchmarking", "frame-support", @@ -9878,7 +9878,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "enumflags2", "frame-benchmarking", @@ -9894,7 +9894,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9913,7 +9913,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9928,7 +9928,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9939,7 +9939,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9952,7 +9952,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -9968,7 +9968,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "environmental", "frame-benchmarking", @@ -9987,7 +9987,7 @@ dependencies = [ [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10005,7 +10005,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10024,7 +10024,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -10038,7 +10038,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -10050,7 +10050,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -10061,7 +10061,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "pallet-assets", @@ -10074,7 +10074,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10091,7 +10091,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10101,7 +10101,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -10112,7 +10112,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10130,7 +10130,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10150,7 +10150,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10160,7 +10160,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10175,7 +10175,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10198,7 +10198,7 @@ dependencies = [ [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10216,7 +10216,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "parity-scale-codec", @@ -10227,7 +10227,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10244,7 +10244,7 @@ dependencies = [ [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10262,7 +10262,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10278,7 +10278,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10288,7 +10288,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10306,7 +10306,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10316,7 +10316,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10351,7 +10351,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10366,7 +10366,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "alloy-core", "derive_more 0.99.20", @@ -10412,7 +10412,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "anyhow", "cargo_metadata", @@ -10426,7 +10426,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro2", "quote", @@ -10436,7 +10436,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10448,7 +10448,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10464,7 +10464,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10477,7 +10477,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "pallet-balances", @@ -10491,7 +10491,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "pallet-ranked-collective", @@ -10503,7 +10503,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10520,7 +10520,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10533,7 +10533,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10554,7 +10554,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10598,7 +10598,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10610,7 +10610,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10627,7 +10627,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10649,7 +10649,7 @@ dependencies = [ [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10672,7 +10672,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10691,7 +10691,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10708,7 +10708,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10719,7 +10719,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "sp-arithmetic", @@ -10728,7 +10728,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "sp-api", @@ -10738,7 +10738,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10754,7 +10754,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", @@ -10913,7 +10913,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10928,7 +10928,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -10946,7 +10946,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10964,7 +10964,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -10979,7 +10979,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -10995,7 +10995,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -11007,7 +11007,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -11026,7 +11026,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -11045,7 +11045,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "parity-scale-codec", @@ -11056,7 +11056,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -11070,7 +11070,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -11085,7 +11085,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -11100,7 +11100,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -11114,7 +11114,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11124,7 +11124,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bounded-collections 0.2.4", "frame-benchmarking", @@ -11150,7 +11150,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-benchmarking", "frame-support", @@ -11167,7 +11167,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-messages", "bp-runtime", @@ -11189,7 +11189,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11209,7 +11209,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11548,7 +11548,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "futures-timer", @@ -11566,7 +11566,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "futures-timer", @@ -11581,7 +11581,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fatality", "futures", @@ -11604,7 +11604,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "fatality", @@ -11637,7 +11637,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11661,7 +11661,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "fatality", @@ -11684,7 +11684,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -11695,7 +11695,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fatality", "futures", @@ -11717,7 +11717,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -11731,7 +11731,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "futures-timer", @@ -11744,7 +11744,7 @@ dependencies = [ "sc-network", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-keystore", "tracing-gum", ] @@ -11752,7 +11752,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "always-assert", "async-trait", @@ -11775,7 +11775,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "parity-scale-codec", @@ -11793,7 +11793,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "bitvec", @@ -11825,7 +11825,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -11849,7 +11849,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "futures", @@ -11868,7 +11868,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "fatality", @@ -11889,7 +11889,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "polkadot-node-subsystem", @@ -11904,7 +11904,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -11926,7 +11926,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "polkadot-node-metrics", @@ -11940,7 +11940,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "futures-timer", @@ -11956,7 +11956,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fatality", "futures", @@ -11974,7 +11974,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -11991,7 +11991,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fatality", "futures", @@ -12005,7 +12005,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "fatality", @@ -12022,7 +12022,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -12050,7 +12050,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12063,7 +12063,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cpu-time", "futures", @@ -12078,7 +12078,7 @@ dependencies = [ "sc-executor-wasmtime", "seccompiler", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-externalities", "sp-io", "sp-tracing", @@ -12089,7 +12089,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "polkadot-node-metrics", @@ -12104,7 +12104,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bs58", "futures", @@ -12121,7 +12121,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12146,7 +12146,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "bounded-vec", @@ -12170,7 +12170,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12179,7 +12179,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12207,7 +12207,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fatality", "futures", @@ -12238,7 +12238,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "clap", @@ -12324,7 +12324,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -12344,7 +12344,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", @@ -12360,7 +12360,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "bounded-collections 0.2.4", @@ -12389,7 +12389,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -12422,7 +12422,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "frame-benchmarking", @@ -12472,7 +12472,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bs58", "frame-benchmarking", @@ -12484,7 +12484,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12532,7 +12532,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "assets-common", "bridge-hub-common", @@ -12690,7 +12690,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-benchmarking", @@ -12725,7 +12725,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "frame-benchmarking", @@ -12833,7 +12833,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitvec", "fatality", @@ -12853,7 +12853,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -13126,7 +13126,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "derive_more 1.0.0", "environmental", @@ -13155,14 +13155,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=3672471c31eeac31427a4cb91f9601df7f8ba766#3672471c31eeac31427a4cb91f9601df7f8ba766" +source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "syn 2.0.106", ] @@ -13344,7 +13344,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "syn 2.0.106", ] @@ -13991,7 +13991,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14089,7 +14089,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "polkadot-primitives", @@ -14485,7 +14485,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "sp-core", @@ -14496,7 +14496,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -14527,7 +14527,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "log", @@ -14549,7 +14549,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "sp-api", @@ -14564,7 +14564,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "clap", @@ -14580,7 +14580,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -14591,7 +14591,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14602,7 +14602,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14644,7 +14644,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fnv", "futures", @@ -14670,7 +14670,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "hash-db", "kvdb", @@ -14698,7 +14698,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -14721,7 +14721,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -14750,7 +14750,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "fork-tree", @@ -14775,7 +14775,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-inherents", "sp-keystore", "sp-runtime", @@ -14786,7 +14786,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "jsonrpsee", @@ -14808,7 +14808,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -14842,7 +14842,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "jsonrpsee", @@ -14862,7 +14862,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "fork-tree", "parity-scale-codec", @@ -14875,7 +14875,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -14909,7 +14909,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -14919,7 +14919,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "finality-grandpa", "futures", @@ -14939,7 +14939,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "assert_matches", "async-trait", @@ -14974,7 +14974,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -14997,7 +14997,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -15020,7 +15020,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "polkavm 0.24.0", "sc-allocator", @@ -15033,7 +15033,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "polkavm 0.24.0", @@ -15044,7 +15044,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "anyhow", "log", @@ -15060,7 +15060,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "console", "futures", @@ -15076,7 +15076,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", @@ -15090,7 +15090,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -15118,7 +15118,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15168,7 +15168,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -15178,7 +15178,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ahash", "futures", @@ -15197,7 +15197,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15218,7 +15218,7 @@ dependencies = [ [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15238,7 +15238,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15273,7 +15273,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15292,7 +15292,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bs58", "bytes", @@ -15313,7 +15313,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bytes", "fnv", @@ -15347,7 +15347,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -15356,7 +15356,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "jsonrpsee", @@ -15388,7 +15388,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15408,7 +15408,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -15432,7 +15432,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15465,13 +15465,13 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "sc-executor", "sc-executor-common", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-state-machine", "sp-wasm-interface", "thiserror 1.0.69", @@ -15480,7 +15480,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "directories", @@ -15544,7 +15544,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -15555,7 +15555,7 @@ dependencies = [ [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-db", @@ -15574,7 +15574,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "clap", "fs4", @@ -15587,7 +15587,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15606,7 +15606,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "derive_more 0.99.20", "futures", @@ -15619,14 +15619,14 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-io", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "chrono", "futures", @@ -15645,7 +15645,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "chrono", "console", @@ -15673,7 +15673,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -15684,7 +15684,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -15701,7 +15701,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -15715,7 +15715,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -15732,7 +15732,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-channel 1.9.0", "futures", @@ -16450,7 +16450,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "enumn", "parity-scale-codec", @@ -16713,7 +16713,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bp-relayers", "frame-support", @@ -16797,7 +16797,7 @@ dependencies = [ [[package]] name = "sp-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "hash-db", @@ -16819,7 +16819,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "Inflector", "blake2 0.10.6", @@ -16833,7 +16833,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -16845,7 +16845,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "integer-sqrt", @@ -16859,7 +16859,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -16871,7 +16871,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-api", "sp-inherents", @@ -16881,7 +16881,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "futures", "parity-scale-codec", @@ -16900,7 +16900,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "futures", @@ -16914,7 +16914,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "parity-scale-codec", @@ -16930,7 +16930,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "parity-scale-codec", @@ -16948,7 +16948,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -16956,7 +16956,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -16968,7 +16968,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "finality-grandpa", "log", @@ -16985,7 +16985,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -16996,7 +16996,7 @@ dependencies = [ [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -17027,7 +17027,7 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -17044,7 +17044,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -17078,7 +17078,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "blake2b_simd", "byteorder", @@ -17091,17 +17091,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -17110,7 +17110,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "proc-macro2", "quote", @@ -17120,7 +17120,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "environmental", "parity-scale-codec", @@ -17130,7 +17130,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -17142,7 +17142,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -17155,7 +17155,7 @@ dependencies = [ [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bytes", "docify", @@ -17167,7 +17167,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -17181,7 +17181,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-core", "sp-runtime", @@ -17191,7 +17191,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -17202,7 +17202,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -17211,7 +17211,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -17221,7 +17221,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -17232,7 +17232,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "log", "parity-scale-codec", @@ -17249,7 +17249,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -17262,7 +17262,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-api", "sp-core", @@ -17272,7 +17272,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "backtrace", "regex", @@ -17281,7 +17281,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -17291,7 +17291,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "binary-merkle-tree", "docify", @@ -17320,7 +17320,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -17339,7 +17339,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "Inflector", "expander", @@ -17352,7 +17352,7 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -17366,7 +17366,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -17379,7 +17379,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "hash-db", "log", @@ -17399,7 +17399,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17412,7 +17412,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -17423,12 +17423,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17440,7 +17440,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "parity-scale-codec", @@ -17452,7 +17452,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "tracing", @@ -17463,7 +17463,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "sp-api", "sp-runtime", @@ -17472,7 +17472,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "async-trait", "parity-scale-codec", @@ -17486,7 +17486,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17511,7 +17511,7 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17528,7 +17528,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -17540,7 +17540,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -17552,7 +17552,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", @@ -17726,7 +17726,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "clap", "docify", @@ -17739,7 +17739,7 @@ dependencies = [ [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "clap", "parity-scale-codec", @@ -17757,7 +17757,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -17770,7 +17770,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", @@ -17791,7 +17791,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "environmental", "frame-support", @@ -17815,7 +17815,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "environmental", "frame-benchmarking", @@ -17869,7 +17869,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "anyhow", "async-trait", @@ -17890,7 +17890,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "parity-scale-codec", "scale-info", @@ -17960,7 +17960,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -17985,7 +17985,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" [[package]] name = "substrate-fixed" @@ -18001,7 +18001,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -18021,7 +18021,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -18035,7 +18035,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -18062,7 +18062,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -19093,7 +19093,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "coarsetime", "polkadot-primitives", @@ -19104,7 +19104,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -20098,7 +20098,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "binary-merkle-tree", "bitvec", @@ -20205,7 +20205,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "polkadot-primitives", @@ -20846,7 +20846,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "Inflector", "proc-macro2", @@ -20857,7 +20857,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "parity-scale-codec", @@ -20871,7 +20871,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=7738eddc579f6b686f925ad44a28341148a173c8#7738eddc579f6b686f925ad44a28341148a173c8" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index a554702391..165d570e17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,8 +73,8 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -126,158 +126,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "3672471c31eeac31427a4cb91f9601df7f8ba766", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "7738eddc579f6b686f925ad44a28341148a173c8", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From 461784da89bc452e6ff7ca88f7cddd435a491de3 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 19:46:50 -0300 Subject: [PATCH 098/204] fix runtime-benchmarks + deps issues --- Cargo.lock | 3 +-- common/Cargo.toml | 7 ++++++- pallets/shield/Cargo.toml | 5 +++++ pallets/subtensor/Cargo.toml | 7 +------ 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6816aa2602..62963b099e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10579,6 +10579,7 @@ dependencies = [ "ml-kem", "pallet-aura", "pallet-subtensor-utility", + "pallet-timestamp", "parity-scale-codec", "rand_chacha 0.3.1", "scale-info", @@ -10794,7 +10795,6 @@ dependencies = [ "pallet-subtensor-proxy", "pallet-subtensor-swap", "pallet-subtensor-utility", - "pallet-timestamp", "pallet-transaction-payment", "parity-scale-codec", "polkadot-runtime-common", @@ -10806,7 +10806,6 @@ dependencies = [ "serde_json", "sha2 0.10.9", "share-pool", - "sp-consensus-aura", "sp-core", "sp-io", "sp-keyring", diff --git a/common/Cargo.toml b/common/Cargo.toml index 732b0cc5b1..cc2b784f65 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -30,6 +30,11 @@ workspace = true default = ["std"] approx = ["dep:approx"] fast-runtime = [] +runtime-benchmarks = [ + "frame-support/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "runtime-common/runtime-benchmarks", +] std = [ "codec/std", "environmental/std", @@ -39,5 +44,5 @@ std = [ "sp-core/std", "sp-runtime/std", "substrate-fixed/std", - "runtime-common/std" + "runtime-common/std", ] diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index a64a6d20cd..1bc6bae882 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -49,6 +49,10 @@ rand_chacha = { workspace = true, optional = true } stc-shield.workspace = true pallet-subtensor-utility.workspace = true rand_chacha.workspace = true +pallet-timestamp.workspace = true +pallet-aura.workspace = true +sp-consensus-aura.workspace = true +sp-keystore.workspace = true [features] default = ["std"] @@ -83,6 +87,7 @@ runtime-benchmarks = [ "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "pallet-subtensor-utility/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", "pallet-aura", "sp-consensus-aura", "rand_chacha", diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index 2c6b3c072e..04cca25ce8 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -62,8 +62,6 @@ pallet-balances = { workspace = true, features = ["std"] } pallet-scheduler.workspace = true pallet-subtensor-proxy.workspace = true pallet-aura.workspace = true -pallet-timestamp.workspace = true -sp-consensus-aura.workspace = true subtensor-runtime-common.workspace = true pallet-subtensor-swap.workspace = true sp-version.workspace = true @@ -94,6 +92,7 @@ try-runtime = [ "pallet-subtensor-proxy/try-runtime", "pallet-subtensor-utility/try-runtime", "pallet-shield/try-runtime", + "pallet-aura/try-runtime", ] default = ["std"] std = [ @@ -122,9 +121,7 @@ std = [ "pallet-subtensor-proxy/std", "pallet-subtensor-swap/std", "pallet-shield/std", - "pallet-timestamp/std", "pallet-aura/std", - "sp-consensus-aura/std", "subtensor-swap-interface/std", "pallet-subtensor-utility/std", "safe-math/std", @@ -142,8 +139,6 @@ std = [ "serde_json/std", "sha2/std", "rand/std", - "pallet-shield/std", - "sp-consensus-aura/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", From 7ac94351eeaf950ebd164f5c5db662ab1d3b6343 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 19:58:52 -0300 Subject: [PATCH 099/204] added benchmark test suite and fix mock/tests --- pallets/shield/src/benchmarking.rs | 2 + pallets/shield/src/mock.rs | 78 ++++++++++++++++++++++++------ pallets/shield/src/tests.rs | 28 +++++------ 3 files changed, 79 insertions(+), 29 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 1ce1c48b99..69b5cc4bd0 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -177,4 +177,6 @@ mod benches { .expect("AEAD decryption must succeed"); } } + + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 0188d081e4..7ef95a3aca 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -1,7 +1,10 @@ use crate as pallet_shield; use crate::MLKEM768_PK_LEN; -use frame_support::{BoundedVec, construct_runtime, derive_impl}; +use frame_support::traits::{ConstBool, ConstU64}; +use frame_support::{BoundedVec, construct_runtime, derive_impl, parameter_types}; +use sp_consensus_aura::sr25519::AuthorityId as AuraId; +use sp_core::sr25519; use sp_runtime::{BuildStorage, generic, testing::TestSignature}; use std::cell::RefCell; use stp_shield::ShieldPublicKey; @@ -15,16 +18,40 @@ pub type DecodableBlock = construct_runtime!( pub enum Test { System: frame_system = 0, - MevShield: pallet_shield = 1, - Utility: pallet_subtensor_utility = 2, + Timestamp: pallet_timestamp = 1, + Aura: pallet_aura = 2, + MevShield: pallet_shield = 3, + Utility: pallet_subtensor_utility = 4, } ); +const SLOT_DURATION: u64 = 6000; + +parameter_types! { + pub const SlotDuration: u64 = SLOT_DURATION; + pub const MaxAuthorities: u32 = 32; +} + #[derive_impl(frame_system::config_preludes::TestDefaultConfig)] impl frame_system::Config for Test { type Block = Block; } +impl pallet_timestamp::Config for Test { + type Moment = u64; + type OnTimestampSet = (); + type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>; + type WeightInfo = (); +} + +impl pallet_aura::Config for Test { + type AuthorityId = AuraId; + type DisabledValidators = (); + type MaxAuthorities = MaxAuthorities; + type AllowMultipleBlocksPerSlot = ConstBool; + type SlotDuration = SlotDuration; +} + impl pallet_subtensor_utility::Config for Test { type RuntimeCall = RuntimeCall; type PalletsOrigin = OriginCaller; @@ -32,31 +59,47 @@ impl pallet_subtensor_utility::Config for Test { } thread_local! { - pub static CURRENT_AUTHOR: RefCell> = const { RefCell::new(None) }; - pub static NEXT_AUTHOR: RefCell> = const { RefCell::new(None) }; + static MOCK_CURRENT: RefCell> = const { RefCell::new(None) }; + static MOCK_NEXT: RefCell>> = const { RefCell::new(None) }; } pub struct MockFindAuthors; impl pallet_shield::FindAuthors for MockFindAuthors { - fn find_current_author() -> Option { - CURRENT_AUTHOR.with(|a| *a.borrow()) + fn find_current_author() -> Option { + // Thread-local override (unit tests) → Aura fallback (benchmarks). + MOCK_CURRENT.with(|c| c.borrow().clone()).or_else(|| { + let slot = Aura::current_slot_from_digests()?; + let auths = pallet_aura::Authorities::::get().into_inner(); + auths.get(*slot as usize % auths.len()).cloned() + }) } - fn find_next_author() -> Option { - NEXT_AUTHOR.with(|a| *a.borrow()) + fn find_next_author() -> Option { + // If thread-local was set, use it (Some(None) = explicitly no next). + if let Some(val) = MOCK_NEXT.with(|n| n.borrow().clone()) { + return val; + } + // Aura fallback for benchmarks. + let next_slot = Aura::current_slot_from_digests()?.checked_add(1)?; + let auths = pallet_aura::Authorities::::get().into_inner(); + auths.get(next_slot as usize % auths.len()).cloned() } } impl pallet_shield::Config for Test { - type AuthorityId = u64; + type AuthorityId = AuraId; type FindAuthors = MockFindAuthors; } pub fn new_test_ext() -> sp_io::TestExternalities { - RuntimeGenesisConfig::default() + let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig::default() .build_storage() .expect("valid genesis") - .into() + .into(); + ext.register_extension(sp_keystore::KeystoreExt::new( + sp_keystore::testing::MemoryKeystore::new(), + )); + ext } pub fn valid_pk() -> ShieldPublicKey { @@ -67,9 +110,14 @@ pub fn valid_pk_b() -> ShieldPublicKey { BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]) } -pub fn set_authors(current: Option, next: Option) { - CURRENT_AUTHOR.with(|a| *a.borrow_mut() = current); - NEXT_AUTHOR.with(|a| *a.borrow_mut() = next); +/// Create a deterministic `AuraId` from a simple index for tests. +pub fn author(n: u8) -> AuraId { + AuraId::from(sr25519::Public::from_raw([n; 32])) +} + +pub fn set_authors(current: Option, next: Option) { + MOCK_CURRENT.with(|c| *c.borrow_mut() = current); + MOCK_NEXT.with(|n| *n.borrow_mut() = Some(next)); } pub fn nest_call(call: RuntimeCall, depth: usize) -> RuntimeCall { diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 2e47091605..02f5623eaa 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -21,7 +21,7 @@ use stc_shield::MemoryShieldKeystore; #[test] fn announce_rejects_signed_origin() { new_test_ext().execute_with(|| { - set_authors(Some(1), None); + set_authors(Some(author(1)), None); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), sp_runtime::DispatchError::BadOrigin @@ -32,7 +32,7 @@ fn announce_rejects_signed_origin() { #[test] fn announce_shifts_next_into_current() { new_test_ext().execute_with(|| { - set_authors(Some(1), Some(2)); + set_authors(Some(author(1)), Some(author(2))); let old_next = valid_pk_b(); NextKey::::put(old_next.clone()); @@ -49,7 +49,7 @@ fn announce_shifts_next_into_current() { #[test] fn announce_stores_key_in_author_keys() { new_test_ext().execute_with(|| { - set_authors(Some(1), None); + set_authors(Some(author(1)), None); let pk = valid_pk(); assert_ok!(MevShield::announce_next_key( @@ -57,17 +57,17 @@ fn announce_stores_key_in_author_keys() { Some(pk.clone()), )); - assert_eq!(AuthorKeys::::get(1u64), Some(pk)); + assert_eq!(AuthorKeys::::get(author(1)), Some(pk)); }); } #[test] fn announce_sets_next_key_from_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(1), Some(2)); + set_authors(Some(author(1)), Some(author(2))); let pk_b = valid_pk_b(); - AuthorKeys::::insert(2u64, pk_b.clone()); + AuthorKeys::::insert(author(2), pk_b.clone()); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -81,7 +81,7 @@ fn announce_sets_next_key_from_next_author() { #[test] fn announce_next_key_none_when_next_author_has_no_key() { new_test_ext().execute_with(|| { - set_authors(Some(1), Some(2)); + set_authors(Some(author(1)), Some(author(2))); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -95,7 +95,7 @@ fn announce_next_key_none_when_next_author_has_no_key() { #[test] fn announce_next_key_none_when_no_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(1), None); + set_authors(Some(author(1)), None); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -109,7 +109,7 @@ fn announce_next_key_none_when_no_next_author() { #[test] fn announce_rejects_bad_pk_length() { new_test_ext().execute_with(|| { - set_authors(Some(1), None); + set_authors(Some(author(1)), None); let bad_pk: ShieldPublicKey = BoundedVec::truncate_from(vec![0x01; 100]); assert_noop!( @@ -122,12 +122,12 @@ fn announce_rejects_bad_pk_length() { #[test] fn announce_none_pk_removes_author_key() { new_test_ext().execute_with(|| { - set_authors(Some(1), None); - AuthorKeys::::insert(1u64, valid_pk()); + set_authors(Some(author(1)), None); + AuthorKeys::::insert(author(1), valid_pk()); assert_ok!(MevShield::announce_next_key(RuntimeOrigin::none(), None)); - assert!(AuthorKeys::::get(1u64).is_none()); + assert!(AuthorKeys::::get(author(1)).is_none()); }); } @@ -342,7 +342,7 @@ mod migration_tests { // Current storage that must survive. NextKey::::put(valid_pk()); - AuthorKeys::::insert(1u64, valid_pk_b()); + AuthorKeys::::insert(author(1), valid_pk_b()); // Sanity: legacy values exist. assert_eq!(count_keys("Submissions"), 5); @@ -358,7 +358,7 @@ mod migration_tests { // Current storage untouched. assert_eq!(NextKey::::get(), Some(valid_pk())); - assert_eq!(AuthorKeys::::get(1u64), Some(valid_pk_b())); + assert_eq!(AuthorKeys::::get(author(1)), Some(valid_pk_b())); // Migration was recorded. let mig_key = BoundedVec::truncate_from(b"migrate_clear_v1_storage".to_vec()); From 50ec2441ce416dbb28b9d8f4a760354adac421be Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 19:59:07 -0300 Subject: [PATCH 100/204] update Cargo.lock --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 62963b099e..e09ee035e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10587,6 +10587,7 @@ dependencies = [ "sp-core", "sp-inherents", "sp-io", + "sp-keystore", "sp-runtime", "sp-std", "sp-weights", From cc99015952985488146f71640419affea3bd593c Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 2 Mar 2026 19:59:11 -0300 Subject: [PATCH 101/204] cargo fmt --- pallets/shield/src/lib.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 7533c8f82c..e361501381 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -296,13 +296,22 @@ impl FindAuthors for () { /// /// Performs ML-KEM-768 decapsulation followed by XChaCha20-Poly1305 AEAD decryption. /// Runs entirely in WASM — no host functions needed. -fn unshield(dec_key_bytes: &[u8], shielded_tx: &ShieldedTransaction) -> Option> { - let dec_key = - DecapsulationKey::::from_bytes(dec_key_bytes.try_into().ok()?); +fn unshield( + dec_key_bytes: &[u8], + shielded_tx: &ShieldedTransaction, +) -> Option> { + let dec_key = DecapsulationKey::::from_bytes(dec_key_bytes.try_into().ok()?); let ciphertext = Ciphertext::::try_from(shielded_tx.kem_ct.as_slice()).ok()?; let shared_secret = dec_key.decapsulate(&ciphertext).ok()?; let aead = XChaCha20Poly1305::new(shared_secret.as_slice().into()); let nonce = XNonce::from_slice(&shielded_tx.nonce); - aead.decrypt(nonce, Payload { msg: &shielded_tx.aead_ct, aad: &[] }).ok() + aead.decrypt( + nonce, + Payload { + msg: &shielded_tx.aead_ct, + aad: &[], + }, + ) + .ok() } From fd614ceef06218ca0c6acc2ad995cb0f2c7ce1d7 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 3 Mar 2026 09:56:43 -0300 Subject: [PATCH 102/204] bump spec version to 386 --- 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 1b7d96b749..c5fd050fab 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -263,7 +263,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: 385, + spec_version: 386, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 60519772c3f430d5d330d27e34d0b209b2c1f825 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 3 Mar 2026 10:24:23 -0300 Subject: [PATCH 103/204] fix compilation errors --- pallets/subtensor/src/guards/check_coldkey_swap.rs | 1 - pallets/subtensor/src/tests/mock.rs | 7 ++++++- pallets/subtensor/src/tests/registration.rs | 2 +- pallets/subtensor/src/tests/swap_coldkey.rs | 7 +------ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/pallets/subtensor/src/guards/check_coldkey_swap.rs b/pallets/subtensor/src/guards/check_coldkey_swap.rs index 95a640b9dc..b114d1b134 100644 --- a/pallets/subtensor/src/guards/check_coldkey_swap.rs +++ b/pallets/subtensor/src/guards/check_coldkey_swap.rs @@ -118,7 +118,6 @@ mod tests { }), RuntimeCall::SubtensorModule(crate::Call::dispute_coldkey_swap {}), RuntimeCall::Shield(pallet_shield::Call::submit_encrypted { - commitment: HashingOf::::hash_of(&U256::from(42)), ciphertext: BoundedVec::truncate_from(vec![1, 2, 3, 4]), }), ] diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index c2c9152aa4..0150dd78fa 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -24,7 +24,7 @@ use sp_core::{ConstU64, Get, H256, U256, offchain::KeyTypeId}; use sp_runtime::Perbill; use sp_runtime::{ BuildStorage, Percent, - traits::{BadOrigin, BlakeTwo256, IdentityLookup}, + traits::{BlakeTwo256, IdentityLookup}, }; use sp_std::{cell::RefCell, cmp::Ordering, sync::OnceLock}; use sp_tracing::tracing_subscriber; @@ -96,6 +96,11 @@ impl pallet_balances::Config for Test { type MaxFreezes = (); } +impl pallet_shield::Config for Test { + type AuthorityId = sp_core::sr25519::Public; + type FindAuthors = (); +} + pub struct NoNestingCallFilter; impl Contains for NoNestingCallFilter { diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index 4719695199..b98dce1d45 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -15,7 +15,7 @@ use subtensor_runtime_common::{ use super::mock; use super::mock::*; -use crate::transaction_extension::SubtensorTransactionExtension; +use crate::extensions::SubtensorTransactionExtension; use crate::{AxonInfoOf, Error}; /******************************************** diff --git a/pallets/subtensor/src/tests/swap_coldkey.rs b/pallets/subtensor/src/tests/swap_coldkey.rs index b35177dad4..6468435025 100644 --- a/pallets/subtensor/src/tests/swap_coldkey.rs +++ b/pallets/subtensor/src/tests/swap_coldkey.rs @@ -33,12 +33,7 @@ use crate::*; use crate::{Call, Error}; fn run_to_block(n: u64) { - System::run_to_block_with::( - n, - frame_system::RunToBlockHooks::default().before_finalize(|bn| { - Timestamp::set_timestamp(bn); - }), - ); + System::run_to_block::(n); } #[test] From 9ae4dcd8ae6cf4a84f2d7063bffade8a854394d2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 3 Mar 2026 10:40:04 -0300 Subject: [PATCH 104/204] fix zepter --- node/Cargo.toml | 1 + pallets/admin-utils/Cargo.toml | 1 + pallets/commitments/Cargo.toml | 1 + pallets/shield/Cargo.toml | 4 ++++ pallets/subtensor/Cargo.toml | 3 ++- pallets/swap/Cargo.toml | 1 + pallets/transaction-fee/Cargo.toml | 1 + runtime/Cargo.toml | 2 ++ 8 files changed, 13 insertions(+), 1 deletion(-) diff --git a/node/Cargo.toml b/node/Cargo.toml index 69fb116b5f..2766893452 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -165,6 +165,7 @@ runtime-benchmarks = [ "polkadot-sdk/runtime-benchmarks", "pallet-subtensor/runtime-benchmarks", "pallet-shield/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] pow-faucet = [] diff --git a/pallets/admin-utils/Cargo.toml b/pallets/admin-utils/Cargo.toml index 61cdba4cbf..a97ef6fabc 100644 --- a/pallets/admin-utils/Cargo.toml +++ b/pallets/admin-utils/Cargo.toml @@ -89,6 +89,7 @@ runtime-benchmarks = [ "pallet-preimage/runtime-benchmarks", "pallet-subtensor-swap/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/commitments/Cargo.toml b/pallets/commitments/Cargo.toml index d2873673bc..47bbaec7cd 100644 --- a/pallets/commitments/Cargo.toml +++ b/pallets/commitments/Cargo.toml @@ -73,6 +73,7 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-drand/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] try-runtime = [ "frame-support/try-runtime", diff --git a/pallets/shield/Cargo.toml b/pallets/shield/Cargo.toml index 1bc6bae882..8888b249b9 100644 --- a/pallets/shield/Cargo.toml +++ b/pallets/shield/Cargo.toml @@ -79,6 +79,8 @@ std = [ "pallet-subtensor-utility/std", "stc-shield/std", "subtensor-runtime-common/std", + "sp-keystore/std", + "pallet-timestamp/std", ] runtime-benchmarks = [ @@ -88,6 +90,7 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "pallet-subtensor-utility/runtime-benchmarks", "subtensor-runtime-common/runtime-benchmarks", + "pallet-timestamp/runtime-benchmarks", "pallet-aura", "sp-consensus-aura", "rand_chacha", @@ -99,4 +102,5 @@ try-runtime = [ "sp-runtime/try-runtime", "pallet-aura/try-runtime", "pallet-subtensor-utility/try-runtime", + "pallet-timestamp/try-runtime", ] diff --git a/pallets/subtensor/Cargo.toml b/pallets/subtensor/Cargo.toml index 04cca25ce8..7ed0d8e28a 100644 --- a/pallets/subtensor/Cargo.toml +++ b/pallets/subtensor/Cargo.toml @@ -156,7 +156,8 @@ runtime-benchmarks = [ "pallet-subtensor-proxy/runtime-benchmarks", "pallet-subtensor-swap/runtime-benchmarks", "pallet-subtensor-utility/runtime-benchmarks", - "pallet-shield/runtime-benchmarks" + "pallet-shield/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] pow-faucet = [] fast-runtime = ["subtensor-runtime-common/fast-runtime"] diff --git a/pallets/swap/Cargo.toml b/pallets/swap/Cargo.toml index 7de8e49c1d..c50d1d4f78 100644 --- a/pallets/swap/Cargo.toml +++ b/pallets/swap/Cargo.toml @@ -60,4 +60,5 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] diff --git a/pallets/transaction-fee/Cargo.toml b/pallets/transaction-fee/Cargo.toml index b5f08ac7c3..2180732677 100644 --- a/pallets/transaction-fee/Cargo.toml +++ b/pallets/transaction-fee/Cargo.toml @@ -82,4 +82,5 @@ runtime-benchmarks = [ "pallet-scheduler/runtime-benchmarks", "pallet-subtensor/runtime-benchmarks", "pallet-subtensor-swap/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 3047f69941..bbaeb665aa 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -323,6 +323,8 @@ runtime-benchmarks = [ # Smart Tx fees pallet "subtensor-transaction-fee/runtime-benchmarks", "pallet-shield/runtime-benchmarks", + + "subtensor-runtime-common/runtime-benchmarks", ] try-runtime = [ "frame-try-runtime/try-runtime", From d12c30fa1c488bb157cd0069af53ac4df9cc6408 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 3 Mar 2026 10:40:16 -0300 Subject: [PATCH 105/204] fix tx payment wrapper tests --- runtime/tests/transaction_payment_wrapper.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/runtime/tests/transaction_payment_wrapper.rs b/runtime/tests/transaction_payment_wrapper.rs index 639e8b3576..8b99512bea 100644 --- a/runtime/tests/transaction_payment_wrapper.rs +++ b/runtime/tests/transaction_payment_wrapper.rs @@ -7,7 +7,7 @@ use frame_support::{ use node_subtensor_runtime::{ BuildStorage, NORMAL_DISPATCH_BASE_PRIORITY, OPERATIONAL_DISPATCH_PRIORITY, Proxy, Runtime, RuntimeCall, RuntimeGenesisConfig, RuntimeOrigin, System, SystemCall, - transaction_payment_wrapper, + transaction_payment_wrapper::ChargeTransactionPaymentWrapper, }; use pallet_subtensor_proxy as pallet_proxy; use pallet_subtensor_utility as pallet_utility; @@ -128,9 +128,7 @@ fn validate_call_with_info( call: &RuntimeCall, info: &DispatchInfo, ) -> Result<(ValidTransaction, Val), TransactionValidityError> { - let ext = transaction_payment_wrapper::ChargeTransactionPaymentWrapper::::new( - ChargeTransactionPayment::from(0u64), - ); + let ext = ChargeTransactionPaymentWrapper::::new(0u64); let (valid_tx, val, _origin) = ext.validate( origin, call, From 71f32f5b0d1f7c30d9df9ded06c1eadef011e25a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 3 Mar 2026 12:08:19 -0300 Subject: [PATCH 106/204] fix clippy --- node/src/benchmarking.rs | 4 +--- runtime/src/transaction_payment_wrapper.rs | 2 ++ runtime/tests/transaction_payment_wrapper.rs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 5061b6d2a5..2f7d2fb47d 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -141,9 +141,7 @@ pub fn create_benchmark_extrinsic( transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new(0), sudo_wrapper::SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), - pallet_subtensor::transaction_extension::SubtensorTransactionExtension::< - runtime::Runtime, - >::new(), + pallet_subtensor::SubtensorTransactionExtension::::new(), pallet_drand::drand_priority::DrandPriority::::new(), ), frame_metadata_hash_extension::CheckMetadataHash::::new(true), diff --git a/runtime/src/transaction_payment_wrapper.rs b/runtime/src/transaction_payment_wrapper.rs index cdaae93e1d..b16773daf9 100644 --- a/runtime/src/transaction_payment_wrapper.rs +++ b/runtime/src/transaction_payment_wrapper.rs @@ -261,9 +261,11 @@ where ) -> Result { self.inner.prepare(val, origin, call, info, len) } + fn metadata() -> Vec { ChargeTransactionPayment::::metadata() } + fn post_dispatch_details( pre: Self::Pre, info: &DispatchInfoOf>, diff --git a/runtime/tests/transaction_payment_wrapper.rs b/runtime/tests/transaction_payment_wrapper.rs index 8b99512bea..37bbca9fd2 100644 --- a/runtime/tests/transaction_payment_wrapper.rs +++ b/runtime/tests/transaction_payment_wrapper.rs @@ -11,7 +11,7 @@ use node_subtensor_runtime::{ }; use pallet_subtensor_proxy as pallet_proxy; use pallet_subtensor_utility as pallet_utility; -use pallet_transaction_payment::{ChargeTransactionPayment, Val}; +use pallet_transaction_payment::Val; use sp_runtime::traits::{TransactionExtension, TxBaseImplication}; use sp_runtime::transaction_validity::{ TransactionSource, TransactionValidityError, ValidTransaction, From 7f1b36582cce8c0933541fff218d70624b03f5f5 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 20 Feb 2026 12:40:22 -0300 Subject: [PATCH 107/204] Revert "split E2E into another PR" This reverts commit a54809458a5d29fe95c7f3eb8ee16c8b9e839f99. --- e2e/.gitignore | 2 + e2e/.nvmrc | 1 + e2e/.prettierrc | 6 + e2e/bootstrap.sh | 34 + e2e/package.json | 14 + e2e/pnpm-lock.yaml | 1935 ++++++++++++++++++++++++ e2e/pnpm-workspace.yaml | 16 + e2e/shared/chainspec.ts | 191 +++ e2e/shared/client.ts | 95 ++ e2e/shared/node.ts | 149 ++ e2e/shared/package.json | 19 + e2e/shared/pnpm-lock.yaml | 1628 ++++++++++++++++++++ e2e/shared/sequencer.ts | 21 + e2e/shared/tsconfig.json | 11 + e2e/shield/.gitignore | 2 + e2e/shield/helpers.ts | 66 + e2e/shield/package.json | 23 + e2e/shield/setup.ts | 165 ++ e2e/shield/tests/00-basic.test.ts | 242 +++ e2e/shield/tests/01-scaling.test.ts | 139 ++ e2e/shield/tests/02-edge-cases.test.ts | 89 ++ e2e/shield/tsconfig.json | 11 + e2e/shield/vitest.config.ts | 17 + 23 files changed, 4876 insertions(+) create mode 100644 e2e/.gitignore create mode 100644 e2e/.nvmrc create mode 100644 e2e/.prettierrc create mode 100755 e2e/bootstrap.sh create mode 100644 e2e/package.json create mode 100644 e2e/pnpm-lock.yaml create mode 100644 e2e/pnpm-workspace.yaml create mode 100644 e2e/shared/chainspec.ts create mode 100644 e2e/shared/client.ts create mode 100644 e2e/shared/node.ts create mode 100644 e2e/shared/package.json create mode 100644 e2e/shared/pnpm-lock.yaml create mode 100644 e2e/shared/sequencer.ts create mode 100644 e2e/shared/tsconfig.json create mode 100644 e2e/shield/.gitignore create mode 100644 e2e/shield/helpers.ts create mode 100644 e2e/shield/package.json create mode 100644 e2e/shield/setup.ts create mode 100644 e2e/shield/tests/00-basic.test.ts create mode 100644 e2e/shield/tests/01-scaling.test.ts create mode 100644 e2e/shield/tests/02-edge-cases.test.ts create mode 100644 e2e/shield/tsconfig.json create mode 100644 e2e/shield/vitest.config.ts diff --git a/e2e/.gitignore b/e2e/.gitignore new file mode 100644 index 0000000000..f03ed1d657 --- /dev/null +++ b/e2e/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +node-subtensor/ \ No newline at end of file diff --git a/e2e/.nvmrc b/e2e/.nvmrc new file mode 100644 index 0000000000..cabf43b5dd --- /dev/null +++ b/e2e/.nvmrc @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/e2e/.prettierrc b/e2e/.prettierrc new file mode 100644 index 0000000000..90abee2393 --- /dev/null +++ b/e2e/.prettierrc @@ -0,0 +1,6 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": false, + "trailingComma": "all" +} diff --git a/e2e/bootstrap.sh b/e2e/bootstrap.sh new file mode 100755 index 0000000000..d78646f273 --- /dev/null +++ b/e2e/bootstrap.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e + +MANIFEST="../Cargo.toml" +BINARY="../target/debug/node-subtensor" + +echo "==> Building node-subtensor..." +pnpm build-node + +echo "==> Starting dev node..." +"$BINARY" --one --dev 2>&1 & +NODE_PID=$! +trap "kill $NODE_PID 2>/dev/null; wait $NODE_PID 2>/dev/null" EXIT + +TIMEOUT=60 +ELAPSED=0 + +echo "==> Waiting for node to be ready (timeout: ${TIMEOUT}s)..." +until curl -sf -o /dev/null \ + -H "Content-Type: application/json" \ + -d '{"id":1,"jsonrpc":"2.0","method":"system_health","params":[]}' \ + http://localhost:9944; do + sleep 1 + ELAPSED=$((ELAPSED + 1)) + if [ "$ELAPSED" -ge "$TIMEOUT" ]; then + echo "==> ERROR: Node failed to start within ${TIMEOUT}s" + exit 1 + fi +done + +echo "==> Generating dedot types..." +pnpm generate-types + +echo "==> Done." diff --git a/e2e/package.json b/e2e/package.json new file mode 100644 index 0000000000..23bfadfa91 --- /dev/null +++ b/e2e/package.json @@ -0,0 +1,14 @@ +{ + "name": "e2e", + "private": true, + "scripts": { + "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", + "generate-types": "pnpm --package=@dedot/cli dlx dedot chaintypes -w ws://localhost:9944", + "format": "prettier --write .", + "format:check": "prettier --check ." + }, + "devDependencies": { + "dedot": "catalog:", + "prettier": "catalog:" + } +} diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml new file mode 100644 index 0000000000..6e4741d620 --- /dev/null +++ b/e2e/pnpm-lock.yaml @@ -0,0 +1,1935 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +catalogs: + default: + '@dedot/chaintypes': + specifier: ^0.234.0 + version: 0.234.0 + '@dedot/cli': + specifier: ^1.0.4 + version: 1.0.4 + '@noble/ciphers': + specifier: ^2.1.1 + version: 2.1.1 + '@polkadot/keyring': + specifier: ^14.0.1 + version: 14.0.1 + '@polkadot/util': + specifier: ^14.0.1 + version: 14.0.1 + '@polkadot/util-crypto': + specifier: ^14.0.1 + version: 14.0.1 + '@types/node': + specifier: ^24 + version: 24.10.13 + dedot: + specifier: ^1.0.4 + version: 1.0.4 + mlkem: + specifier: ^2.5.0 + version: 2.5.0 + prettier: + specifier: ^3.0.0 + version: 3.8.1 + vitest: + specifier: ^4.0.0 + version: 4.0.18 + +importers: + + .: + devDependencies: + dedot: + specifier: 'catalog:' + version: 1.0.4 + prettier: + specifier: 'catalog:' + version: 3.8.1 + + shared: + dependencies: + '@polkadot/keyring': + specifier: 'catalog:' + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + dedot: + specifier: 'catalog:' + version: 1.0.4 + devDependencies: + '@types/node': + specifier: 'catalog:' + version: 24.10.13 + vitest: + specifier: 'catalog:' + version: 4.0.18(@types/node@24.10.13) + + shield: + dependencies: + '@noble/ciphers': + specifier: 'catalog:' + version: 2.1.1 + '@polkadot/keyring': + specifier: 'catalog:' + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + '@polkadot/util': + specifier: 'catalog:' + version: 14.0.1 + '@polkadot/util-crypto': + specifier: 'catalog:' + version: 14.0.1(@polkadot/util@14.0.1) + dedot: + specifier: 'catalog:' + version: 1.0.4 + e2e-shared: + specifier: workspace:* + version: link:../shared + mlkem: + specifier: 'catalog:' + version: 2.5.0 + devDependencies: + '@dedot/chaintypes': + specifier: 'catalog:' + version: 0.234.0(dedot@1.0.4) + '@dedot/cli': + specifier: 'catalog:' + version: 1.0.4 + '@types/node': + specifier: 'catalog:' + version: 24.10.13 + vitest: + specifier: 'catalog:' + version: 4.0.18(@types/node@24.10.13) + +packages: + + '@adraffy/ens-normalize@1.11.1': + resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} + + '@dedot/api@1.0.4': + resolution: {integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==} + engines: {node: '>=18'} + + '@dedot/chaintypes@0.234.0': + resolution: {integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==} + peerDependencies: + dedot: '>=1.0.1' + + '@dedot/cli@1.0.4': + resolution: {integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==} + engines: {node: '>=18'} + hasBin: true + + '@dedot/codecs@1.0.4': + resolution: {integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==} + engines: {node: '>=18'} + + '@dedot/codegen@1.0.4': + resolution: {integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==} + engines: {node: '>=18'} + + '@dedot/contracts@1.0.4': + resolution: {integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==} + engines: {node: '>=18'} + + '@dedot/merkleized-metadata@1.0.4': + resolution: {integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==} + engines: {node: '>=18'} + + '@dedot/providers@1.0.4': + resolution: {integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==} + engines: {node: '>=18'} + + '@dedot/runtime-specs@1.0.4': + resolution: {integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==} + engines: {node: '>=18'} + + '@dedot/shape@1.0.4': + resolution: {integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==} + engines: {node: '>=18'} + + '@dedot/smoldot@1.0.4': + resolution: {integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==} + engines: {node: '>=18'} + + '@dedot/storage@1.0.4': + resolution: {integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==} + engines: {node: '>=18'} + + '@dedot/types@1.0.4': + resolution: {integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==} + engines: {node: '>=18'} + + '@dedot/utils@1.0.4': + resolution: {integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==} + engines: {node: '>=18'} + + '@dedot/wasm@0.1.0': + resolution: {integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==} + + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@noble/ciphers@1.3.0': + resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/ciphers@2.1.1': + resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} + engines: {node: '>= 20.19.0'} + + '@noble/curves@1.9.1': + resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.9.7': + resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.8.0': + resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} + engines: {node: ^14.21.3 || >=16} + + '@polkadot/keyring@14.0.1': + resolution: {integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': 14.0.1 + '@polkadot/util-crypto': 14.0.1 + + '@polkadot/networks@14.0.1': + resolution: {integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==} + engines: {node: '>=18'} + + '@polkadot/types-support@16.5.4': + resolution: {integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==} + engines: {node: '>=18'} + + '@polkadot/util-crypto@14.0.1': + resolution: {integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': 14.0.1 + + '@polkadot/util@14.0.1': + resolution: {integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==} + engines: {node: '>=18'} + + '@polkadot/wasm-bridge@7.5.4': + resolution: {integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-crypto-asmjs@7.5.4': + resolution: {integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + + '@polkadot/wasm-crypto-init@7.5.4': + resolution: {integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-crypto-wasm@7.5.4': + resolution: {integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + + '@polkadot/wasm-crypto@7.5.4': + resolution: {integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + '@polkadot/x-randomvalues': '*' + + '@polkadot/wasm-util@7.5.4': + resolution: {integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': '*' + + '@polkadot/x-bigint@14.0.1': + resolution: {integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==} + engines: {node: '>=18'} + + '@polkadot/x-global@14.0.1': + resolution: {integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==} + engines: {node: '>=18'} + + '@polkadot/x-randomvalues@14.0.1': + resolution: {integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': '*' + + '@polkadot/x-textdecoder@14.0.1': + resolution: {integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==} + engines: {node: '>=18'} + + '@polkadot/x-textencoder@14.0.1': + resolution: {integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==} + engines: {node: '>=18'} + + '@polkadot/x-ws@14.0.1': + resolution: {integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==} + engines: {node: '>=18'} + + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} + cpu: [x64] + os: [win32] + + '@scure/base@1.2.6': + resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} + + '@scure/bip32@1.7.0': + resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} + + '@scure/bip39@1.6.0': + resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + + '@scure/sr25519@0.2.0': + resolution: {integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==} + + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + + '@substrate/ss58-registry@1.51.0': + resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==} + + '@types/bn.js@5.2.0': + resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} + + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} + + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + + abitype@1.2.3: + resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3.22.0 || ^4.0.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-spinners@3.4.0: + resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} + engines: {node: '>=18.20'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + dedot@1.0.4: + resolution: {integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==} + engines: {node: '>=18'} + hasBin: true + + deshape@0.1.0: + resolution: {integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.4.0: + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + engines: {node: '>=18'} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + isows@1.0.7: + resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} + peerDependencies: + ws: '*' + + log-symbols@7.0.1: + resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} + engines: {node: '>=18'} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mlkem@2.5.0: + resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} + engines: {node: '>=16.0.0'} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + ora@9.3.0: + resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} + engines: {node: '>=20'} + + ox@0.12.1: + resolution: {integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + engines: {node: '>=14'} + hasBin: true + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + rollup@4.57.1: + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + smoldot@2.0.40: + resolution: {integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + stdin-discarder@0.3.1: + resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} + engines: {node: '>=18'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@8.1.1: + resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} + engines: {node: '>=20'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.0.3: + resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} + engines: {node: '>=14.0.0'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + viem@2.46.1: + resolution: {integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.19.0: + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + +snapshots: + + '@adraffy/ens-normalize@1.11.1': {} + + '@dedot/api@1.0.4': + dependencies: + '@dedot/codecs': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/storage': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@dedot/chaintypes@0.234.0(dedot@1.0.4)': + dependencies: + dedot: 1.0.4 + + '@dedot/cli@1.0.4': + dependencies: + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/codegen': 1.0.4 + '@dedot/wasm': 0.1.0 + '@polkadot/types-support': 16.5.4 + ora: 9.3.0 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + '@dedot/codecs@1.0.4': + dependencies: + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 + + '@dedot/codegen@1.0.4': + dependencies: + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/contracts': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 + handlebars: 4.7.8 + prettier: 3.8.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + '@dedot/contracts@1.0.4': + dependencies: + '@dedot/api': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 + viem: 2.46.1 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + '@dedot/merkleized-metadata@1.0.4': + dependencies: + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 + + '@dedot/providers@1.0.4': + dependencies: + '@dedot/utils': 1.0.4 + '@polkadot/x-ws': 14.0.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@dedot/runtime-specs@1.0.4': + dependencies: + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/types': 1.0.4 + + '@dedot/shape@1.0.4': + dependencies: + '@dedot/utils': 1.0.4 + deshape: 0.1.0 + + '@dedot/smoldot@1.0.4': + dependencies: + smoldot: 2.0.40 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@dedot/storage@1.0.4': {} + + '@dedot/types@1.0.4': + dependencies: + '@dedot/codecs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/utils': 1.0.4 + + '@dedot/utils@1.0.4': + dependencies: + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + eventemitter3: 5.0.4 + + '@dedot/wasm@0.1.0': {} + + '@esbuild/aix-ppc64@0.27.3': + optional: true + + '@esbuild/android-arm64@0.27.3': + optional: true + + '@esbuild/android-arm@0.27.3': + optional: true + + '@esbuild/android-x64@0.27.3': + optional: true + + '@esbuild/darwin-arm64@0.27.3': + optional: true + + '@esbuild/darwin-x64@0.27.3': + optional: true + + '@esbuild/freebsd-arm64@0.27.3': + optional: true + + '@esbuild/freebsd-x64@0.27.3': + optional: true + + '@esbuild/linux-arm64@0.27.3': + optional: true + + '@esbuild/linux-arm@0.27.3': + optional: true + + '@esbuild/linux-ia32@0.27.3': + optional: true + + '@esbuild/linux-loong64@0.27.3': + optional: true + + '@esbuild/linux-mips64el@0.27.3': + optional: true + + '@esbuild/linux-ppc64@0.27.3': + optional: true + + '@esbuild/linux-riscv64@0.27.3': + optional: true + + '@esbuild/linux-s390x@0.27.3': + optional: true + + '@esbuild/linux-x64@0.27.3': + optional: true + + '@esbuild/netbsd-arm64@0.27.3': + optional: true + + '@esbuild/netbsd-x64@0.27.3': + optional: true + + '@esbuild/openbsd-arm64@0.27.3': + optional: true + + '@esbuild/openbsd-x64@0.27.3': + optional: true + + '@esbuild/openharmony-arm64@0.27.3': + optional: true + + '@esbuild/sunos-x64@0.27.3': + optional: true + + '@esbuild/win32-arm64@0.27.3': + optional: true + + '@esbuild/win32-ia32@0.27.3': + optional: true + + '@esbuild/win32-x64@0.27.3': + optional: true + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@noble/ciphers@1.3.0': {} + + '@noble/ciphers@2.1.1': {} + + '@noble/curves@1.9.1': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/curves@1.9.7': + dependencies: + '@noble/hashes': 1.8.0 + + '@noble/hashes@1.8.0': {} + + '@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/util-crypto': 14.0.1(@polkadot/util@14.0.1) + tslib: 2.8.1 + + '@polkadot/networks@14.0.1': + dependencies: + '@polkadot/util': 14.0.1 + '@substrate/ss58-registry': 1.51.0 + tslib: 2.8.1 + + '@polkadot/types-support@16.5.4': + dependencies: + '@polkadot/util': 14.0.1 + tslib: 2.8.1 + + '@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)': + dependencies: + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@polkadot/networks': 14.0.1 + '@polkadot/util': 14.0.1 + '@polkadot/wasm-crypto': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-bigint': 14.0.1 + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + '@scure/base': 1.2.6 + '@scure/sr25519': 0.2.0 + tslib: 2.8.1 + + '@polkadot/util@14.0.1': + dependencies: + '@polkadot/x-bigint': 14.0.1 + '@polkadot/x-global': 14.0.1 + '@polkadot/x-textdecoder': 14.0.1 + '@polkadot/x-textencoder': 14.0.1 + '@types/bn.js': 5.2.0 + bn.js: 5.2.2 + tslib: 2.8.1 + + '@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + '@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)': + dependencies: + '@polkadot/util': 14.0.1 + tslib: 2.8.1 + + '@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + '@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + tslib: 2.8.1 + + '@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-crypto-init': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + '@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)': + dependencies: + '@polkadot/util': 14.0.1 + tslib: 2.8.1 + + '@polkadot/x-bigint@14.0.1': + dependencies: + '@polkadot/x-global': 14.0.1 + tslib: 2.8.1 + + '@polkadot/x-global@14.0.1': + dependencies: + tslib: 2.8.1 + + '@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))': + dependencies: + '@polkadot/util': 14.0.1 + '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + '@polkadot/x-global': 14.0.1 + tslib: 2.8.1 + + '@polkadot/x-textdecoder@14.0.1': + dependencies: + '@polkadot/x-global': 14.0.1 + tslib: 2.8.1 + + '@polkadot/x-textencoder@14.0.1': + dependencies: + '@polkadot/x-global': 14.0.1 + tslib: 2.8.1 + + '@polkadot/x-ws@14.0.1': + dependencies: + '@polkadot/x-global': 14.0.1 + tslib: 2.8.1 + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@rollup/rollup-android-arm-eabi@4.57.1': + optional: true + + '@rollup/rollup-android-arm64@4.57.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.57.1': + optional: true + + '@rollup/rollup-darwin-x64@4.57.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.57.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.57.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.57.1': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.57.1': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.57.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.57.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.57.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.57.1': + optional: true + + '@rollup/rollup-openbsd-x64@4.57.1': + optional: true + + '@rollup/rollup-openharmony-arm64@4.57.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.57.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.57.1': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.57.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.57.1': + optional: true + + '@scure/base@1.2.6': {} + + '@scure/bip32@1.7.0': + dependencies: + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@scure/bip39@1.6.0': + dependencies: + '@noble/hashes': 1.8.0 + '@scure/base': 1.2.6 + + '@scure/sr25519@0.2.0': + dependencies: + '@noble/curves': 1.9.7 + '@noble/hashes': 1.8.0 + + '@standard-schema/spec@1.1.0': {} + + '@substrate/ss58-registry@1.51.0': {} + + '@types/bn.js@5.2.0': + dependencies: + '@types/node': 24.10.13 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.8': {} + + '@types/node@24.10.13': + dependencies: + undici-types: 7.16.0 + + '@vitest/expect@4.0.18': + dependencies: + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + chai: 6.2.2 + tinyrainbow: 3.0.3 + + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))': + dependencies: + '@vitest/spy': 4.0.18 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13) + + '@vitest/pretty-format@4.0.18': + dependencies: + tinyrainbow: 3.0.3 + + '@vitest/runner@4.0.18': + dependencies: + '@vitest/utils': 4.0.18 + pathe: 2.0.3 + + '@vitest/snapshot@4.0.18': + dependencies: + '@vitest/pretty-format': 4.0.18 + magic-string: 0.30.21 + pathe: 2.0.3 + + '@vitest/spy@4.0.18': {} + + '@vitest/utils@4.0.18': + dependencies: + '@vitest/pretty-format': 4.0.18 + tinyrainbow: 3.0.3 + + abitype@1.2.3: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + assertion-error@2.0.1: {} + + bn.js@5.2.2: {} + + chai@6.2.2: {} + + chalk@5.6.2: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-spinners@3.4.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + dedot@1.0.4: + dependencies: + '@dedot/api': 1.0.4 + '@dedot/cli': 1.0.4 + '@dedot/codecs': 1.0.4 + '@dedot/contracts': 1.0.4 + '@dedot/merkleized-metadata': 1.0.4 + '@dedot/providers': 1.0.4 + '@dedot/runtime-specs': 1.0.4 + '@dedot/shape': 1.0.4 + '@dedot/smoldot': 1.0.4 + '@dedot/types': 1.0.4 + '@dedot/utils': 1.0.4 + smoldot: 2.0.40 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + + deshape@0.1.0: {} + + emoji-regex@8.0.0: {} + + es-module-lexer@1.7.0: {} + + esbuild@0.27.3: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 + + escalade@3.2.0: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + eventemitter3@5.0.1: {} + + eventemitter3@5.0.4: {} + + expect-type@1.3.0: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fsevents@2.3.3: + optional: true + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.4.0: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + is-fullwidth-code-point@3.0.0: {} + + is-interactive@2.0.0: {} + + is-unicode-supported@2.1.0: {} + + isows@1.0.7(ws@8.18.3): + dependencies: + ws: 8.18.3 + + log-symbols@7.0.1: + dependencies: + is-unicode-supported: 2.1.0 + yoctocolors: 2.1.2 + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + mimic-function@5.0.1: {} + + minimist@1.2.8: {} + + mlkem@2.5.0: {} + + nanoid@3.3.11: {} + + neo-async@2.6.2: {} + + obug@2.1.1: {} + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + ora@9.3.0: + dependencies: + chalk: 5.6.2 + cli-cursor: 5.0.0 + cli-spinners: 3.4.0 + is-interactive: 2.0.0 + is-unicode-supported: 2.1.0 + log-symbols: 7.0.1 + stdin-discarder: 0.3.1 + string-width: 8.1.1 + + ox@0.12.1: + dependencies: + '@adraffy/ens-normalize': 1.11.1 + '@noble/ciphers': 1.3.0 + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3 + eventemitter3: 5.0.1 + transitivePeerDependencies: + - zod + + pathe@2.0.3: {} + + picocolors@1.1.1: {} + + picomatch@4.0.3: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prettier@3.8.1: {} + + require-directory@2.1.1: {} + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + rollup@4.57.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 + fsevents: 2.3.3 + + siginfo@2.0.0: {} + + signal-exit@4.1.0: {} + + smoldot@2.0.40: + dependencies: + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + source-map-js@1.2.1: {} + + source-map@0.6.1: {} + + stackback@0.0.2: {} + + std-env@3.10.0: {} + + stdin-discarder@0.3.1: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@8.1.1: + dependencies: + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + tinybench@2.9.0: {} + + tinyexec@1.0.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinyrainbow@3.0.3: {} + + tslib@2.8.1: {} + + uglify-js@3.19.3: + optional: true + + undici-types@7.16.0: {} + + viem@2.46.1: + dependencies: + '@noble/curves': 1.9.1 + '@noble/hashes': 1.8.0 + '@scure/bip32': 1.7.0 + '@scure/bip39': 1.6.0 + abitype: 1.2.3 + isows: 1.0.7(ws@8.18.3) + ox: 0.12.1 + ws: 8.18.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + vite@7.3.1(@types/node@24.10.13): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.57.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 24.10.13 + fsevents: 2.3.3 + + vitest@4.0.18(@types/node@24.10.13): + dependencies: + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 + es-module-lexer: 1.7.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.1 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tinyrainbow: 3.0.3 + vite: 7.3.1(@types/node@24.10.13) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 24.10.13 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - terser + - tsx + - yaml + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + wordwrap@1.0.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + ws@8.18.3: {} + + ws@8.19.0: {} + + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yoctocolors@2.1.2: {} diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml new file mode 100644 index 0000000000..21cf1c3993 --- /dev/null +++ b/e2e/pnpm-workspace.yaml @@ -0,0 +1,16 @@ +packages: + - shared + - shield + +catalog: + "@dedot/chaintypes": "^0.234.0" + "@dedot/cli": "^1.0.4" + "@noble/ciphers": "^2.1.1" + "@polkadot/keyring": "^14.0.1" + "@polkadot/util": "^14.0.1" + "@polkadot/util-crypto": "^14.0.1" + "@types/node": "^24" + "dedot": "^1.0.4" + "mlkem": "^2.5.0" + "prettier": "^3.0.0" + "vitest": "^4.0.0" diff --git a/e2e/shared/chainspec.ts b/e2e/shared/chainspec.ts new file mode 100644 index 0000000000..514b6c0028 --- /dev/null +++ b/e2e/shared/chainspec.ts @@ -0,0 +1,191 @@ +import { spawn, execFileSync } from "node:child_process"; +import { writeFile, readFile } from "node:fs/promises"; +import { Keyring } from "@polkadot/keyring"; +import { log } from "./node.js"; + +// --------------------------------------------------------------------------- +// Chain spec generation +// --------------------------------------------------------------------------- + +/** + * Generate a raw chain spec. If `patchSpec` is provided, first generates a + * non-raw spec, applies the patch, then converts to raw. This allows adding + * extra authorities, balances, etc. without modifying the Rust chain spec. + */ +export const generateChainSpec = async ( + binaryPath: string, + outputPath: string, + patchSpec?: (spec: any) => void, +) => { + if (!patchSpec) { + return generateRawChainSpec(binaryPath, outputPath, "local"); + } + + // 2-step: generate non-raw → patch → generate raw. + const nonRawPath = outputPath + ".nonraw.json"; + + await new Promise((resolve, reject) => { + const proc = spawn(binaryPath, [ + "build-spec", + "--disable-default-bootnode", + "--chain", + "local", + ]); + const chunks: Buffer[] = []; + proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); + let stderr = ""; + proc.stderr?.on("data", (chunk: Buffer) => { + stderr += chunk.toString(); + }); + proc.on("close", async (code) => { + if (code !== 0) { + reject(new Error(`Failed to generate non-raw chain spec (exit ${code}): ${stderr}`)); + return; + } + await writeFile(nonRawPath, Buffer.concat(chunks)); + resolve(); + }); + proc.on("error", reject); + }); + + const specJson = JSON.parse(await readFile(nonRawPath, "utf-8")); + patchSpec(specJson); + await writeFile(nonRawPath, JSON.stringify(specJson, null, 2)); + + await generateRawChainSpec(binaryPath, outputPath, nonRawPath); +}; + +async function generateRawChainSpec(binaryPath: string, outputPath: string, chain: string) { + return new Promise((resolve, reject) => { + const proc = spawn(binaryPath, [ + "build-spec", + "--disable-default-bootnode", + "--raw", + "--chain", + chain, + ]); + + const chunks: Buffer[] = []; + proc.stdout.on("data", (chunk: Buffer) => chunks.push(chunk)); + + let stderr = ""; + proc.stderr?.on("data", (chunk: Buffer) => { + stderr += chunk.toString(); + }); + + proc.on("close", async (code) => { + if (code !== 0) { + reject(new Error(`Failed to generate chain spec (exit ${code}): ${stderr}`)); + return; + } + const data = Buffer.concat(chunks); + await writeFile(outputPath, data); + log(`Chain spec written to ${outputPath} (${data.length} bytes)`); + resolve(); + }); + + proc.on("error", reject); + }); +} + +// --------------------------------------------------------------------------- +// Chain spec patching helpers (composable) +// --------------------------------------------------------------------------- + +/** + * Extract the genesis runtime patch object from a non-raw chain spec. + * Works with both the `runtimeGenesis.patch` and legacy `runtime` formats. + */ +export function getGenesisPatch(spec: any): any { + const patch = spec.genesis?.runtimeGenesis?.patch ?? spec.genesis?.runtime; + if (!patch) throw new Error("Cannot find genesis patch in chain spec"); + return patch; +} + +/** Add an Aura authority (sr25519 address) to the chain spec. */ +export function addAuraAuthority(patch: any, address: string) { + if (patch.aura?.authorities) { + patch.aura.authorities.push(address); + } +} + +/** Add a GRANDPA authority (ed25519 address, weight) to the chain spec. */ +export function addGrandpaAuthority(patch: any, address: string, weight = 1) { + if (patch.grandpa?.authorities) { + patch.grandpa.authorities.push([address, weight]); + } +} + +/** Add a balance entry to the chain spec. */ +export function addBalance(patch: any, address: string, amount: number | bigint) { + if (patch.balances?.balances) { + patch.balances.balances.push([address, Number(amount)]); + } +} + +// --------------------------------------------------------------------------- +// Authority key helpers +// --------------------------------------------------------------------------- + +export type AuthorityKeys = { + aura: string; + grandpa: string; + account: string; +}; + +/** Derive authority keys (aura sr25519, grandpa ed25519, account) from a seed. */ +export function generateAuthorityKeys(seed: string): AuthorityKeys { + const sr = new Keyring({ type: "sr25519" }); + const ed = new Keyring({ type: "ed25519" }); + return { + aura: sr.addFromUri(`//${seed}`).address, + grandpa: ed.addFromUri(`//${seed}`).address, + account: sr.addFromUri(`//${seed}`).address, + }; +} + +/** + * Convenience: add a full authority (aura + grandpa + funded account) to a + * chain spec genesis patch. Derives keys from the given seed. + */ +export function addAuthority(patch: any, seed: string, balance = 2_000_000_000_000) { + const keys = generateAuthorityKeys(seed); + addAuraAuthority(patch, keys.aura); + addGrandpaAuthority(patch, keys.grandpa); + addBalance(patch, keys.account, balance); +} + +// --------------------------------------------------------------------------- +// Key insertion +// --------------------------------------------------------------------------- + +/** + * Insert Aura (sr25519) and GRANDPA (ed25519) keys into a node's keystore. + * Required for authority nodes that don't have a built-in substrate CLI shortcut. + */ +export const insertKeys = ( + binaryPath: string, + basePath: string, + chainSpec: string, + seed: string, +) => { + const run = (scheme: string, keyType: string) => { + execFileSync(binaryPath, [ + "key", + "insert", + "--base-path", + basePath, + "--chain", + chainSpec, + "--suri", + seed, + "--scheme", + scheme, + "--key-type", + keyType, + ]); + }; + run("sr25519", "aura"); + run("ed25519", "gran"); + log(`Inserted aura+grandpa keys for ${seed} into ${basePath}`); +}; diff --git a/e2e/shared/client.ts b/e2e/shared/client.ts new file mode 100644 index 0000000000..b553f7f3b7 --- /dev/null +++ b/e2e/shared/client.ts @@ -0,0 +1,95 @@ +import { DedotClient, WsProvider } from "dedot"; +import { Keyring } from "@polkadot/keyring"; +import type { KeyringPair } from "@polkadot/keyring/types"; +import type { NodeSubtensorApi } from "../node-subtensor/index.js"; + +const SECOND = 1000; + +export const connectClient = async (rpcPort: number): Promise> => { + const provider = new WsProvider(`ws://localhost:${rpcPort}`); + return DedotClient.new(provider); +}; + +export const createKeyring = () => { + return new Keyring({ type: "sr25519" }); +}; + +export const getAccountNonce = async ( + client: { query: { system: { account: (address: string) => Promise<{ nonce: number }> } } }, + address: string, +): Promise => { + const account = await client.query.system.account(address); + return account.nonce; +}; + +export const getBalance = async ( + client: { + query: { system: { account: (address: string) => Promise<{ data: { free: bigint } }> } }; + }, + address: string, +): Promise => { + const account = await client.query.system.account(address); + return account.data.free; +}; + +export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +/** Polls the chain until `count` new finalized blocks have been produced. */ +export async function waitForFinalizedBlocks( + client: { + rpc: { + chain_getFinalizedHead: () => Promise<`0x${string}`>; + chain_getHeader: (hash: `0x${string}`) => Promise<{ number: number } | undefined>; + }; + }, + count: number, + pollInterval = 1 * SECOND, + timeout = 120 * SECOND, +): Promise { + const startHash = await client.rpc.chain_getFinalizedHead(); + const startHeader = await client.rpc.chain_getHeader(startHash); + const start = startHeader!.number; + const target = start + count; + const deadline = Date.now() + timeout; + + while (Date.now() < deadline) { + await sleep(pollInterval); + const hash = await client.rpc.chain_getFinalizedHead(); + const header = await client.rpc.chain_getHeader(hash); + if (header && header.number >= target) return; + } + + throw new Error( + `Timed out waiting for ${count} finalized blocks (from #${start}, target #${target})`, + ); +} + +type TxStatus = { type: string; value?: { error?: string } }; + +/** Signs, sends, and watches a transaction until one of the given terminal + * status types is observed. If signAndSend itself rejects (e.g. pool + * rejection), the error is wrapped as an Invalid status. */ +export const watchTxStatus = ( + tx: any, + signer: KeyringPair, + options: Record, + terminalTypes: string[], + timeout = 30_000, +): Promise => { + return new Promise((resolve, reject) => { + const timer = setTimeout( + () => reject(new Error(`watchTxStatus timed out waiting for ${terminalTypes.join("/")}`)), + timeout, + ); + + tx.signAndSend(signer, options, (result: { status: TxStatus }) => { + if (terminalTypes.includes(result.status.type)) { + clearTimeout(timer); + resolve(result.status); + } + }).catch((err: unknown) => { + clearTimeout(timer); + resolve({ type: "Invalid", value: { error: String(err) } }); + }); + }); +}; diff --git a/e2e/shared/node.ts b/e2e/shared/node.ts new file mode 100644 index 0000000000..51b80a0c18 --- /dev/null +++ b/e2e/shared/node.ts @@ -0,0 +1,149 @@ +import { spawn, ChildProcess } from "node:child_process"; + +const SECOND = 1000; +const MINUTE = 60 * SECOND; + +// Substrate CLI shortcuts that inject keystore keys automatically. +const SUBSTRATE_SHORTCUTS = new Set([ + "alice", + "bob", + "charlie", + "dave", + "eve", + "ferdie", + "one", + "two", +]); + +export type NodeOptions = { + binaryPath: string; + basePath: string; + name: string; + port: number; + rpcPort: number; + validator: boolean; + chainSpec: string; +}; + +export type Node = { + name: string; + binaryPath: string; + rpcPort: number; + port: number; + process: ChildProcess; +}; + +export const log = (message: string) => console.log(`[${new Date().toISOString()}] ${message}`); + +export const startNode = (opts: NodeOptions): Node => { + const nameArgs = SUBSTRATE_SHORTCUTS.has(opts.name) ? [`--${opts.name}`] : ["--name", opts.name]; + + const child = spawn(opts.binaryPath, [ + ...nameArgs, + ...["--chain", opts.chainSpec], + ...["--base-path", opts.basePath], + ...["--port", opts.port.toString()], + ...["--rpc-port", opts.rpcPort.toString()], + ...(opts.validator ? ["--validator"] : []), + "--rpc-cors=all", + "--allow-private-ipv4", + "--discover-local", + "--unsafe-force-node-key-generation", + ]); + + let lastStderr = ""; + child.stderr?.on("data", (chunk: Buffer) => { + lastStderr = chunk.toString(); + }); + child.on("error", (error) => console.error(`${opts.name} (error): ${error}`)); + child.on("close", (code) => { + if (code !== 0 && code !== null) { + log(`${opts.name}: process crashed with code ${code}. Last stderr: ${lastStderr}`); + } else { + log(`${opts.name}: process closed with code ${code}`); + } + }); + + return { + name: opts.name, + binaryPath: opts.binaryPath, + rpcPort: opts.rpcPort, + port: opts.port, + process: child, + }; +}; + +export const stop = (node: Node): Promise => { + return new Promise((resolve, reject) => { + node.process.on("close", () => resolve()); + node.process.on("error", reject); + + if (!node.process.kill()) { + reject(new Error(`Failed to stop ${node.name}`)); + } + }); +}; + +export const started = (node: Node, timeout = 60 * SECOND) => { + const errorMessage = `${node.name} failed to start in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + if (data.includes("💤 Idle")) { + log(`${node.name}: started using ${node.binaryPath}`); + ok(); + } + }); +}; + +export const peerCount = (node: Node, expectedPeers: number, timeout = 60 * SECOND) => { + const errorMessage = `${node.name} failed to reach ${expectedPeers} peers in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + const maybePeers = /Idle \((?\d+) peers\)/.exec(data)?.groups?.peers; + if (!maybePeers) return; + + const peers = parseInt(maybePeers); + if (peers >= expectedPeers) { + log(`${node.name}: reached ${expectedPeers} peers`); + ok(); + } + }); +}; + +export const finalizedBlocks = (node: Node, expectedFinalized: number, timeout = 10 * MINUTE) => { + const errorMessage = `${node.name} failed to reach ${expectedFinalized} finalized blocks in time`; + + return innerEnsure(node, errorMessage, timeout, (data, ok) => { + const maybeFinalized = /finalized #(?\d+)/.exec(data)?.groups?.blocks; + if (!maybeFinalized) return; + + const finalized = parseInt(maybeFinalized); + if (finalized >= expectedFinalized) { + log(`${node.name}: reached ${expectedFinalized} finalized blocks`); + ok(); + } + }); +}; + +export function innerEnsure( + node: Node, + errorMessage: string, + timeout: number, + f: (data: string, ok: () => void) => void, +) { + return new Promise((resolve, reject) => { + const id = setTimeout(() => reject(new Error(errorMessage)), timeout); + + const fn = (chunk: Buffer) => { + const data = chunk.toString(); + f(data, () => { + clearTimeout(id); + node.process.stderr?.off("data", fn); + resolve(); + }); + }; + + node.process.stderr?.on("data", fn); + }); +} + diff --git a/e2e/shared/package.json b/e2e/shared/package.json new file mode 100644 index 0000000000..c6df531244 --- /dev/null +++ b/e2e/shared/package.json @@ -0,0 +1,19 @@ +{ + "name": "e2e-shared", + "version": "1.0.0", + "type": "module", + "exports": { + "./node.js": "./node.ts", + "./chainspec.js": "./chainspec.ts", + "./sequencer.js": "./sequencer.ts", + "./client.js": "./client.ts" + }, + "dependencies": { + "@polkadot/keyring": "catalog:", + "dedot": "catalog:" + }, + "devDependencies": { + "@types/node": "catalog:", + "vitest": "catalog:" + } +} diff --git a/e2e/shared/pnpm-lock.yaml b/e2e/shared/pnpm-lock.yaml new file mode 100644 index 0000000000..767156e260 --- /dev/null +++ b/e2e/shared/pnpm-lock.yaml @@ -0,0 +1,1628 @@ +lockfileVersion: "9.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + .: + dependencies: + "@polkadot/keyring": + specifier: ^14.0.1 + version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + devDependencies: + "@types/node": + specifier: ^24 + version: 24.10.13 + vitest: + specifier: ^3.0.0 + version: 3.2.4(@types/node@24.10.13) + +packages: + "@esbuild/aix-ppc64@0.27.3": + resolution: + { + integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [aix] + + "@esbuild/android-arm64@0.27.3": + resolution: + { + integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [android] + + "@esbuild/android-arm@0.27.3": + resolution: + { + integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [android] + + "@esbuild/android-x64@0.27.3": + resolution: + { + integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [android] + + "@esbuild/darwin-arm64@0.27.3": + resolution: + { + integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [darwin] + + "@esbuild/darwin-x64@0.27.3": + resolution: + { + integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [darwin] + + "@esbuild/freebsd-arm64@0.27.3": + resolution: + { + integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [freebsd] + + "@esbuild/freebsd-x64@0.27.3": + resolution: + { + integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [freebsd] + + "@esbuild/linux-arm64@0.27.3": + resolution: + { + integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [linux] + + "@esbuild/linux-arm@0.27.3": + resolution: + { + integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, + } + engines: { node: ">=18" } + cpu: [arm] + os: [linux] + + "@esbuild/linux-ia32@0.27.3": + resolution: + { + integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [linux] + + "@esbuild/linux-loong64@0.27.3": + resolution: + { + integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, + } + engines: { node: ">=18" } + cpu: [loong64] + os: [linux] + + "@esbuild/linux-mips64el@0.27.3": + resolution: + { + integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, + } + engines: { node: ">=18" } + cpu: [mips64el] + os: [linux] + + "@esbuild/linux-ppc64@0.27.3": + resolution: + { + integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, + } + engines: { node: ">=18" } + cpu: [ppc64] + os: [linux] + + "@esbuild/linux-riscv64@0.27.3": + resolution: + { + integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, + } + engines: { node: ">=18" } + cpu: [riscv64] + os: [linux] + + "@esbuild/linux-s390x@0.27.3": + resolution: + { + integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, + } + engines: { node: ">=18" } + cpu: [s390x] + os: [linux] + + "@esbuild/linux-x64@0.27.3": + resolution: + { + integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [linux] + + "@esbuild/netbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [netbsd] + + "@esbuild/netbsd-x64@0.27.3": + resolution: + { + integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [netbsd] + + "@esbuild/openbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openbsd] + + "@esbuild/openbsd-x64@0.27.3": + resolution: + { + integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [openbsd] + + "@esbuild/openharmony-arm64@0.27.3": + resolution: + { + integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [openharmony] + + "@esbuild/sunos-x64@0.27.3": + resolution: + { + integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [sunos] + + "@esbuild/win32-arm64@0.27.3": + resolution: + { + integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, + } + engines: { node: ">=18" } + cpu: [arm64] + os: [win32] + + "@esbuild/win32-ia32@0.27.3": + resolution: + { + integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, + } + engines: { node: ">=18" } + cpu: [ia32] + os: [win32] + + "@esbuild/win32-x64@0.27.3": + resolution: + { + integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, + } + engines: { node: ">=18" } + cpu: [x64] + os: [win32] + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } + + "@noble/curves@1.9.7": + resolution: + { + integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/hashes@1.8.0": + resolution: + { + integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, + } + engines: { node: ^14.21.3 || >=16 } + + "@polkadot/keyring@14.0.1": + resolution: + { + integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1 + + "@polkadot/networks@14.0.1": + resolution: + { + integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, + } + engines: { node: ">=18" } + + "@polkadot/util-crypto@14.0.1": + resolution: + { + integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + + "@polkadot/util@14.0.1": + resolution: + { + integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, + } + engines: { node: ">=18" } + + "@polkadot/wasm-bridge@7.5.4": + resolution: + { + integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-asmjs@7.5.4": + resolution: + { + integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto-init@7.5.4": + resolution: + { + integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-wasm@7.5.4": + resolution: + { + integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/wasm-crypto@7.5.4": + resolution: + { + integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-util@7.5.4": + resolution: + { + integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": "*" + + "@polkadot/x-bigint@14.0.1": + resolution: + { + integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, + } + engines: { node: ">=18" } + + "@polkadot/x-global@14.0.1": + resolution: + { + integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, + } + engines: { node: ">=18" } + + "@polkadot/x-randomvalues@14.0.1": + resolution: + { + integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, + } + engines: { node: ">=18" } + peerDependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": "*" + + "@polkadot/x-textdecoder@14.0.1": + resolution: + { + integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, + } + engines: { node: ">=18" } + + "@polkadot/x-textencoder@14.0.1": + resolution: + { + integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, + } + engines: { node: ">=18" } + + "@rollup/rollup-android-arm-eabi@4.57.1": + resolution: + { + integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, + } + cpu: [arm] + os: [android] + + "@rollup/rollup-android-arm64@4.57.1": + resolution: + { + integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, + } + cpu: [arm64] + os: [android] + + "@rollup/rollup-darwin-arm64@4.57.1": + resolution: + { + integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, + } + cpu: [arm64] + os: [darwin] + + "@rollup/rollup-darwin-x64@4.57.1": + resolution: + { + integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, + } + cpu: [x64] + os: [darwin] + + "@rollup/rollup-freebsd-arm64@4.57.1": + resolution: + { + integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, + } + cpu: [arm64] + os: [freebsd] + + "@rollup/rollup-freebsd-x64@4.57.1": + resolution: + { + integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, + } + cpu: [x64] + os: [freebsd] + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + resolution: + { + integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, + } + cpu: [arm] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + resolution: + { + integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, + } + cpu: [arm] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + resolution: + { + integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, + } + cpu: [arm64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-arm64-musl@4.57.1": + resolution: + { + integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, + } + cpu: [arm64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + resolution: + { + integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, + } + cpu: [loong64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-loong64-musl@4.57.1": + resolution: + { + integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, + } + cpu: [loong64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + resolution: + { + integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, + } + cpu: [ppc64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + resolution: + { + integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, + } + cpu: [ppc64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + resolution: + { + integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, + } + cpu: [riscv64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + resolution: + { + integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, + } + cpu: [riscv64] + os: [linux] + libc: [musl] + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + resolution: + { + integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, + } + cpu: [s390x] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, + } + cpu: [x64] + os: [linux] + libc: [glibc] + + "@rollup/rollup-linux-x64-musl@4.57.1": + resolution: + { + integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, + } + cpu: [x64] + os: [linux] + libc: [musl] + + "@rollup/rollup-openbsd-x64@4.57.1": + resolution: + { + integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, + } + cpu: [x64] + os: [openbsd] + + "@rollup/rollup-openharmony-arm64@4.57.1": + resolution: + { + integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, + } + cpu: [arm64] + os: [openharmony] + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + resolution: + { + integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, + } + cpu: [arm64] + os: [win32] + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + resolution: + { + integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, + } + cpu: [ia32] + os: [win32] + + "@rollup/rollup-win32-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, + } + cpu: [x64] + os: [win32] + + "@rollup/rollup-win32-x64-msvc@4.57.1": + resolution: + { + integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, + } + cpu: [x64] + os: [win32] + + "@scure/base@1.2.6": + resolution: + { + integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, + } + + "@scure/sr25519@0.2.0": + resolution: + { + integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, + } + + "@substrate/ss58-registry@1.51.0": + resolution: + { + integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, + } + + "@types/bn.js@5.2.0": + resolution: + { + integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, + } + + "@types/chai@5.2.3": + resolution: + { + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, + } + + "@types/deep-eql@4.0.2": + resolution: + { + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, + } + + "@types/estree@1.0.8": + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + "@types/node@24.10.13": + resolution: + { + integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, + } + + "@vitest/expect@3.2.4": + resolution: + { + integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==, + } + + "@vitest/mocker@3.2.4": + resolution: + { + integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==, + } + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + "@vitest/pretty-format@3.2.4": + resolution: + { + integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==, + } + + "@vitest/runner@3.2.4": + resolution: + { + integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==, + } + + "@vitest/snapshot@3.2.4": + resolution: + { + integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==, + } + + "@vitest/spy@3.2.4": + resolution: + { + integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==, + } + + "@vitest/utils@3.2.4": + resolution: + { + integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==, + } + + assertion-error@2.0.1: + resolution: + { + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, + } + engines: { node: ">=12" } + + bn.js@5.2.2: + resolution: + { + integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, + } + + cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + + chai@5.3.3: + resolution: + { + integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==, + } + engines: { node: ">=18" } + + check-error@2.1.3: + resolution: + { + integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==, + } + engines: { node: ">= 16" } + + debug@4.4.3: + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + + deep-eql@5.0.2: + resolution: + { + integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==, + } + engines: { node: ">=6" } + + es-module-lexer@1.7.0: + resolution: + { + integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + } + + esbuild@0.27.3: + resolution: + { + integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, + } + engines: { node: ">=18" } + hasBin: true + + estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + + expect-type@1.3.0: + resolution: + { + integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, + } + engines: { node: ">=12.0.0" } + + fdir@6.5.0: + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + js-tokens@9.0.1: + resolution: + { + integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==, + } + + loupe@3.2.1: + resolution: + { + integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==, + } + + magic-string@0.30.21: + resolution: + { + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } + + ms@2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + + nanoid@3.3.11: + resolution: + { + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + + pathe@2.0.3: + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } + + pathval@2.0.1: + resolution: + { + integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==, + } + engines: { node: ">= 14.16" } + + picocolors@1.1.1: + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } + + picomatch@4.0.3: + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: ">=12" } + + postcss@8.5.6: + resolution: + { + integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, + } + engines: { node: ^10 || ^12 || >=14 } + + rollup@4.57.1: + resolution: + { + integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + + siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + + source-map-js@1.2.1: + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: ">=0.10.0" } + + stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + + std-env@3.10.0: + resolution: + { + integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, + } + + strip-literal@3.1.0: + resolution: + { + integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==, + } + + tinybench@2.9.0: + resolution: + { + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, + } + + tinyexec@0.3.2: + resolution: + { + integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, + } + + tinyglobby@0.2.15: + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: ">=12.0.0" } + + tinypool@1.1.1: + resolution: + { + integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + + tinyrainbow@2.0.0: + resolution: + { + integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==, + } + engines: { node: ">=14.0.0" } + + tinyspy@4.0.4: + resolution: + { + integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==, + } + engines: { node: ">=14.0.0" } + + tslib@2.8.1: + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } + + undici-types@7.16.0: + resolution: + { + integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, + } + + vite-node@3.2.4: + resolution: + { + integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, + } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + hasBin: true + + vite@7.3.1: + resolution: + { + integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } + hasBin: true + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@3.2.4: + resolution: + { + integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==, + } + engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.2.4 + "@vitest/ui": 3.2.4 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/debug": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + why-is-node-running@2.3.0: + resolution: + { + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + } + engines: { node: ">=8" } + hasBin: true + +snapshots: + "@esbuild/aix-ppc64@0.27.3": + optional: true + + "@esbuild/android-arm64@0.27.3": + optional: true + + "@esbuild/android-arm@0.27.3": + optional: true + + "@esbuild/android-x64@0.27.3": + optional: true + + "@esbuild/darwin-arm64@0.27.3": + optional: true + + "@esbuild/darwin-x64@0.27.3": + optional: true + + "@esbuild/freebsd-arm64@0.27.3": + optional: true + + "@esbuild/freebsd-x64@0.27.3": + optional: true + + "@esbuild/linux-arm64@0.27.3": + optional: true + + "@esbuild/linux-arm@0.27.3": + optional: true + + "@esbuild/linux-ia32@0.27.3": + optional: true + + "@esbuild/linux-loong64@0.27.3": + optional: true + + "@esbuild/linux-mips64el@0.27.3": + optional: true + + "@esbuild/linux-ppc64@0.27.3": + optional: true + + "@esbuild/linux-riscv64@0.27.3": + optional: true + + "@esbuild/linux-s390x@0.27.3": + optional: true + + "@esbuild/linux-x64@0.27.3": + optional: true + + "@esbuild/netbsd-arm64@0.27.3": + optional: true + + "@esbuild/netbsd-x64@0.27.3": + optional: true + + "@esbuild/openbsd-arm64@0.27.3": + optional: true + + "@esbuild/openbsd-x64@0.27.3": + optional: true + + "@esbuild/openharmony-arm64@0.27.3": + optional: true + + "@esbuild/sunos-x64@0.27.3": + optional: true + + "@esbuild/win32-arm64@0.27.3": + optional: true + + "@esbuild/win32-ia32@0.27.3": + optional: true + + "@esbuild/win32-x64@0.27.3": + optional: true + + "@jridgewell/sourcemap-codec@1.5.5": {} + + "@noble/curves@1.9.7": + dependencies: + "@noble/hashes": 1.8.0 + + "@noble/hashes@1.8.0": {} + + "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/networks@14.0.1": + dependencies: + "@polkadot/util": 14.0.1 + "@substrate/ss58-registry": 1.51.0 + tslib: 2.8.1 + + "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + "@polkadot/networks": 14.0.1 + "@polkadot/util": 14.0.1 + "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@scure/base": 1.2.6 + "@scure/sr25519": 0.2.0 + tslib: 2.8.1 + + "@polkadot/util@14.0.1": + dependencies: + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-global": 14.0.1 + "@polkadot/x-textdecoder": 14.0.1 + "@polkadot/x-textencoder": 14.0.1 + "@types/bn.js": 5.2.0 + bn.js: 5.2.2 + tslib: 2.8.1 + + "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + tslib: 2.8.1 + + "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + tslib: 2.8.1 + + "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": + dependencies: + "@polkadot/util": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-bigint@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-global@14.0.1": + dependencies: + tslib: 2.8.1 + + "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": + dependencies: + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textdecoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@polkadot/x-textencoder@14.0.1": + dependencies: + "@polkadot/x-global": 14.0.1 + tslib: 2.8.1 + + "@rollup/rollup-android-arm-eabi@4.57.1": + optional: true + + "@rollup/rollup-android-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-arm64@4.57.1": + optional: true + + "@rollup/rollup-darwin-x64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-arm64@4.57.1": + optional: true + + "@rollup/rollup-freebsd-x64@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-arm64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-loong64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-ppc64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-riscv64-musl@4.57.1": + optional: true + + "@rollup/rollup-linux-s390x-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-linux-x64-musl@4.57.1": + optional: true + + "@rollup/rollup-openbsd-x64@4.57.1": + optional: true + + "@rollup/rollup-openharmony-arm64@4.57.1": + optional: true + + "@rollup/rollup-win32-arm64-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-ia32-msvc@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-gnu@4.57.1": + optional: true + + "@rollup/rollup-win32-x64-msvc@4.57.1": + optional: true + + "@scure/base@1.2.6": {} + + "@scure/sr25519@0.2.0": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + + "@substrate/ss58-registry@1.51.0": {} + + "@types/bn.js@5.2.0": + dependencies: + "@types/node": 24.10.13 + + "@types/chai@5.2.3": + dependencies: + "@types/deep-eql": 4.0.2 + assertion-error: 2.0.1 + + "@types/deep-eql@4.0.2": {} + + "@types/estree@1.0.8": {} + + "@types/node@24.10.13": + dependencies: + undici-types: 7.16.0 + + "@vitest/expect@3.2.4": + dependencies: + "@types/chai": 5.2.3 + "@vitest/spy": 3.2.4 + "@vitest/utils": 3.2.4 + chai: 5.3.3 + tinyrainbow: 2.0.0 + + "@vitest/mocker@3.2.4(vite@7.3.1(@types/node@24.10.13))": + dependencies: + "@vitest/spy": 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 7.3.1(@types/node@24.10.13) + + "@vitest/pretty-format@3.2.4": + dependencies: + tinyrainbow: 2.0.0 + + "@vitest/runner@3.2.4": + dependencies: + "@vitest/utils": 3.2.4 + pathe: 2.0.3 + strip-literal: 3.1.0 + + "@vitest/snapshot@3.2.4": + dependencies: + "@vitest/pretty-format": 3.2.4 + magic-string: 0.30.21 + pathe: 2.0.3 + + "@vitest/spy@3.2.4": + dependencies: + tinyspy: 4.0.4 + + "@vitest/utils@3.2.4": + dependencies: + "@vitest/pretty-format": 3.2.4 + loupe: 3.2.1 + tinyrainbow: 2.0.0 + + assertion-error@2.0.1: {} + + bn.js@5.2.2: {} + + cac@6.7.14: {} + + chai@5.3.3: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.3 + deep-eql: 5.0.2 + loupe: 3.2.1 + pathval: 2.0.1 + + check-error@2.1.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-eql@5.0.2: {} + + es-module-lexer@1.7.0: {} + + esbuild@0.27.3: + optionalDependencies: + "@esbuild/aix-ppc64": 0.27.3 + "@esbuild/android-arm": 0.27.3 + "@esbuild/android-arm64": 0.27.3 + "@esbuild/android-x64": 0.27.3 + "@esbuild/darwin-arm64": 0.27.3 + "@esbuild/darwin-x64": 0.27.3 + "@esbuild/freebsd-arm64": 0.27.3 + "@esbuild/freebsd-x64": 0.27.3 + "@esbuild/linux-arm": 0.27.3 + "@esbuild/linux-arm64": 0.27.3 + "@esbuild/linux-ia32": 0.27.3 + "@esbuild/linux-loong64": 0.27.3 + "@esbuild/linux-mips64el": 0.27.3 + "@esbuild/linux-ppc64": 0.27.3 + "@esbuild/linux-riscv64": 0.27.3 + "@esbuild/linux-s390x": 0.27.3 + "@esbuild/linux-x64": 0.27.3 + "@esbuild/netbsd-arm64": 0.27.3 + "@esbuild/netbsd-x64": 0.27.3 + "@esbuild/openbsd-arm64": 0.27.3 + "@esbuild/openbsd-x64": 0.27.3 + "@esbuild/openharmony-arm64": 0.27.3 + "@esbuild/sunos-x64": 0.27.3 + "@esbuild/win32-arm64": 0.27.3 + "@esbuild/win32-ia32": 0.27.3 + "@esbuild/win32-x64": 0.27.3 + + estree-walker@3.0.3: + dependencies: + "@types/estree": 1.0.8 + + expect-type@1.3.0: {} + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fsevents@2.3.3: + optional: true + + js-tokens@9.0.1: {} + + loupe@3.2.1: {} + + magic-string@0.30.21: + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + pathe@2.0.3: {} + + pathval@2.0.1: {} + + picocolors@1.1.1: {} + + picomatch@4.0.3: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + rollup@4.57.1: + dependencies: + "@types/estree": 1.0.8 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.57.1 + "@rollup/rollup-android-arm64": 4.57.1 + "@rollup/rollup-darwin-arm64": 4.57.1 + "@rollup/rollup-darwin-x64": 4.57.1 + "@rollup/rollup-freebsd-arm64": 4.57.1 + "@rollup/rollup-freebsd-x64": 4.57.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 + "@rollup/rollup-linux-arm-musleabihf": 4.57.1 + "@rollup/rollup-linux-arm64-gnu": 4.57.1 + "@rollup/rollup-linux-arm64-musl": 4.57.1 + "@rollup/rollup-linux-loong64-gnu": 4.57.1 + "@rollup/rollup-linux-loong64-musl": 4.57.1 + "@rollup/rollup-linux-ppc64-gnu": 4.57.1 + "@rollup/rollup-linux-ppc64-musl": 4.57.1 + "@rollup/rollup-linux-riscv64-gnu": 4.57.1 + "@rollup/rollup-linux-riscv64-musl": 4.57.1 + "@rollup/rollup-linux-s390x-gnu": 4.57.1 + "@rollup/rollup-linux-x64-gnu": 4.57.1 + "@rollup/rollup-linux-x64-musl": 4.57.1 + "@rollup/rollup-openbsd-x64": 4.57.1 + "@rollup/rollup-openharmony-arm64": 4.57.1 + "@rollup/rollup-win32-arm64-msvc": 4.57.1 + "@rollup/rollup-win32-ia32-msvc": 4.57.1 + "@rollup/rollup-win32-x64-gnu": 4.57.1 + "@rollup/rollup-win32-x64-msvc": 4.57.1 + fsevents: 2.3.3 + + siginfo@2.0.0: {} + + source-map-js@1.2.1: {} + + stackback@0.0.2: {} + + std-env@3.10.0: {} + + strip-literal@3.1.0: + dependencies: + js-tokens: 9.0.1 + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinypool@1.1.1: {} + + tinyrainbow@2.0.0: {} + + tinyspy@4.0.4: {} + + tslib@2.8.1: {} + + undici-types@7.16.0: {} + + vite-node@3.2.4(@types/node@24.10.13): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 7.3.1(@types/node@24.10.13) + transitivePeerDependencies: + - "@types/node" + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite@7.3.1(@types/node@24.10.13): + dependencies: + esbuild: 0.27.3 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.57.1 + tinyglobby: 0.2.15 + optionalDependencies: + "@types/node": 24.10.13 + fsevents: 2.3.3 + + vitest@3.2.4(@types/node@24.10.13): + dependencies: + "@types/chai": 5.2.3 + "@vitest/expect": 3.2.4 + "@vitest/mocker": 3.2.4(vite@7.3.1(@types/node@24.10.13)) + "@vitest/pretty-format": 3.2.4 + "@vitest/runner": 3.2.4 + "@vitest/snapshot": 3.2.4 + "@vitest/spy": 3.2.4 + "@vitest/utils": 3.2.4 + chai: 5.3.3 + debug: 4.4.3 + expect-type: 1.3.0 + magic-string: 0.30.21 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tinypool: 1.1.1 + tinyrainbow: 2.0.0 + vite: 7.3.1(@types/node@24.10.13) + vite-node: 3.2.4(@types/node@24.10.13) + why-is-node-running: 2.3.0 + optionalDependencies: + "@types/node": 24.10.13 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 diff --git a/e2e/shared/sequencer.ts b/e2e/shared/sequencer.ts new file mode 100644 index 0000000000..a87490d89b --- /dev/null +++ b/e2e/shared/sequencer.ts @@ -0,0 +1,21 @@ +import { BaseSequencer } from "vitest/node"; +import type { TestSpecification } from "vitest/node"; + +/** + * Sorts test files alphabetically by their module path. + * + * Vitest's default sequencer orders files by cached duration/failure history, + * which does not respect numeric prefixes (00-, 01-, 02-, ...). This sequencer + * ensures files always run in the order they are named, which matters for + * multi-file suites where later files depend on state set up by earlier ones + * (e.g. a scaling test that adds nodes for subsequent edge-case tests). + */ +export default class AlphabeticalSequencer extends BaseSequencer { + async shard(files: TestSpecification[]): Promise { + return super.shard(files); + } + + async sort(files: TestSpecification[]): Promise { + return files.sort((a, b) => a.moduleId.localeCompare(b.moduleId)); + } +} diff --git a/e2e/shared/tsconfig.json b/e2e/shared/tsconfig.json new file mode 100644 index 0000000000..b4cbbb843b --- /dev/null +++ b/e2e/shared/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "types": ["node"] + } +} diff --git a/e2e/shield/.gitignore b/e2e/shield/.gitignore new file mode 100644 index 0000000000..3e6b0f99ff --- /dev/null +++ b/e2e/shield/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +node-subtensor/ diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts new file mode 100644 index 0000000000..4979d14baf --- /dev/null +++ b/e2e/shield/helpers.ts @@ -0,0 +1,66 @@ +import { DedotClient } from "dedot"; +import { hexToU8a } from "@polkadot/util"; +import { xchacha20poly1305 } from "@noble/ciphers/chacha.js"; +import { randomBytes } from "@noble/ciphers/utils.js"; +import { MlKem768 } from "mlkem"; +import { xxhashAsU8a } from "@polkadot/util-crypto"; +import type { KeyringPair } from "@polkadot/keyring/types"; +import type { NodeSubtensorApi } from "../node-subtensor/index.js"; + +export const getNextKey = async ( + client: DedotClient, +): Promise => { + const key = await client.query.mevShield.nextKey(); + if (!key) return undefined; + return hexToU8a(key); +}; + +export const getCurrentKey = async ( + client: DedotClient, +): Promise => { + const key = await client.query.mevShield.currentKey(); + if (!key) return undefined; + return hexToU8a(key); +}; + +export const encryptTransaction = async ( + plaintext: Uint8Array, + publicKey: Uint8Array, +): Promise => { + const keyHash = xxhashAsU8a(publicKey, 128); + + const mlKem = new MlKem768(); + const [kemCt, sharedSecret] = await mlKem.encap(publicKey); + + const nonce = randomBytes(24); + const chacha = xchacha20poly1305(sharedSecret, nonce); + const aeadCt = chacha.encrypt(plaintext); + + const kemLenBytes = new Uint8Array(2); + new DataView(kemLenBytes.buffer).setUint16(0, kemCt.length, true); + + return new Uint8Array([...keyHash, ...kemLenBytes, ...kemCt, ...nonce, ...aeadCt]); +}; + +export const submitEncrypted = async ( + client: DedotClient, + signer: KeyringPair, + innerTxBytes: Uint8Array, + publicKey: Uint8Array, + nonce?: number, +) => { + const ciphertext = await encryptTransaction(innerTxBytes, publicKey); + return submitEncryptedRaw(client, signer, ciphertext, nonce); +}; + +export const submitEncryptedRaw = async ( + client: DedotClient, + signer: KeyringPair, + ciphertext: Uint8Array, + nonce?: number, +) => { + const tx = client.tx.mevShield.submitEncrypted(ciphertext); + const signed = await tx.sign(signer, nonce !== undefined ? { nonce } : {}); + + return signed.send().untilFinalized(); +}; diff --git a/e2e/shield/package.json b/e2e/shield/package.json new file mode 100644 index 0000000000..da11f8fbca --- /dev/null +++ b/e2e/shield/package.json @@ -0,0 +1,23 @@ +{ + "name": "e2e-shield", + "version": "1.0.0", + "type": "module", + "scripts": { + "test": "vitest run" + }, + "dependencies": { + "e2e-shared": "workspace:*", + "@noble/ciphers": "catalog:", + "@polkadot/keyring": "catalog:", + "@polkadot/util": "catalog:", + "@polkadot/util-crypto": "catalog:", + "dedot": "catalog:", + "mlkem": "catalog:" + }, + "devDependencies": { + "@dedot/cli": "catalog:", + "@dedot/chaintypes": "catalog:", + "@types/node": "catalog:", + "vitest": "catalog:" + } +} diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts new file mode 100644 index 0000000000..26974c3faf --- /dev/null +++ b/e2e/shield/setup.ts @@ -0,0 +1,165 @@ +import { writeFile, readFile, rm } from "node:fs/promises"; +import { + generateChainSpec, + insertKeys, + getGenesisPatch, + addAuthority, +} from "e2e-shared/chainspec.js"; +import { + startNode, + started, + peerCount, + finalizedBlocks, + stop, + log, + type Node, + type NodeOptions, +} from "e2e-shared/node.js"; + +const CHAIN_SPEC_PATH = "/tmp/e2e-shield-chain-spec.json"; +const STATE_FILE = "/tmp/e2e-shield-nodes.json"; + +export type NetworkState = { + binaryPath: string; + chainSpec: string; + nodes: { + name: string; + rpcPort: number; + port: number; + pid: number; + basePath: string; + }[]; +}; + +const nodes: Node[] = []; + +const BINARY_PATH = process.env.BINARY_PATH || "../../target/debug/node-subtensor"; + +// The local chain spec has 2 built-in authorities (One, Two). +// We add "Three" dynamically by patching the chain spec JSON. +const EXTRA_AUTHORITY_SEEDS = ["Three"]; + +type NodeConfig = Omit & { + keySeed?: string; +}; + +const NODE_CONFIGS: NodeConfig[] = [ + { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/e2e-shield-one", validator: true }, + { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/e2e-shield-two", validator: true }, + { + name: "three", + port: 30335, + rpcPort: 9946, + basePath: "/tmp/e2e-shield-three", + validator: true, + keySeed: "//Three", + }, +]; + +export async function setup() { + log(`Setting up ${NODE_CONFIGS.length}-node network for shield E2E tests`); + log(`Binary path: ${BINARY_PATH}`); + + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { + const patch = getGenesisPatch(spec); + for (const seed of EXTRA_AUTHORITY_SEEDS) { + addAuthority(patch, seed); + } + }); + + for (const config of NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + } + + // Insert keys for authority nodes that don't have built-in substrate shortcuts. + for (const config of NODE_CONFIGS) { + if (config.keySeed) { + insertKeys(BINARY_PATH, config.basePath, CHAIN_SPEC_PATH, config.keySeed); + } + } + + for (const config of NODE_CONFIGS) { + const node = startNode({ + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + ...config, + }); + nodes.push(node); + await started(node); + } + + const all = Promise.all.bind(Promise); + + await all(nodes.map((n) => peerCount(n, nodes.length - 1))); + log("All nodes peered"); + + await all(nodes.map((n) => finalizedBlocks(n, 3))); + log("All nodes finalized block 3"); + + const state: NetworkState = { + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + nodes: NODE_CONFIGS.map((c, i) => ({ + name: c.name, + rpcPort: c.rpcPort, + port: c.port, + pid: nodes[i].process.pid!, + basePath: c.basePath, + })), + }; + + await writeFile(STATE_FILE, JSON.stringify(state, null, 2)); + log("Network state written to " + STATE_FILE); +} + +export async function teardown() { + log("Tearing down shield E2E test network"); + + // Read the state file to find ALL nodes (including extras added by scaling tests). + let state: NetworkState | undefined; + try { + const data = await readFile(STATE_FILE, "utf-8"); + state = JSON.parse(data); + } catch {} + + // Stop nodes we have handles to (from globalSetup). + for (const node of nodes) { + try { + await stop(node); + } catch (e) { + log(`Warning: failed to stop ${node.name}: ${e}`); + } + } + + // Kill any extra nodes (added by scaling tests) by PID. + if (state) { + const ownPids = new Set(nodes.map((n) => n.process.pid)); + for (const nodeInfo of state.nodes) { + if (!ownPids.has(nodeInfo.pid)) { + try { + process.kill(nodeInfo.pid, "SIGTERM"); + log(`Killed extra node ${nodeInfo.name} (pid ${nodeInfo.pid})`); + } catch { + // Already dead, ignore. + } + } + } + + // Clean up all base paths. + for (const nodeInfo of state.nodes) { + await rm(nodeInfo.basePath, { recursive: true, force: true }); + } + } + + try { + await rm(STATE_FILE, { force: true }); + await rm(CHAIN_SPEC_PATH, { force: true }); + } catch {} + + log("Teardown complete"); +} + +export async function readNetworkState(): Promise { + const data = await readFile(STATE_FILE, "utf-8"); + return JSON.parse(data); +} diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts new file mode 100644 index 0000000000..cc1811aec7 --- /dev/null +++ b/e2e/shield/tests/00-basic.test.ts @@ -0,0 +1,242 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, + waitForFinalizedBlocks, + watchTxStatus, +} from "e2e-shared/client.js"; +import { + getNextKey, + getCurrentKey, + encryptTransaction, + submitEncrypted, +} from "../helpers.js"; + +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); +const charlie = keyring.addFromUri("//Charlie"); + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); + + // Wait for enough finalized blocks so the inherent has had time to run + // and keys have rotated at least once. + await waitForFinalizedBlocks(client, 3); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — key rotation", () => { + it("NextKey and CurrentKey are populated and rotate across blocks", async () => { + const nextKey1 = await getNextKey(client); + expect(nextKey1).toBeDefined(); + expect(nextKey1!.length).toBe(1184); // ML-KEM-768 public key + + const currentKey1 = await getCurrentKey(client); + expect(currentKey1).toBeDefined(); + expect(currentKey1!.length).toBe(1184); + + await waitForFinalizedBlocks(client, 2); + + const nextKey2 = await getNextKey(client); + expect(nextKey2).toBeDefined(); + // Keys should have rotated — nextKey changes each block. + expect(nextKey2).not.toEqual(nextKey1); + + const currentKey2 = await getCurrentKey(client); + expect(currentKey2).toBeDefined(); + expect(currentKey2).not.toEqual(currentKey1); + }); + + it("AuthorKeys stores per-author keys", async () => { + const authorities = await client.query.aura.authorities(); + expect(authorities.length).toBeGreaterThan(0); + + let foundKeys = 0; + for (const authority of authorities) { + const key = await client.query.mevShield.authorKeys(authority); + if (key) foundKeys++; + } + + expect(foundKeys).toBeGreaterThan(0); + }); +}); + +describe("MEV Shield — encrypted transactions", () => { + it("Happy path: wrapper and inner tx are included in the same block", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 10_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + // Verify EncryptedSubmitted event was emitted. + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // The inner transfer should be in the same block as the wrapper. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Failed inner tx: wrapper succeeds but inner transfer has no effect", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + // Encrypt a transfer of more than Alice has. + // The wrapper is valid (correct key_hash, valid encryption), but the + // inner transfer should fail at dispatch with InsufficientBalance. + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 9_000_000_000_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + // The wrapper itself should be finalized successfully. + expect(result.status.type).toBe("Finalized"); + + // The EncryptedSubmitted event should be present (wrapper was valid). + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // The inner transfer failed, so bob's balance should not increase. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); + + it("Malformed ciphertext is rejected at pool level", async () => { + const nonce = await getAccountNonce(client, alice.address); + + // 5 bytes of garbage — not valid ciphertext at all. + const garbage = new Uint8Array([0x01, 0x02, 0x03, 0x04, 0x05]); + + const tx = client.tx.mevShield.submitEncrypted(garbage); + + // Pool validation rejects with FailedShieldedTxParsing (Custom code 23). + const status = await watchTxStatus(tx, alice, { nonce }, ["Invalid"]); + expect(status.type).toBe("Invalid"); + }); + + it("Wrong key hash is not included by the block proposer", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 1_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const ciphertext = await encryptTransaction(innerTx.toU8a(), nextKey!); + + // Tamper the first 16 bytes (key_hash). + const tampered = new Uint8Array(ciphertext); + for (let i = 0; i < 16; i++) tampered[i] = 0xff; + + const tx = client.tx.mevShield.submitEncrypted(tampered); + const signed = await tx.sign(alice, { nonce }); + // Send without waiting — the tx enters the pool but the block + // proposer will skip it because the key_hash doesn't match. + signed.send().catch(() => {}); + + await waitForFinalizedBlocks(client, 3); + + // The inner transfer should NOT have executed. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); + + it("Stale key is not included after rotation", async () => { + const staleKey = await getNextKey(client); + expect(staleKey).toBeDefined(); + + // Wait for enough blocks that the key has rotated past both + // currentKey and nextKey positions. + await waitForFinalizedBlocks(client, 3); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 1_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const ciphertext = await encryptTransaction(innerTx.toU8a(), staleKey!); + + const tx = client.tx.mevShield.submitEncrypted(ciphertext); + const signed = await tx.sign(alice, { nonce }); + // Send without waiting — the block proposer will reject because + // key_hash no longer matches currentKey or nextKey. + signed.send().catch(() => {}); + + await waitForFinalizedBlocks(client, 3); + + // The inner transfer should NOT have executed. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); + + it("Multiple encrypted txs in same block", async () => { + // Use different signers to avoid nonce ordering issues between + // the outer wrappers and decrypted inner transactions. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(client, sender.address); + + const innerTx = await client.tx.balances + .transferKeepAlive(charlie.address, amount) + .sign(sender, { nonce: nonce + 1 }); + + txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + } + + // Both should finalize (possibly in different blocks, that's fine). + const results = await Promise.allSettled(txPromises); + + const succeeded = results.filter((r) => r.status === "fulfilled"); + expect(succeeded.length).toBe(senders.length); + + const balanceAfter = await getBalance(client, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); +}); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts new file mode 100644 index 0000000000..9627b9f425 --- /dev/null +++ b/e2e/shield/tests/01-scaling.test.ts @@ -0,0 +1,139 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile, writeFile, rm } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, + waitForFinalizedBlocks, +} from "e2e-shared/client.js"; +import { startNode, started, log } from "e2e-shared/node.js"; +import { getNextKey, submitEncrypted } from "../helpers.js"; + +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); +const charlie = keyring.addFromUri("//Charlie"); + +// Extra nodes join as non-authority full nodes. +const EXTRA_NODE_CONFIGS = [ + { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/e2e-shield-four" }, + { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/e2e-shield-five" }, + { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/e2e-shield-six" }, +]; + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); + + // Start 3 additional full nodes to scale from 3 → 6. + for (const config of EXTRA_NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + + const node = startNode({ + ...config, + binaryPath: state.binaryPath, + validator: false, + chainSpec: state.chainSpec, + }); + await started(node); + log(`Extra node ${config.name} started`); + + // Track in state file so global teardown can clean up. + state.nodes.push({ + name: config.name, + rpcPort: config.rpcPort, + port: config.port, + pid: node.process.pid!, + basePath: config.basePath, + }); + } + + // Persist updated state for subsequent test files (edge-cases). + await writeFile("/tmp/e2e-shield-nodes.json", JSON.stringify(state, null, 2)); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — 6 node scaling", () => { + it("Network scales to 6 nodes with full peering", async () => { + expect(state.nodes.length).toBe(6); + + // Verify the network is healthy by checking finalization continues. + await waitForFinalizedBlocks(client, 2); + }); + + it("Key rotation continues with more peers", async () => { + const key1 = await getNextKey(client); + expect(key1).toBeDefined(); + + await waitForFinalizedBlocks(client, 2); + + const key2 = await getNextKey(client); + expect(key2).toBeDefined(); + expect(key2!.length).toBe(1184); + }); + + it("Encrypted tx works with 6 nodes", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 5_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Multiple encrypted txs in same block with 6 nodes", async () => { + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(client, sender.address); + + const innerTx = await client.tx.balances + .transferKeepAlive(charlie.address, amount) + .sign(sender, { nonce: nonce + 1 }); + + txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + } + + const results = await Promise.allSettled(txPromises); + + const succeeded = results.filter((r) => r.status === "fulfilled"); + expect(succeeded.length).toBe(senders.length); + + const balanceAfter = await getBalance(client, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); +}); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts new file mode 100644 index 0000000000..ea6bff86fd --- /dev/null +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -0,0 +1,89 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import { DedotClient } from "dedot"; +import type { NetworkState } from "../setup.js"; +import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; +import { + connectClient, + createKeyring, + getAccountNonce, + getBalance, +} from "e2e-shared/client.js"; +import { getNextKey, submitEncrypted } from "../helpers.js"; +let client: DedotClient; +let state: NetworkState; + +const keyring = createKeyring(); +const alice = keyring.addFromUri("//Alice"); +const bob = keyring.addFromUri("//Bob"); + +beforeAll(async () => { + const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + state = JSON.parse(data); + client = await connectClient(state.nodes[0].rpcPort); +}); + +afterAll(async () => { + await client?.disconnect(); +}); + +describe("MEV Shield — edge cases", () => { + it("Encrypted tx persists across blocks (CurrentKey fallback)", async () => { + // The idea: submit an encrypted tx right at a block boundary. + // Even if the key rotates (NextKey changes), the old key becomes + // CurrentKey, so the extension still accepts it. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + const nonce = await getAccountNonce(client, alice.address); + const innerTx = await client.tx.balances + .transferKeepAlive(bob.address, 2_000_000_000n) + .sign(alice, { nonce: nonce + 1 }); + + // Submit and wait for finalization — the tx may land in the next block + // or the one after, where CurrentKey = the old NextKey. + const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + + expect(result.status.type).toBe("Finalized"); + + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Valid ciphertext with invalid inner call", async () => { + // Encrypt garbage bytes (not a valid extrinsic) using a valid NextKey. + // The wrapper tx should be included in a block because: + // - The ciphertext is well-formed (key_hash, kem_ct, nonce, aead_ct) + // - The key_hash matches a known key + // But the inner decrypted bytes won't decode as a valid extrinsic, + // so no inner transaction should execute. + const nextKey = await getNextKey(client); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(client, bob.address); + + // Garbage "inner transaction" bytes — not a valid extrinsic at all. + const garbageInner = new Uint8Array(64); + for (let i = 0; i < 64; i++) garbageInner[i] = (i * 7 + 13) & 0xff; + + const nonce = await getAccountNonce(client, alice.address); + + const result = await submitEncrypted(client, alice, garbageInner, nextKey!, nonce); + + // The wrapper should be finalized successfully. + expect(result.status.type).toBe("Finalized"); + + // The EncryptedSubmitted event should be emitted for the wrapper. + const encryptedEvent = result.events.find( + (e: any) => + e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", + ); + expect(encryptedEvent).toBeDefined(); + + // No balance change — the garbage inner call could not have been a valid transfer. + const balanceAfter = await getBalance(client, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }); +}); diff --git a/e2e/shield/tsconfig.json b/e2e/shield/tsconfig.json new file mode 100644 index 0000000000..c2f86d9e2c --- /dev/null +++ b/e2e/shield/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "types": ["node", "vitest/globals"] + } +} diff --git a/e2e/shield/vitest.config.ts b/e2e/shield/vitest.config.ts new file mode 100644 index 0000000000..f63f00f5c2 --- /dev/null +++ b/e2e/shield/vitest.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from "vitest/config"; +import AlphabeticalSequencer from "e2e-shared/sequencer.js"; + +export default defineConfig({ + test: { + globals: true, + testTimeout: 120_000, + hookTimeout: 300_000, + fileParallelism: false, + globalSetup: "./setup.ts", + setupFiles: ["./setup.ts"], + include: ["tests/**/*.test.ts"], + sequence: { + sequencer: AlphabeticalSequencer, + }, + }, +}); From e0d6514039f93c7219de5deaf72e7c75b6124d37 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 20 Feb 2026 12:40:57 -0300 Subject: [PATCH 108/204] Revert "remove e2e workflow" This reverts commit d6f0293ce6deffd78ba1c89f116b0cf8edefc33d. --- .github/workflows/e2e.yml | 127 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 .github/workflows/e2e.yml diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 0000000000..9d2fdced26 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,127 @@ +name: E2E Tests + +on: + workflow_dispatch: + inputs: + verbose: + description: "Output more information when triggered manually" + required: false + default: "" + +env: + CARGO_TERM_COLOR: always + +permissions: + contents: read + +jobs: + # Build the node binary once and share it across test jobs. + build: + runs-on: [self-hosted, type-ccx33] + timeout-minutes: 60 + env: + RUST_BACKTRACE: full + steps: + - name: Check-out repository + uses: actions/checkout@v4 + + - name: Install system dependencies + run: | + sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get update + sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y --no-install-recommends \ + -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \ + build-essential clang curl git make libssl-dev llvm libudev-dev protobuf-compiler pkg-config + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Utilize Shared Rust Cache + uses: Swatinem/rust-cache@v2 + with: + key: e2e + cache-on-failure: true + + - name: Build node-subtensor + run: cargo build --release -p node-subtensor + + - name: Upload binary + uses: actions/upload-artifact@v4 + with: + name: node-subtensor + path: target/release/node-subtensor + if-no-files-found: error + + # Discover e2e packages that have a "test" script. + discover: + runs-on: ubuntu-latest + outputs: + packages: ${{ steps.find.outputs.packages }} + steps: + - name: Check-out repository + uses: actions/checkout@v4 + with: + sparse-checkout: e2e + + - name: Find testable packages + id: find + working-directory: e2e + run: | + packages=$( + find . -maxdepth 2 -name package.json -not -path './node_modules/*' \ + | while read -r pkg; do + name=$(jq -r '.name // empty' "$pkg") + has_test=$(jq -r '.scripts.test // empty' "$pkg") + if [ -n "$has_test" ] && [ -n "$name" ]; then + echo "$name" + fi + done \ + | jq -R -s -c 'split("\n") | map(select(. != ""))' + ) + echo "packages=$packages" >> "$GITHUB_OUTPUT" + echo "Discovered packages: $packages" + + # Run each e2e package's tests in parallel. + test: + needs: [build, discover] + if: ${{ needs.discover.outputs.packages != '[]' }} + runs-on: [self-hosted, type-ccx33] + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + package: ${{ fromJson(needs.discover.outputs.packages) }} + name: "e2e: ${{ matrix.package }}" + steps: + - name: Check-out repository + uses: actions/checkout@v4 + + - name: Download node-subtensor binary + uses: actions/download-artifact@v4 + with: + name: node-subtensor + path: target/release + + - name: Make binary executable + run: chmod +x target/release/node-subtensor + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "24" + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 10 + + - name: Install e2e dependencies + working-directory: e2e + run: pnpm install --frozen-lockfile + + - name: Run tests + working-directory: e2e + env: + BINARY_PATH: ${{ github.workspace }}/target/release/node-subtensor + run: pnpm --filter ${{ matrix.package }} test From b7d8c17157fbdd503327e5d0a4f956be103fa436 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 23 Feb 2026 20:37:11 -0300 Subject: [PATCH 109/204] convert from dedot to papi --- e2e/.gitignore | 3 +- e2e/bootstrap.sh | 4 +- e2e/package.json | 7 +- e2e/pnpm-lock.yaml | 1892 ++++++++++++++++++------ e2e/pnpm-workspace.yaml | 6 +- e2e/shared/client.ts | 101 +- e2e/shared/package.json | 5 +- e2e/shield/helpers.ts | 42 +- e2e/shield/package.json | 8 +- e2e/shield/setup.ts | 2 +- e2e/shield/tests/00-basic.test.ts | 182 ++- e2e/shield/tests/01-scaling.test.ts | 76 +- e2e/shield/tests/02-edge-cases.test.ts | 61 +- e2e/shield/vitest.config.ts | 1 - 14 files changed, 1646 insertions(+), 744 deletions(-) diff --git a/e2e/.gitignore b/e2e/.gitignore index f03ed1d657..8084bdaf01 100644 --- a/e2e/.gitignore +++ b/e2e/.gitignore @@ -1,2 +1,3 @@ node_modules/ -node-subtensor/ \ No newline at end of file +node-subtensor/ +.papi \ No newline at end of file diff --git a/e2e/bootstrap.sh b/e2e/bootstrap.sh index d78646f273..6ed0cc0dca 100755 --- a/e2e/bootstrap.sh +++ b/e2e/bootstrap.sh @@ -2,7 +2,7 @@ set -e MANIFEST="../Cargo.toml" -BINARY="../target/debug/node-subtensor" +BINARY="../target/release/node-subtensor" echo "==> Building node-subtensor..." pnpm build-node @@ -28,7 +28,7 @@ until curl -sf -o /dev/null \ fi done -echo "==> Generating dedot types..." +echo "==> Generating papi types..." pnpm generate-types echo "==> Done." diff --git a/e2e/package.json b/e2e/package.json index 23bfadfa91..30d52dbf9c 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -3,12 +3,15 @@ "private": true, "scripts": { "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", - "generate-types": "pnpm --package=@dedot/cli dlx dedot chaintypes -w ws://localhost:9944", + "generate-types": "papi add subtensor --wsUrl ws://localhost:9944 --skip-codegen && papi", "format": "prettier --write .", "format:check": "prettier --check ." }, + "dependencies": { + "@polkadot-api/descriptors": "file:.papi/descriptors", + "polkadot-api": "catalog:" + }, "devDependencies": { - "dedot": "catalog:", "prettier": "catalog:" } } diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index 6e4741d620..e645e75263 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -6,15 +6,15 @@ settings: catalogs: default: - '@dedot/chaintypes': - specifier: ^0.234.0 - version: 0.234.0 - '@dedot/cli': - specifier: ^1.0.4 - version: 1.0.4 '@noble/ciphers': specifier: ^2.1.1 version: 2.1.1 + '@polkadot-labs/hdkd': + specifier: ^0.0.25 + version: 0.0.25 + '@polkadot-labs/hdkd-helpers': + specifier: ^0.0.25 + version: 0.0.25 '@polkadot/keyring': specifier: ^14.0.1 version: 14.0.1 @@ -27,12 +27,12 @@ catalogs: '@types/node': specifier: ^24 version: 24.10.13 - dedot: - specifier: ^1.0.4 - version: 1.0.4 mlkem: specifier: ^2.5.0 version: 2.5.0 + polkadot-api: + specifier: ^1.22.0 + version: 1.23.3 prettier: specifier: ^3.0.0 version: 3.8.1 @@ -43,22 +43,35 @@ catalogs: importers: .: - devDependencies: - dedot: + dependencies: + '@polkadot-api/descriptors': + specifier: file:.papi/descriptors + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) + polkadot-api: specifier: 'catalog:' - version: 1.0.4 + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + devDependencies: prettier: specifier: 'catalog:' version: 3.8.1 shared: dependencies: + '@polkadot-api/descriptors': + specifier: file:../.papi/descriptors + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) + '@polkadot-labs/hdkd': + specifier: 'catalog:' + version: 0.0.25 + '@polkadot-labs/hdkd-helpers': + specifier: 'catalog:' + version: 0.0.25 '@polkadot/keyring': specifier: 'catalog:' version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) - dedot: + polkadot-api: specifier: 'catalog:' - version: 1.0.4 + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) devDependencies: '@types/node': specifier: 'catalog:' @@ -72,31 +85,25 @@ importers: '@noble/ciphers': specifier: 'catalog:' version: 2.1.1 - '@polkadot/keyring': - specifier: 'catalog:' - version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) + '@polkadot-api/descriptors': + specifier: file:../.papi/descriptors + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) '@polkadot/util': specifier: 'catalog:' version: 14.0.1 '@polkadot/util-crypto': specifier: 'catalog:' version: 14.0.1(@polkadot/util@14.0.1) - dedot: - specifier: 'catalog:' - version: 1.0.4 e2e-shared: specifier: workspace:* version: link:../shared mlkem: specifier: 'catalog:' version: 2.5.0 - devDependencies: - '@dedot/chaintypes': + polkadot-api: specifier: 'catalog:' - version: 0.234.0(dedot@1.0.4) - '@dedot/cli': - specifier: 'catalog:' - version: 1.0.4 + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + devDependencies: '@types/node': specifier: 'catalog:' version: 24.10.13 @@ -106,69 +113,24 @@ importers: packages: - '@adraffy/ens-normalize@1.11.1': - resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + engines: {node: '>=6.9.0'} - '@dedot/api@1.0.4': - resolution: {integrity: sha512-Gp4XJZ00QIvuhZeoKAAIYEBE7Ht9DNUIxbQWaH39k9b4jXtsKcudnVuV3h7mfMx9E/afHIvbUQsZIshkGL+oXw==} - engines: {node: '>=18'} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} - '@dedot/chaintypes@0.234.0': - resolution: {integrity: sha512-MpVlwk8cC3NXwyP+8ceGlRWWP6Gzol1LAcr7UW5ltla6DDbnnE3XtPzKoCPOHUrNFLH2JXOOSy6mZ7glFxYSKA==} + '@commander-js/extra-typings@14.0.0': + resolution: {integrity: sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg==} peerDependencies: - dedot: '>=1.0.1' - - '@dedot/cli@1.0.4': - resolution: {integrity: sha512-t8pj1lwOFoRa2ILRfxvgyn3GE3uDMmZCrIqzCJwq5Phd6c6hvxryQEIM4EuYOf0peE5wBK5bx/SZ5iYgD0kPFA==} - engines: {node: '>=18'} - hasBin: true - - '@dedot/codecs@1.0.4': - resolution: {integrity: sha512-JBIVen+dNgmMwJlIYfWjCKAN/v6fffcLLJo9V6MTKqcXb+A3E4OsVKiQB9sy08VAqFPY1SkONbVqLDyfUuGjyA==} - engines: {node: '>=18'} - - '@dedot/codegen@1.0.4': - resolution: {integrity: sha512-ruPFlLZ+mvb+EPghkphHRmZYrGN3cV8m3+NgIo0ExHFL2DNFR8k/dwtUNszRFASskgWAMTgZHtf8vA+32EnYjA==} - engines: {node: '>=18'} - - '@dedot/contracts@1.0.4': - resolution: {integrity: sha512-hsPo+lvoF0UcGLD9HgOJ/wwLkEuuQRq2GqkymcuPRIhw/HJzcP3oZpN2IaSEhywyfs6GuEPpiMaXa90OHuc7gw==} - engines: {node: '>=18'} - - '@dedot/merkleized-metadata@1.0.4': - resolution: {integrity: sha512-ibpGGX5JTKkkVHpB9VyNuUChd1+yFbmpPfgde9gKlZx3bP+EQ1ljkWCuk6UNlmuw4n5Pd6n3ZiCAYjJRaBHlvQ==} - engines: {node: '>=18'} - - '@dedot/providers@1.0.4': - resolution: {integrity: sha512-zarBjZzrMX0MT9f+lch1vqVAkcXMVbtkM57OJdE6426INXbKeF50H7iihWJonvZQYbIQLGV94u4Gre3JhTyfOg==} - engines: {node: '>=18'} - - '@dedot/runtime-specs@1.0.4': - resolution: {integrity: sha512-1Y+pElxeFnJdHCm6bKhipsR07YIR6JnEjQzxeGwPeOS88XSA8mWppAY6j+sIS2HPZmmcYmZOBlS4WQ84K+aavg==} - engines: {node: '>=18'} - - '@dedot/shape@1.0.4': - resolution: {integrity: sha512-hw+9DfPWXRv6qaTbFaq9U6ZN+rCGVwPLmOpYq+uYwGfmLcqb56slaBw+Xw1wvqOjHLYvYtCy0718pcrspmToig==} - engines: {node: '>=18'} - - '@dedot/smoldot@1.0.4': - resolution: {integrity: sha512-b7zkTQLKnjIj0rN2G9MhXGE6ECIR8baz6ugPwelFBAGA1imrvHccxfli1tMR4KAV+ZdmSX6E+9yojNSHjEJb4w==} - engines: {node: '>=18'} + commander: ~14.0.0 - '@dedot/storage@1.0.4': - resolution: {integrity: sha512-OX6cFrlx73u3e0jtUIam/p2AJxZFpfbc2h+bgRoin9h3XjaW50ZWNttOr8tI53UT0dggAoHNz+jX+7LZNxKmcg==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} - - '@dedot/types@1.0.4': - resolution: {integrity: sha512-yl5Pp71tqLoPKm+UgRnWRZgUmBWfOG79x0FRAwox2bYrrSJ30S0DnOc2dfrWlf0uxR6CY8e2E86MiJaSrP22iA==} - engines: {node: '>=18'} - - '@dedot/utils@1.0.4': - resolution: {integrity: sha512-Qv6jkkJwMEFfQ2nPXLvczt8fqLKVvluy7JP7qvD3f1oaryvIUF84d7FxuwlE285s3J7Cc9+GlP0F+PQ0KTwHnA==} - engines: {node: '>=18'} - - '@dedot/wasm@0.1.0': - resolution: {integrity: sha512-IdsH+ZaV0YS8tpmlYiPtwPfKj3qv5CbUv/wftdRuTdcmOosylphSMU06rdvjspehWIJ9dgOBIYS1ocatPHmm4Q==} + cpu: [ppc64] + os: [aix] '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} @@ -176,179 +138,435 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.27.3': resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.27.3': resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.27.3': resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.27.3': resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.27.3': resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.27.3': resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.27.3': resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.27.3': resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.27.3': resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.27.3': resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.27.3': resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.27.3': resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.27.3': resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.27.3': resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.27.3': resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.27.3': resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-arm64@0.27.3': resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.27.3': resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-arm64@0.27.3': resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.27.3': resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + '@esbuild/openharmony-arm64@0.27.3': resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.27.3': resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.27.3': resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.27.3': resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.27.3': resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@noble/ciphers@1.3.0': - resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==} - engines: {node: ^14.21.3 || >=16} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@noble/ciphers@2.1.1': resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} engines: {node: '>= 20.19.0'} - '@noble/curves@1.9.1': - resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} - engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.9.7': resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} engines: {node: ^14.21.3 || >=16} + '@noble/curves@2.0.1': + resolution: {integrity: sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==} + engines: {node: '>= 20.19.0'} + '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@2.0.1': + resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} + engines: {node: '>= 20.19.0'} + + '@polkadot-api/cli@0.18.1': + resolution: {integrity: sha512-jPa8WSNPZWdy372sBAUnm0nU1XX5mLbmgkOOU39+zpYPSE12mYXyM3r7JuT5IHdAccEJr6qK2DplPFTeNSyq9A==} + hasBin: true + + '@polkadot-api/codegen@0.21.2': + resolution: {integrity: sha512-e1Of2TfB13YndPQ71WrtOIPfRrSlkG6wGprP8/VHC484kkt2JPDOY+io3NdPWkafDblDQ47aG0368sxT+4RSZA==} + + '@polkadot-api/descriptors@file:.papi/descriptors': + resolution: {directory: .papi/descriptors, type: directory} + peerDependencies: + polkadot-api: '>=1.21.0' + + '@polkadot-api/ink-contracts@0.4.6': + resolution: {integrity: sha512-wpFPa8CnGnmq+cFYMzuTEDmtt3ElBM0UWgTz4RpmI9E7knZ1ctWBhO7amXxOWcILqIG6sqWIE95x0cfF1PRcQg==} + + '@polkadot-api/json-rpc-provider-proxy@0.2.8': + resolution: {integrity: sha512-AC5KK4p2IamAQuqR0S3YaiiUDRB2r1pWNrdF0Mntm5XGYEmeiAILBmnFa7gyWwemhkTWPYrK5HCurlGfw2EsDA==} + + '@polkadot-api/json-rpc-provider@0.0.4': + resolution: {integrity: sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA==} + + '@polkadot-api/known-chains@0.9.18': + resolution: {integrity: sha512-zdU4FA01lXcpNXUiFgSmFKIwDKbTw15KT4U6Zlqo6FPUMZgncVEbbS4dSgVrf+TGw9SDOUjGlEdyTHAiOAG5Tw==} + + '@polkadot-api/legacy-provider@0.3.8': + resolution: {integrity: sha512-Q747MN/7IUxxXGLWLQfhmSLqFyOLUsUFqQQytlEBjt66ZAv9VwYiHZ8JMBCnMzFuaUpKEWDT62ESKhgXn/hmEQ==} + peerDependencies: + rxjs: '>=7.8.0' + + '@polkadot-api/logs-provider@0.0.6': + resolution: {integrity: sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg==} + + '@polkadot-api/merkleize-metadata@1.1.29': + resolution: {integrity: sha512-z8ivYDdr4xlh50MQ7hLaSVw4VM6EV7gGgd+v/ej09nue0W08NG77zf7pXWeRKgOXe3+hPOSQQRSZT2OlIYRfqA==} + + '@polkadot-api/metadata-builders@0.13.9': + resolution: {integrity: sha512-V2GljT6StuK40pfmO5l53CvgFNgy60Trrv20mOZDCsFU9J82F+a1HYAABDYlRgoZ9d0IDwc+u+vI+RHUJoR4xw==} + + '@polkadot-api/metadata-compatibility@0.4.4': + resolution: {integrity: sha512-V4ye5d2ns32YC45Fdc/IF9Y7CgM8inzJbmHQ2DCPSNd6omTRLJd81gU9zU88QAqPAcH2gKGnS5UF+wLL2VagSQ==} + + '@polkadot-api/observable-client@0.17.3': + resolution: {integrity: sha512-SJhbMKBIzxNgUUy7ZWflYf/TX9soMqiR2WYyggA7U3DLhgdx4wzFjOSbxCk8RuX9Kf/AmJE4dfleu9HBSCZv6g==} + peerDependencies: + rxjs: '>=7.8.0' + + '@polkadot-api/pjs-signer@0.6.19': + resolution: {integrity: sha512-jTHKoanZg9ewupthOczWNb2pici+GK+TBQmp9MwhwGs/3uMD2144aA8VNNBEi8rMxOBZlvKYfGkgjiTEGbBwuQ==} + + '@polkadot-api/polkadot-sdk-compat@2.4.1': + resolution: {integrity: sha512-+sET0N3GpnKkLvsazBZEC5vhqAlamlL1KkJK9STB1tRxHSZcY/yBBa1Udn9DXJfX48kE9cnzfYldl9zsjqpARg==} + + '@polkadot-api/polkadot-signer@0.1.6': + resolution: {integrity: sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A==} + + '@polkadot-api/raw-client@0.1.1': + resolution: {integrity: sha512-HxalpNEo8JCYXfxKM5p3TrK8sEasTGMkGjBNLzD4TLye9IK2smdb5oTvp2yfkU1iuVBdmjr69uif4NaukOYo2g==} + + '@polkadot-api/signer@0.2.13': + resolution: {integrity: sha512-XBOtjFsRGETVm/aXeZnsvFcJ1qvtZhRtwUMmpCOBt9s8PWfILaQH/ecOegzda3utNIZGmXXaOoJ5w9Hc/6I3ww==} + + '@polkadot-api/signers-common@0.1.20': + resolution: {integrity: sha512-v1mrTdRjQOV17riZ8172OsOQ/RJbv1QsEpjwnvxzvdCnjuNpYwtYHZaE+cSdDBb4n1p73XIBMvB/uAK/QFC2JA==} + + '@polkadot-api/sm-provider@0.1.16': + resolution: {integrity: sha512-3LEDU7nkgtDx1A6ATHLLm3+nFAY6cdkNA9tGltfDzW0efACrhhfDjNqJdI1qLNY0wDyT1aGdoWr5r+4CckRpXA==} + peerDependencies: + '@polkadot-api/smoldot': '>=0.3' + + '@polkadot-api/smoldot@0.3.15': + resolution: {integrity: sha512-YyV+ytP8FcmKEgLRV7uXepJ5Y6md/7u2F8HKxmkWytmnGXO1z+umg2pHbOxLGifD9V2NhkPY+awpzErtVIzqAA==} + + '@polkadot-api/substrate-bindings@0.17.0': + resolution: {integrity: sha512-YdbkvG/27N5A94AiKE4soVjDy0Nw74Nn+KD29mUnFmIZvL3fsN/DTYkxvMDVsOuanFXyAIXmzDMoi7iky0fyIw==} + + '@polkadot-api/substrate-client@0.5.0': + resolution: {integrity: sha512-J+gyZONCak+n6NxADZWtldH+gatYORqEScMAgI9gGu43pHUe7/xNRCqnin0dgDIzmuL3m1ERglF8LR7YhB0nHQ==} + + '@polkadot-api/utils@0.2.0': + resolution: {integrity: sha512-nY3i5fQJoAxU4n3bD7Fs208/KR2J95SGfVc58kDjbRYN5a84kWaGEqzjBNtP9oqht49POM8Bm9mbIrkvC1Bzuw==} + + '@polkadot-api/wasm-executor@0.2.3': + resolution: {integrity: sha512-B2h1o+Qlo9idpASaHvMSoViB2I5ko5OAfwfhYF8LQDkTADK0B+SeStzNj1Qn+FG34wqTuv7HzBCdjaUgzYINJQ==} + + '@polkadot-api/ws-provider@0.7.5': + resolution: {integrity: sha512-2ZLEo0PAFeuOx2DUDkbex85HZMf9lgnmZ8oGB5+NaButIydkoqXy5SHYJNPc45GcZy2tvwzImMZInNMLa5GJhg==} + + '@polkadot-labs/hdkd-helpers@0.0.25': + resolution: {integrity: sha512-GwHayBuyHKfzvGD0vG47NbjFeiK6rRQHQAn1syut9nt0mhXMg4yb3tJ//IyM317qWuDU3HbD2OIp5jKDEQz2/A==} + + '@polkadot-labs/hdkd-helpers@0.0.27': + resolution: {integrity: sha512-GTSj/Mw5kwtZbefvq2BhvBnHvs7AY4OnJgppO0kE2S/AuDbD6288C9rmO6qwMNmiNVX8OrYMWaJcs46Mt1UbBw==} + + '@polkadot-labs/hdkd@0.0.25': + resolution: {integrity: sha512-+yZJC1TE4ZKdfoILw8nGxu3H/klrYXm9GdVB0kcyQDecq320ThUmM1M4l8d1F/3QD0Nez9NwHi9t5B++OgJU5A==} + '@polkadot/keyring@14.0.1': resolution: {integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==} engines: {node: '>=18'} @@ -360,10 +578,6 @@ packages: resolution: {integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==} engines: {node: '>=18'} - '@polkadot/types-support@16.5.4': - resolution: {integrity: sha512-Ra6keCaO73ibxN6MzA56jFq9EReje7jjE4JQfzV5IpyDZdXcmPyJiEfa2Yps/YSP13Gc2e38t9FFyVau0V+SFQ==} - engines: {node: '>=18'} - '@polkadot/util-crypto@14.0.1': resolution: {integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==} engines: {node: '>=18'} @@ -436,10 +650,6 @@ packages: resolution: {integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==} engines: {node: '>=18'} - '@polkadot/x-ws@14.0.1': - resolution: {integrity: sha512-Q18hoSuOl7F4aENNGNt9XYxkrjwZlC6xye9OQrPDeHam1SrvflGv9mSZHyo+mwJs0z1PCz2STpPEN9PKfZvHng==} - engines: {node: '>=18'} - '@rollup/rollup-android-arm-eabi@4.57.1': resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] @@ -578,18 +788,35 @@ packages: cpu: [x64] os: [win32] + '@rx-state/core@0.1.4': + resolution: {integrity: sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ==} + peerDependencies: + rxjs: '>=7' + '@scure/base@1.2.6': resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - '@scure/bip32@1.7.0': - resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} - - '@scure/bip39@1.6.0': - resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} + '@scure/base@2.0.0': + resolution: {integrity: sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==} '@scure/sr25519@0.2.0': resolution: {integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==} + '@scure/sr25519@0.3.0': + resolution: {integrity: sha512-SKsinX2sImunfcsH3seGrwH/OayBwwaJqVN8J1cJBNRCfbBq5q0jyTKGa9PcW1HWv9vXT6Yuq41JsxFLvF59ew==} + engines: {node: '>= 20.19.0'} + + '@scure/sr25519@1.0.0': + resolution: {integrity: sha512-b+uhK5akMINXZP95F3gJGcb5CMKYxf+q55fwMl0GoBwZDbWolmGNi1FrBSwuaZX5AhqS2byHiAueZgtDNpot2A==} + engines: {node: '>= 20.19.0'} + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -611,6 +838,15 @@ packages: '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + '@types/node@25.3.0': + resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@vitest/expect@4.0.18': resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} @@ -640,28 +876,17 @@ packages: '@vitest/utils@4.0.18': resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} - abitype@1.2.3: - resolution: {integrity: sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} @@ -670,6 +895,16 @@ packages: bn.js@5.2.2: resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -678,6 +913,10 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -686,48 +925,61 @@ packages: resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} engines: {node: '>=18.20'} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} + engines: {node: '>=20'} - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - dedot@1.0.4: - resolution: {integrity: sha512-NPTNcao0FVmcEc+c0iFyUxdIrd2bsSfFekJUR/aNvSJldrKIka9Bf+o4NpRcCZGsxRrgXvC7OLAhq9rF9fCwCA==} - engines: {node: '>=18'} - hasBin: true + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true - deshape@0.1.0: - resolution: {integrity: sha512-6Z941WJcKPE2nMz2lqq5H3OlOAgxECQqOj/OtHluaqgM8ajKESt/vcexMkUw7JGzeuLVKXkGe7+vsCC71NC9SQ==} + deepmerge-ts@7.1.5: + resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} + engines: {node: '>=16.0.0'} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + detect-indent@7.0.2: + resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} + engines: {node: '>=12.20'} es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} + engines: {node: '>=18'} + hasBin: true + esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} + engines: {node: ^18.19.0 || >=20.5.0} expect-type@1.3.0: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} @@ -742,66 +994,140 @@ packages: picomatch: optional: true + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + fix-dts-default-cjs-exports@1.0.1: + resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + + fs.promises.exists@1.1.4: + resolution: {integrity: sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + hosted-git-info@9.0.2: + resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} + engines: {node: ^20.17.0 || >=22.9.0} + + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + index-to-position@1.2.0: + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} + engines: {node: '>=18'} is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - isows@1.0.7: - resolution: {integrity: sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==} - peerDependencies: - ws: '*' + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} log-symbols@7.0.1: resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} engines: {node: '>=18'} - magic-string@0.30.21: + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.2.6: + resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} + engines: {node: 20 || >=22} + + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mlkem@2.5.0: resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} engines: {node: '>=16.0.0'} + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-package-data@8.0.0: + resolution: {integrity: sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==} + engines: {node: ^20.17.0 || >=22.9.0} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} @@ -814,13 +1140,21 @@ packages: resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} engines: {node: '>=20'} - ox@0.12.1: - resolution: {integrity: sha512-uU0llpthaaw4UJoXlseCyBHmQ3bLrQmz9rRLIAUHqv46uHuae9SE+ukYBRIPVCnlEnHKuWjDUcDFHWx9gbGNoA==} - peerDependencies: - typescript: '>=5.4.0' - peerDependenciesMeta: - typescript: - optional: true + parse-json@8.3.0: + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} + engines: {node: '>=18'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -832,6 +1166,37 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + polkadot-api@1.23.3: + resolution: {integrity: sha512-wOWli6Cfk3bO1u/W8qmwriCIKxATkNea8Jyg1jj7GzAqafxy295BYPzYHy2mJZCQ0PAVFPR4/JvCXocTLBsp5A==} + hasBin: true + peerDependencies: + rxjs: '>=7.8.0' + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -841,9 +1206,29 @@ packages: engines: {node: '>=14'} hasBin: true - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + read-pkg@10.1.0: + resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} + engines: {node: '>=20'} + + read-pkg@9.0.1: + resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} + engines: {node: '>=18'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} @@ -854,6 +1239,25 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + scale-ts@1.6.1: + resolution: {integrity: sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==} + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -864,13 +1268,30 @@ packages: smoldot@2.0.40: resolution: {integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==} + sort-keys@5.1.0: + resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==} + engines: {node: '>=12'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + deprecated: The work that was done in this beta branch won't be included in future versions + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -882,25 +1303,40 @@ packages: resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} engines: {node: '>=18'} - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - string-width@8.1.1: resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} engines: {node: '>=20'} - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - strip-ansi@7.1.2: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + sucrase@3.35.1: + resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyexec@1.0.2: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} @@ -913,25 +1349,81 @@ packages: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsc-prog@2.3.0: + resolution: {integrity: sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA==} + engines: {node: '>=12'} + peerDependencies: + typescript: '>=4' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - viem@2.46.1: - resolution: {integrity: sha512-c5YPQR/VueqoPG09Tp1JBw2iItKVRGVI0YkWekquRDZw0ciNBhO3muu2QjO9xFelOXh18q3d/kLbW83B2Oxf0g==} + tsup@8.5.0: + resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} + engines: {node: '>=18'} + hasBin: true peerDependencies: - typescript: '>=5.0.4' + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true typescript: optional: true + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + + type-fest@5.4.4: + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} + engines: {node: '>=20'} + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + vite@7.3.1: resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1006,29 +1498,33 @@ packages: jsdom: optional: true + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + write-json-file@6.0.0: + resolution: {integrity: sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA==} + engines: {node: '>=18'} - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + write-package@7.2.0: + resolution: {integrity: sha512-uMQTubF/vcu+Wd0b5BGtDmiXePd/+44hUWQz2nZPbs92/BnxRo74tqs+hqDo12RLiEd+CXFKUwxvvIZvtt34Jw==} + engines: {node: '>=18'} ws@8.19.0: resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} @@ -1042,236 +1538,403 @@ packages: utf-8-validate: optional: true - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - yoctocolors@2.1.2: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} snapshots: - '@adraffy/ens-normalize@1.11.1': {} - - '@dedot/api@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/storage': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/chaintypes@0.234.0(dedot@1.0.4)': - dependencies: - dedot: 1.0.4 - - '@dedot/cli@1.0.4': - dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/codegen': 1.0.4 - '@dedot/wasm': 0.1.0 - '@polkadot/types-support': 16.5.4 - ora: 9.3.0 - yargs: 17.7.2 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/codecs@1.0.4': - dependencies: - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 - - '@dedot/codegen@1.0.4': - dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/contracts': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - handlebars: 4.7.8 - prettier: 3.8.1 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/contracts@1.0.4': + '@babel/code-frame@7.29.0': dependencies: - '@dedot/api': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - viem: 2.46.1 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@dedot/merkleized-metadata@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 - - '@dedot/providers@1.0.4': - dependencies: - '@dedot/utils': 1.0.4 - '@polkadot/x-ws': 14.0.1 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/runtime-specs@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/types': 1.0.4 - - '@dedot/shape@1.0.4': - dependencies: - '@dedot/utils': 1.0.4 - deshape: 0.1.0 - - '@dedot/smoldot@1.0.4': - dependencies: - smoldot: 2.0.40 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - '@dedot/storage@1.0.4': {} + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@dedot/types@1.0.4': - dependencies: - '@dedot/codecs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/utils': 1.0.4 + '@babel/helper-validator-identifier@7.28.5': {} - '@dedot/utils@1.0.4': + '@commander-js/extra-typings@14.0.0(commander@14.0.3)': dependencies: - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - eventemitter3: 5.0.4 + commander: 14.0.3 - '@dedot/wasm@0.1.0': {} + '@esbuild/aix-ppc64@0.25.12': + optional: true '@esbuild/aix-ppc64@0.27.3': optional: true + '@esbuild/android-arm64@0.25.12': + optional: true + '@esbuild/android-arm64@0.27.3': optional: true + '@esbuild/android-arm@0.25.12': + optional: true + '@esbuild/android-arm@0.27.3': optional: true + '@esbuild/android-x64@0.25.12': + optional: true + '@esbuild/android-x64@0.27.3': optional: true + '@esbuild/darwin-arm64@0.25.12': + optional: true + '@esbuild/darwin-arm64@0.27.3': optional: true + '@esbuild/darwin-x64@0.25.12': + optional: true + '@esbuild/darwin-x64@0.27.3': optional: true + '@esbuild/freebsd-arm64@0.25.12': + optional: true + '@esbuild/freebsd-arm64@0.27.3': optional: true + '@esbuild/freebsd-x64@0.25.12': + optional: true + '@esbuild/freebsd-x64@0.27.3': optional: true + '@esbuild/linux-arm64@0.25.12': + optional: true + '@esbuild/linux-arm64@0.27.3': optional: true + '@esbuild/linux-arm@0.25.12': + optional: true + '@esbuild/linux-arm@0.27.3': optional: true + '@esbuild/linux-ia32@0.25.12': + optional: true + '@esbuild/linux-ia32@0.27.3': optional: true + '@esbuild/linux-loong64@0.25.12': + optional: true + '@esbuild/linux-loong64@0.27.3': optional: true + '@esbuild/linux-mips64el@0.25.12': + optional: true + '@esbuild/linux-mips64el@0.27.3': optional: true + '@esbuild/linux-ppc64@0.25.12': + optional: true + '@esbuild/linux-ppc64@0.27.3': optional: true + '@esbuild/linux-riscv64@0.25.12': + optional: true + '@esbuild/linux-riscv64@0.27.3': optional: true + '@esbuild/linux-s390x@0.25.12': + optional: true + '@esbuild/linux-s390x@0.27.3': optional: true + '@esbuild/linux-x64@0.25.12': + optional: true + '@esbuild/linux-x64@0.27.3': optional: true + '@esbuild/netbsd-arm64@0.25.12': + optional: true + '@esbuild/netbsd-arm64@0.27.3': optional: true + '@esbuild/netbsd-x64@0.25.12': + optional: true + '@esbuild/netbsd-x64@0.27.3': optional: true + '@esbuild/openbsd-arm64@0.25.12': + optional: true + '@esbuild/openbsd-arm64@0.27.3': optional: true + '@esbuild/openbsd-x64@0.25.12': + optional: true + '@esbuild/openbsd-x64@0.27.3': optional: true + '@esbuild/openharmony-arm64@0.25.12': + optional: true + '@esbuild/openharmony-arm64@0.27.3': optional: true + '@esbuild/sunos-x64@0.25.12': + optional: true + '@esbuild/sunos-x64@0.27.3': optional: true + '@esbuild/win32-arm64@0.25.12': + optional: true + '@esbuild/win32-arm64@0.27.3': optional: true + '@esbuild/win32-ia32@0.25.12': + optional: true + '@esbuild/win32-ia32@0.27.3': optional: true + '@esbuild/win32-x64@0.25.12': + optional: true + '@esbuild/win32-x64@0.27.3': optional: true + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.5': {} - '@noble/ciphers@1.3.0': {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 '@noble/ciphers@2.1.1': {} - '@noble/curves@1.9.1': + '@noble/curves@1.9.7': dependencies: '@noble/hashes': 1.8.0 - '@noble/curves@1.9.7': + '@noble/curves@2.0.1': dependencies: - '@noble/hashes': 1.8.0 + '@noble/hashes': 2.0.1 '@noble/hashes@1.8.0': {} + '@noble/hashes@2.0.1': {} + + '@polkadot-api/cli@0.18.1(postcss@8.5.6)': + dependencies: + '@commander-js/extra-typings': 14.0.0(commander@14.0.3) + '@polkadot-api/codegen': 0.21.2 + '@polkadot-api/ink-contracts': 0.4.6 + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/known-chains': 0.9.18 + '@polkadot-api/legacy-provider': 0.3.8(rxjs@7.8.2) + '@polkadot-api/metadata-compatibility': 0.4.4 + '@polkadot-api/observable-client': 0.17.3(rxjs@7.8.2) + '@polkadot-api/polkadot-sdk-compat': 2.4.1 + '@polkadot-api/sm-provider': 0.1.16(@polkadot-api/smoldot@0.3.15) + '@polkadot-api/smoldot': 0.3.15 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/substrate-client': 0.5.0 + '@polkadot-api/utils': 0.2.0 + '@polkadot-api/wasm-executor': 0.2.3 + '@polkadot-api/ws-provider': 0.7.5 + '@types/node': 25.3.0 + commander: 14.0.3 + execa: 9.6.1 + fs.promises.exists: 1.1.4 + ora: 9.3.0 + read-pkg: 10.1.0 + rxjs: 7.8.2 + tsc-prog: 2.3.0(typescript@5.9.3) + tsup: 8.5.0(postcss@8.5.6)(typescript@5.9.3) + typescript: 5.9.3 + write-package: 7.2.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - jiti + - postcss + - supports-color + - tsx + - utf-8-validate + - yaml + + '@polkadot-api/codegen@0.21.2': + dependencies: + '@polkadot-api/ink-contracts': 0.4.6 + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/metadata-compatibility': 0.4.4 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2))': + dependencies: + polkadot-api: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + + '@polkadot-api/ink-contracts@0.4.6': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/json-rpc-provider-proxy@0.2.8': {} + + '@polkadot-api/json-rpc-provider@0.0.4': {} + + '@polkadot-api/known-chains@0.9.18': {} + + '@polkadot-api/legacy-provider@0.3.8(rxjs@7.8.2)': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/raw-client': 0.1.1 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + rxjs: 7.8.2 + + '@polkadot-api/logs-provider@0.0.6': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + + '@polkadot-api/merkleize-metadata@1.1.29': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/metadata-builders@0.13.9': + dependencies: + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/metadata-compatibility@0.4.4': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/substrate-bindings': 0.17.0 + + '@polkadot-api/observable-client@0.17.3(rxjs@7.8.2)': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/substrate-client': 0.5.0 + '@polkadot-api/utils': 0.2.0 + rxjs: 7.8.2 + + '@polkadot-api/pjs-signer@0.6.19': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/polkadot-signer': 0.1.6 + '@polkadot-api/signers-common': 0.1.20 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/polkadot-sdk-compat@2.4.1': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + + '@polkadot-api/polkadot-signer@0.1.6': {} + + '@polkadot-api/raw-client@0.1.1': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + + '@polkadot-api/signer@0.2.13': + dependencies: + '@noble/hashes': 2.0.1 + '@polkadot-api/merkleize-metadata': 1.1.29 + '@polkadot-api/polkadot-signer': 0.1.6 + '@polkadot-api/signers-common': 0.1.20 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/signers-common@0.1.20': + dependencies: + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/polkadot-signer': 0.1.6 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/sm-provider@0.1.16(@polkadot-api/smoldot@0.3.15)': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/json-rpc-provider-proxy': 0.2.8 + '@polkadot-api/smoldot': 0.3.15 + + '@polkadot-api/smoldot@0.3.15': + dependencies: + '@types/node': 24.10.13 + smoldot: 2.0.40 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@polkadot-api/substrate-bindings@0.17.0': + dependencies: + '@noble/hashes': 2.0.1 + '@polkadot-api/utils': 0.2.0 + '@scure/base': 2.0.0 + scale-ts: 1.6.1 + + '@polkadot-api/substrate-client@0.5.0': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/raw-client': 0.1.1 + '@polkadot-api/utils': 0.2.0 + + '@polkadot-api/utils@0.2.0': {} + + '@polkadot-api/wasm-executor@0.2.3': {} + + '@polkadot-api/ws-provider@0.7.5': + dependencies: + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/json-rpc-provider-proxy': 0.2.8 + '@types/ws': 8.18.1 + ws: 8.19.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@polkadot-labs/hdkd-helpers@0.0.25': + dependencies: + '@noble/curves': 2.0.1 + '@noble/hashes': 2.0.1 + '@scure/base': 2.0.0 + '@scure/sr25519': 0.3.0 + scale-ts: 1.6.1 + + '@polkadot-labs/hdkd-helpers@0.0.27': + dependencies: + '@noble/curves': 2.0.1 + '@noble/hashes': 2.0.1 + '@scure/base': 2.0.0 + '@scure/sr25519': 1.0.0 + scale-ts: 1.6.1 + + '@polkadot-labs/hdkd@0.0.25': + dependencies: + '@polkadot-labs/hdkd-helpers': 0.0.27 + '@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)': dependencies: '@polkadot/util': 14.0.1 @@ -1284,11 +1947,6 @@ snapshots: '@substrate/ss58-registry': 1.51.0 tslib: 2.8.1 - '@polkadot/types-support@16.5.4': - dependencies: - '@polkadot/util': 14.0.1 - tslib: 2.8.1 - '@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)': dependencies: '@noble/curves': 1.9.7 @@ -1383,15 +2041,6 @@ snapshots: '@polkadot/x-global': 14.0.1 tslib: 2.8.1 - '@polkadot/x-ws@14.0.1': - dependencies: - '@polkadot/x-global': 14.0.1 - tslib: 2.8.1 - ws: 8.19.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - '@rollup/rollup-android-arm-eabi@4.57.1': optional: true @@ -1467,23 +2116,32 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true + '@rx-state/core@0.1.4(rxjs@7.8.2)': + dependencies: + rxjs: 7.8.2 + '@scure/base@1.2.6': {} - '@scure/bip32@1.7.0': + '@scure/base@2.0.0': {} + + '@scure/sr25519@0.2.0': dependencies: '@noble/curves': 1.9.7 '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 - '@scure/bip39@1.6.0': + '@scure/sr25519@0.3.0': dependencies: - '@noble/hashes': 1.8.0 - '@scure/base': 1.2.6 + '@noble/curves': 2.0.1 + '@noble/hashes': 2.0.1 - '@scure/sr25519@0.2.0': + '@scure/sr25519@1.0.0': dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 + '@noble/curves': 2.0.1 + '@noble/hashes': 2.0.1 + + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/merge-streams@4.0.0': {} '@standard-schema/spec@1.1.0': {} @@ -1506,6 +2164,16 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/node@25.3.0': + dependencies: + undici-types: 7.18.2 + + '@types/normalize-package-data@2.4.4': {} + + '@types/ws@8.18.1': + dependencies: + '@types/node': 24.10.13 + '@vitest/expect@4.0.18': dependencies: '@standard-schema/spec': 1.1.0 @@ -1545,68 +2213,90 @@ snapshots: '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 - abitype@1.2.3: {} - - ansi-regex@5.0.1: {} + acorn@8.16.0: {} ansi-regex@6.2.2: {} - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 + any-promise@1.3.0: {} assertion-error@2.0.1: {} bn.js@5.2.2: {} + bundle-require@5.1.0(esbuild@0.25.12): + dependencies: + esbuild: 0.25.12 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + chai@6.2.2: {} chalk@5.6.2: {} + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 cli-spinners@3.4.0: {} - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + commander@14.0.3: {} - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 + commander@4.1.1: {} - color-name@1.1.4: {} + confbox@0.1.8: {} - dedot@1.0.4: + consola@3.4.2: {} + + cross-spawn@7.0.6: dependencies: - '@dedot/api': 1.0.4 - '@dedot/cli': 1.0.4 - '@dedot/codecs': 1.0.4 - '@dedot/contracts': 1.0.4 - '@dedot/merkleized-metadata': 1.0.4 - '@dedot/providers': 1.0.4 - '@dedot/runtime-specs': 1.0.4 - '@dedot/shape': 1.0.4 - '@dedot/smoldot': 1.0.4 - '@dedot/types': 1.0.4 - '@dedot/utils': 1.0.4 - smoldot: 2.0.40 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.3: + dependencies: + ms: 2.1.3 - deshape@0.1.0: {} + deepmerge-ts@7.1.5: {} - emoji-regex@8.0.0: {} + detect-indent@7.0.2: {} es-module-lexer@1.7.0: {} + esbuild@0.25.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.12 + '@esbuild/android-arm': 0.25.12 + '@esbuild/android-arm64': 0.25.12 + '@esbuild/android-x64': 0.25.12 + '@esbuild/darwin-arm64': 0.25.12 + '@esbuild/darwin-x64': 0.25.12 + '@esbuild/freebsd-arm64': 0.25.12 + '@esbuild/freebsd-x64': 0.25.12 + '@esbuild/linux-arm': 0.25.12 + '@esbuild/linux-arm64': 0.25.12 + '@esbuild/linux-ia32': 0.25.12 + '@esbuild/linux-loong64': 0.25.12 + '@esbuild/linux-mips64el': 0.25.12 + '@esbuild/linux-ppc64': 0.25.12 + '@esbuild/linux-riscv64': 0.25.12 + '@esbuild/linux-s390x': 0.25.12 + '@esbuild/linux-x64': 0.25.12 + '@esbuild/netbsd-arm64': 0.25.12 + '@esbuild/netbsd-x64': 0.25.12 + '@esbuild/openbsd-arm64': 0.25.12 + '@esbuild/openbsd-x64': 0.25.12 + '@esbuild/openharmony-arm64': 0.25.12 + '@esbuild/sunos-x64': 0.25.12 + '@esbuild/win32-arm64': 0.25.12 + '@esbuild/win32-ia32': 0.25.12 + '@esbuild/win32-x64': 0.25.12 + esbuild@0.27.3: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -1636,15 +2326,24 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 - escalade@3.2.0: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 - eventemitter3@5.0.1: {} - - eventemitter3@5.0.4: {} + execa@9.6.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 expect-type@1.3.0: {} @@ -1652,50 +2351,116 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.21 + mlly: 1.8.0 + rollup: 4.57.1 + + fs.promises.exists@1.1.4: {} + fsevents@2.3.3: optional: true - get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} - handlebars@4.7.8: + get-stream@9.0.1: dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.4.3 + + hosted-git-info@9.0.2: + dependencies: + lru-cache: 11.2.6 + + human-signals@8.0.1: {} + + imurmurhash@0.1.4: {} - is-fullwidth-code-point@3.0.0: {} + index-to-position@1.2.0: {} is-interactive@2.0.0: {} + is-plain-obj@4.1.0: {} + + is-stream@4.0.1: {} + is-unicode-supported@2.1.0: {} - isows@1.0.7(ws@8.18.3): - dependencies: - ws: 8.18.3 + isexe@2.0.0: {} + + joycon@3.1.1: {} + + js-tokens@4.0.0: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + load-tsconfig@0.2.5: {} + + lodash.sortby@4.7.0: {} log-symbols@7.0.1: dependencies: is-unicode-supported: 2.1.0 yoctocolors: 2.1.2 + lru-cache@10.4.3: {} + + lru-cache@11.2.6: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 mimic-function@5.0.1: {} - minimist@1.2.8: {} - mlkem@2.5.0: {} + mlly@1.8.0: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.11: {} - neo-async@2.6.2: {} + normalize-package-data@6.0.2: + dependencies: + hosted-git-info: 7.0.2 + semver: 7.7.4 + validate-npm-package-license: 3.0.4 + + normalize-package-data@8.0.0: + dependencies: + hosted-git-info: 9.0.2 + semver: 7.7.4 + validate-npm-package-license: 3.0.4 + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + object-assign@4.1.1: {} obug@2.1.1: {} @@ -1714,18 +2479,17 @@ snapshots: stdin-discarder: 0.3.1 string-width: 8.1.1 - ox@0.12.1: + parse-json@8.3.0: dependencies: - '@adraffy/ens-normalize': 1.11.1 - '@noble/ciphers': 1.3.0 - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3 - eventemitter3: 5.0.1 - transitivePeerDependencies: - - zod + '@babel/code-frame': 7.29.0 + index-to-position: 1.2.0 + type-fest: 4.41.0 + + parse-ms@4.0.0: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} pathe@2.0.3: {} @@ -1733,6 +2497,53 @@ snapshots: picomatch@4.0.3: {} + pirates@4.0.7: {} + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2): + dependencies: + '@polkadot-api/cli': 0.18.1(postcss@8.5.6) + '@polkadot-api/ink-contracts': 0.4.6 + '@polkadot-api/json-rpc-provider': 0.0.4 + '@polkadot-api/known-chains': 0.9.18 + '@polkadot-api/logs-provider': 0.0.6 + '@polkadot-api/metadata-builders': 0.13.9 + '@polkadot-api/metadata-compatibility': 0.4.4 + '@polkadot-api/observable-client': 0.17.3(rxjs@7.8.2) + '@polkadot-api/pjs-signer': 0.6.19 + '@polkadot-api/polkadot-sdk-compat': 2.4.1 + '@polkadot-api/polkadot-signer': 0.1.6 + '@polkadot-api/signer': 0.2.13 + '@polkadot-api/sm-provider': 0.1.16(@polkadot-api/smoldot@0.3.15) + '@polkadot-api/smoldot': 0.3.15 + '@polkadot-api/substrate-bindings': 0.17.0 + '@polkadot-api/substrate-client': 0.5.0 + '@polkadot-api/utils': 0.2.0 + '@polkadot-api/ws-provider': 0.7.5 + '@rx-state/core': 0.1.4(rxjs@7.8.2) + rxjs: 7.8.2 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - jiti + - postcss + - supports-color + - tsx + - utf-8-validate + - yaml + + postcss-load-config@6.0.1(postcss@8.5.6): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + postcss: 8.5.6 + postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -1741,7 +2552,31 @@ snapshots: prettier@3.8.1: {} - require-directory@2.1.1: {} + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + + punycode@2.3.1: {} + + read-pkg@10.1.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 8.0.0 + parse-json: 8.3.0 + type-fest: 5.4.4 + unicorn-magic: 0.4.0 + + read-pkg@9.0.1: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 6.0.2 + parse-json: 8.3.0 + type-fest: 4.41.0 + unicorn-magic: 0.1.0 + + readdirp@4.1.2: {} + + resolve-from@5.0.0: {} restore-cursor@5.1.0: dependencies: @@ -1779,6 +2614,20 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + scale-ts@1.6.1: {} + + semver@7.7.4: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + siginfo@2.0.0: {} signal-exit@4.1.0: {} @@ -1790,9 +2639,29 @@ snapshots: - bufferutil - utf-8-validate + sort-keys@5.1.0: + dependencies: + is-plain-obj: 4.1.0 + source-map-js@1.2.1: {} - source-map@0.6.1: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.23 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 + + spdx-license-ids@3.0.23: {} stackback@0.0.2: {} @@ -1800,27 +2669,41 @@ snapshots: stdin-discarder@0.3.1: {} - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - string-width@8.1.1: dependencies: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - strip-ansi@7.1.2: dependencies: ansi-regex: 6.2.2 + strip-final-newline@4.0.0: {} + + sucrase@3.35.1: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + tinyglobby: 0.2.15 + ts-interface-checker: 0.1.13 + + tagged-tag@1.0.0: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + tinybench@2.9.0: {} + tinyexec@0.3.2: {} + tinyexec@1.0.2: {} tinyglobby@0.2.15: @@ -1830,27 +2713,72 @@ snapshots: tinyrainbow@3.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + + ts-interface-checker@0.1.13: {} + + tsc-prog@2.3.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + tslib@2.8.1: {} - uglify-js@3.19.3: - optional: true + tsup@8.5.0(postcss@8.5.6)(typescript@5.9.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.12) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.25.12 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.5.6) + resolve-from: 5.0.0 + rollup: 4.57.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.1 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.6 + typescript: 5.9.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + type-fest@4.41.0: {} + + type-fest@5.4.4: + dependencies: + tagged-tag: 1.0.0 + + typescript@5.9.3: {} + + ufo@1.6.3: {} undici-types@7.16.0: {} - viem@2.46.1: + undici-types@7.18.2: {} + + unicorn-magic@0.1.0: {} + + unicorn-magic@0.3.0: {} + + unicorn-magic@0.4.0: {} + + validate-npm-package-license@3.0.4: dependencies: - '@noble/curves': 1.9.1 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.2.3 - isows: 1.0.7(ws@8.18.3) - ox: 0.12.1 - ws: 8.18.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - zod + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 vite@7.3.1(@types/node@24.10.13): dependencies: @@ -1901,35 +2829,43 @@ snapshots: - tsx - yaml + webidl-conversions@4.0.2: {} + + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - wordwrap@1.0.0: {} + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 - wrap-ansi@7.0.0: + write-json-file@6.0.0: dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + detect-indent: 7.0.2 + is-plain-obj: 4.1.0 + sort-keys: 5.1.0 + write-file-atomic: 5.0.1 - ws@8.18.3: {} + write-package@7.2.0: + dependencies: + deepmerge-ts: 7.1.5 + read-pkg: 9.0.1 + sort-keys: 5.1.0 + type-fest: 4.41.0 + write-json-file: 6.0.0 ws@8.19.0: {} - y18n@5.0.8: {} - - yargs-parser@21.1.1: {} - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - yoctocolors@2.1.2: {} diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml index 21cf1c3993..d1504a1228 100644 --- a/e2e/pnpm-workspace.yaml +++ b/e2e/pnpm-workspace.yaml @@ -3,14 +3,14 @@ packages: - shield catalog: - "@dedot/chaintypes": "^0.234.0" - "@dedot/cli": "^1.0.4" "@noble/ciphers": "^2.1.1" "@polkadot/keyring": "^14.0.1" "@polkadot/util": "^14.0.1" "@polkadot/util-crypto": "^14.0.1" + "@polkadot-labs/hdkd": "^0.0.25" + "@polkadot-labs/hdkd-helpers": "^0.0.25" "@types/node": "^24" - "dedot": "^1.0.4" "mlkem": "^2.5.0" + "polkadot-api": "^1.22.0" "prettier": "^3.0.0" "vitest": "^4.0.0" diff --git a/e2e/shared/client.ts b/e2e/shared/client.ts index b553f7f3b7..1dd76dd48e 100644 --- a/e2e/shared/client.ts +++ b/e2e/shared/client.ts @@ -1,34 +1,58 @@ -import { DedotClient, WsProvider } from "dedot"; -import { Keyring } from "@polkadot/keyring"; -import type { KeyringPair } from "@polkadot/keyring/types"; -import type { NodeSubtensorApi } from "../node-subtensor/index.js"; +import { createClient, type PolkadotClient, type TypedApi } from "polkadot-api"; +import { getWsProvider } from "polkadot-api/ws-provider"; +import { getPolkadotSigner, type PolkadotSigner } from "polkadot-api/signer"; +import { sr25519CreateDerive } from "@polkadot-labs/hdkd"; +import { + DEV_PHRASE, + entropyToMiniSecret, + mnemonicToEntropy, + ss58Address, +} from "@polkadot-labs/hdkd-helpers"; +import { subtensor } from "@polkadot-api/descriptors"; const SECOND = 1000; -export const connectClient = async (rpcPort: number): Promise> => { - const provider = new WsProvider(`ws://localhost:${rpcPort}`); - return DedotClient.new(provider); +export type ClientConnection = { + client: PolkadotClient; + api: TypedApi; }; -export const createKeyring = () => { - return new Keyring({ type: "sr25519" }); +export const connectClient = async (rpcPort: number): Promise => { + const provider = getWsProvider(`ws://localhost:${rpcPort}`); + const client = createClient(provider); + const api = client.getTypedApi(subtensor); + return { client, api }; +}; + +export type Signer = { + signer: PolkadotSigner; + address: string; +}; + +export const createSigner = (uri: string): Signer => { + const entropy = mnemonicToEntropy(DEV_PHRASE); + const miniSecret = entropyToMiniSecret(entropy); + const derive = sr25519CreateDerive(miniSecret); + const keypair = derive(uri); + return { + signer: getPolkadotSigner(keypair.publicKey, "Sr25519", keypair.sign), + address: ss58Address(keypair.publicKey), + }; }; export const getAccountNonce = async ( - client: { query: { system: { account: (address: string) => Promise<{ nonce: number }> } } }, + api: TypedApi, address: string, ): Promise => { - const account = await client.query.system.account(address); + const account = await api.query.System.Account.getValue(address, { at: "best" }); return account.nonce; }; export const getBalance = async ( - client: { - query: { system: { account: (address: string) => Promise<{ data: { free: bigint } }> } }; - }, + api: TypedApi, address: string, ): Promise => { - const account = await client.query.system.account(address); + const account = await api.query.System.Account.getValue(address); return account.data.free; }; @@ -36,60 +60,23 @@ export const sleep = (ms: number) => new Promise((resolve) => setTimeout(r /** Polls the chain until `count` new finalized blocks have been produced. */ export async function waitForFinalizedBlocks( - client: { - rpc: { - chain_getFinalizedHead: () => Promise<`0x${string}`>; - chain_getHeader: (hash: `0x${string}`) => Promise<{ number: number } | undefined>; - }; - }, + client: PolkadotClient, count: number, pollInterval = 1 * SECOND, timeout = 120 * SECOND, ): Promise { - const startHash = await client.rpc.chain_getFinalizedHead(); - const startHeader = await client.rpc.chain_getHeader(startHash); - const start = startHeader!.number; + const startBlock = await client.getFinalizedBlock(); + const start = startBlock.number; const target = start + count; const deadline = Date.now() + timeout; while (Date.now() < deadline) { await sleep(pollInterval); - const hash = await client.rpc.chain_getFinalizedHead(); - const header = await client.rpc.chain_getHeader(hash); - if (header && header.number >= target) return; + const block = await client.getFinalizedBlock(); + if (block.number >= target) return; } throw new Error( `Timed out waiting for ${count} finalized blocks (from #${start}, target #${target})`, ); } - -type TxStatus = { type: string; value?: { error?: string } }; - -/** Signs, sends, and watches a transaction until one of the given terminal - * status types is observed. If signAndSend itself rejects (e.g. pool - * rejection), the error is wrapped as an Invalid status. */ -export const watchTxStatus = ( - tx: any, - signer: KeyringPair, - options: Record, - terminalTypes: string[], - timeout = 30_000, -): Promise => { - return new Promise((resolve, reject) => { - const timer = setTimeout( - () => reject(new Error(`watchTxStatus timed out waiting for ${terminalTypes.join("/")}`)), - timeout, - ); - - tx.signAndSend(signer, options, (result: { status: TxStatus }) => { - if (terminalTypes.includes(result.status.type)) { - clearTimeout(timer); - resolve(result.status); - } - }).catch((err: unknown) => { - clearTimeout(timer); - resolve({ type: "Invalid", value: { error: String(err) } }); - }); - }); -}; diff --git a/e2e/shared/package.json b/e2e/shared/package.json index c6df531244..85889063ec 100644 --- a/e2e/shared/package.json +++ b/e2e/shared/package.json @@ -10,7 +10,10 @@ }, "dependencies": { "@polkadot/keyring": "catalog:", - "dedot": "catalog:" + "@polkadot-api/descriptors": "file:../.papi/descriptors", + "@polkadot-labs/hdkd": "catalog:", + "@polkadot-labs/hdkd-helpers": "catalog:", + "polkadot-api": "catalog:" }, "devDependencies": { "@types/node": "catalog:", diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts index 4979d14baf..ac8fdb9e8f 100644 --- a/e2e/shield/helpers.ts +++ b/e2e/shield/helpers.ts @@ -1,26 +1,32 @@ -import { DedotClient } from "dedot"; +import type { TypedApi, PolkadotSigner } from "polkadot-api"; +import { Binary } from "polkadot-api"; import { hexToU8a } from "@polkadot/util"; import { xchacha20poly1305 } from "@noble/ciphers/chacha.js"; import { randomBytes } from "@noble/ciphers/utils.js"; import { MlKem768 } from "mlkem"; import { xxhashAsU8a } from "@polkadot/util-crypto"; -import type { KeyringPair } from "@polkadot/keyring/types"; -import type { NodeSubtensorApi } from "../node-subtensor/index.js"; +import type { subtensor } from "@polkadot-api/descriptors"; export const getNextKey = async ( - client: DedotClient, + api: TypedApi, ): Promise => { - const key = await client.query.mevShield.nextKey(); + // Query at "best" (not default "finalized") because keys rotate every block + // and finalized lags ~2 blocks behind best with GRANDPA. Using finalized + // would return a stale key whose hash won't match CurrentKey/NextKey at + // block-building time, causing InvalidShieldedTxPubKeyHash rejection. + const key = await api.query.MevShield.NextKey.getValue({ at: "best" }); if (!key) return undefined; - return hexToU8a(key); + if (key instanceof Binary) return key.asBytes(); + return hexToU8a(key as string); }; export const getCurrentKey = async ( - client: DedotClient, + api: TypedApi, ): Promise => { - const key = await client.query.mevShield.currentKey(); + const key = await api.query.MevShield.CurrentKey.getValue({ at: "best" }); if (!key) return undefined; - return hexToU8a(key); + if (key instanceof Binary) return key.asBytes(); + return hexToU8a(key as string); }; export const encryptTransaction = async ( @@ -43,24 +49,24 @@ export const encryptTransaction = async ( }; export const submitEncrypted = async ( - client: DedotClient, - signer: KeyringPair, + api: TypedApi, + signer: PolkadotSigner, innerTxBytes: Uint8Array, publicKey: Uint8Array, nonce?: number, ) => { const ciphertext = await encryptTransaction(innerTxBytes, publicKey); - return submitEncryptedRaw(client, signer, ciphertext, nonce); + return submitEncryptedRaw(api, signer, ciphertext, nonce); }; export const submitEncryptedRaw = async ( - client: DedotClient, - signer: KeyringPair, + api: TypedApi, + signer: PolkadotSigner, ciphertext: Uint8Array, nonce?: number, ) => { - const tx = client.tx.mevShield.submitEncrypted(ciphertext); - const signed = await tx.sign(signer, nonce !== undefined ? { nonce } : {}); - - return signed.send().untilFinalized(); + const tx = api.tx.MevShield.submit_encrypted({ + ciphertext: Binary.fromBytes(ciphertext), + }); + return tx.signAndSubmit(signer, nonce !== undefined ? { nonce } : {}); }; diff --git a/e2e/shield/package.json b/e2e/shield/package.json index da11f8fbca..d04f2acf6a 100644 --- a/e2e/shield/package.json +++ b/e2e/shield/package.json @@ -8,15 +8,13 @@ "dependencies": { "e2e-shared": "workspace:*", "@noble/ciphers": "catalog:", - "@polkadot/keyring": "catalog:", "@polkadot/util": "catalog:", "@polkadot/util-crypto": "catalog:", - "dedot": "catalog:", - "mlkem": "catalog:" + "@polkadot-api/descriptors": "file:../.papi/descriptors", + "mlkem": "catalog:", + "polkadot-api": "catalog:" }, "devDependencies": { - "@dedot/cli": "catalog:", - "@dedot/chaintypes": "catalog:", "@types/node": "catalog:", "vitest": "catalog:" } diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 26974c3faf..2cdfa0c702 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -33,7 +33,7 @@ export type NetworkState = { const nodes: Node[] = []; -const BINARY_PATH = process.env.BINARY_PATH || "../../target/debug/node-subtensor"; +const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; // The local chain spec has 2 built-in authorities (One, Two). // We add "Three" dynamically by patching the chain spec JSON. diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index cc1811aec7..b8ebfe769a 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -1,74 +1,70 @@ import { describe, it, expect, beforeAll, afterAll } from "vitest"; import { readFile } from "node:fs/promises"; -import { DedotClient } from "dedot"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { Binary } from "polkadot-api"; +import { hexToU8a } from "@polkadot/util"; +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; import { connectClient, - createKeyring, + createSigner, getAccountNonce, getBalance, waitForFinalizedBlocks, - watchTxStatus, } from "e2e-shared/client.js"; -import { - getNextKey, - getCurrentKey, - encryptTransaction, - submitEncrypted, -} from "../helpers.js"; +import { getNextKey, getCurrentKey, encryptTransaction, submitEncrypted } from "../helpers.js"; -let client: DedotClient; +let client: PolkadotClient; +let api: TypedApi; let state: NetworkState; -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); -const charlie = keyring.addFromUri("//Charlie"); +const alice = createSigner("//Alice"); +const bob = createSigner("//Bob"); +const charlie = createSigner("//Charlie"); beforeAll(async () => { const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); + ({ client, api } = await connectClient(state.nodes[0].rpcPort)); // Wait for enough finalized blocks so the inherent has had time to run // and keys have rotated at least once. await waitForFinalizedBlocks(client, 3); }); -afterAll(async () => { - await client?.disconnect(); +afterAll(() => { + client?.destroy(); }); describe("MEV Shield — key rotation", () => { it("NextKey and CurrentKey are populated and rotate across blocks", async () => { - const nextKey1 = await getNextKey(client); + const nextKey1 = await getNextKey(api); expect(nextKey1).toBeDefined(); expect(nextKey1!.length).toBe(1184); // ML-KEM-768 public key - const currentKey1 = await getCurrentKey(client); + const currentKey1 = await getCurrentKey(api); expect(currentKey1).toBeDefined(); expect(currentKey1!.length).toBe(1184); await waitForFinalizedBlocks(client, 2); - const nextKey2 = await getNextKey(client); + const nextKey2 = await getNextKey(api); expect(nextKey2).toBeDefined(); // Keys should have rotated — nextKey changes each block. expect(nextKey2).not.toEqual(nextKey1); - const currentKey2 = await getCurrentKey(client); + const currentKey2 = await getCurrentKey(api); expect(currentKey2).toBeDefined(); expect(currentKey2).not.toEqual(currentKey1); }); it("AuthorKeys stores per-author keys", async () => { - const authorities = await client.query.aura.authorities(); + const authorities = await api.query.Aura.Authorities.getValue(); expect(authorities.length).toBeGreaterThan(0); let foundKeys = 0; for (const authority of authorities) { - const key = await client.query.mevShield.authorKeys(authority); + const key = await api.query.MevShield.AuthorKeys.getValue(authority); if (key) foundKeys++; } @@ -78,165 +74,153 @@ describe("MEV Shield — key rotation", () => { describe("MEV Shield — encrypted transactions", () => { it("Happy path: wrapper and inner tx are included in the same block", async () => { - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); - - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 10_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); - - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + const balanceBefore = await getBalance(api, bob.address); - expect(result.status.type).toBe("Finalized"); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 10_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); - // Verify EncryptedSubmitted event was emitted. - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); - // The inner transfer should be in the same block as the wrapper. - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); it("Failed inner tx: wrapper succeeds but inner transfer has no effect", async () => { - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); // Encrypt a transfer of more than Alice has. // The wrapper is valid (correct key_hash, valid encryption), but the // inner transfer should fail at dispatch with InsufficientBalance. - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 9_000_000_000_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 9_000_000_000_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - // The wrapper itself should be finalized successfully. - expect(result.status.type).toBe("Finalized"); - - // The EncryptedSubmitted event should be present (wrapper was valid). - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); // The inner transfer failed, so bob's balance should not increase. - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBe(balanceBefore); }); it("Malformed ciphertext is rejected at pool level", async () => { - const nonce = await getAccountNonce(client, alice.address); + const nonce = await getAccountNonce(api, alice.address); // 5 bytes of garbage — not valid ciphertext at all. const garbage = new Uint8Array([0x01, 0x02, 0x03, 0x04, 0x05]); - const tx = client.tx.mevShield.submitEncrypted(garbage); + const tx = api.tx.MevShield.submit_encrypted({ + ciphertext: Binary.fromBytes(garbage), + }); // Pool validation rejects with FailedShieldedTxParsing (Custom code 23). - const status = await watchTxStatus(tx, alice, { nonce }, ["Invalid"]); - expect(status.type).toBe("Invalid"); + await expect(tx.signAndSubmit(alice.signer, { nonce })).rejects.toThrow(); }); it("Wrong key hash is not included by the block proposer", async () => { - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 1_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); - const ciphertext = await encryptTransaction(innerTx.toU8a(), nextKey!); + const ciphertext = await encryptTransaction(hexToU8a(innerTxHex), nextKey!); // Tamper the first 16 bytes (key_hash). const tampered = new Uint8Array(ciphertext); for (let i = 0; i < 16; i++) tampered[i] = 0xff; - const tx = client.tx.mevShield.submitEncrypted(tampered); - const signed = await tx.sign(alice, { nonce }); + const tx = api.tx.MevShield.submit_encrypted({ + ciphertext: Binary.fromBytes(tampered), + }); + const signedHex = await tx.sign(alice.signer, { nonce }); // Send without waiting — the tx enters the pool but the block // proposer will skip it because the key_hash doesn't match. - signed.send().catch(() => {}); + client.submit(signedHex).catch(() => {}); await waitForFinalizedBlocks(client, 3); // The inner transfer should NOT have executed. - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBe(balanceBefore); }); it("Stale key is not included after rotation", async () => { - const staleKey = await getNextKey(client); + const staleKey = await getNextKey(api); expect(staleKey).toBeDefined(); // Wait for enough blocks that the key has rotated past both // currentKey and nextKey positions. await waitForFinalizedBlocks(client, 3); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 1_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); - const ciphertext = await encryptTransaction(innerTx.toU8a(), staleKey!); + const ciphertext = await encryptTransaction(hexToU8a(innerTxHex), staleKey!); - const tx = client.tx.mevShield.submitEncrypted(ciphertext); - const signed = await tx.sign(alice, { nonce }); + const tx = api.tx.MevShield.submit_encrypted({ + ciphertext: Binary.fromBytes(ciphertext), + }); + const signedHex = await tx.sign(alice.signer, { nonce }); // Send without waiting — the block proposer will reject because // key_hash no longer matches currentKey or nextKey. - signed.send().catch(() => {}); + client.submit(signedHex).catch(() => {}); await waitForFinalizedBlocks(client, 3); // The inner transfer should NOT have executed. - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBe(balanceBefore); }); it("Multiple encrypted txs in same block", async () => { // Use different signers to avoid nonce ordering issues between // the outer wrappers and decrypted inner transactions. - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, charlie.address); + const balanceBefore = await getBalance(api, charlie.address); const senders = [alice, bob]; const amount = 1_000_000_000n; const txPromises = []; for (const sender of senders) { - const nonce = await getAccountNonce(client, sender.address); + const nonce = await getAccountNonce(api, sender.address); - const innerTx = await client.tx.balances - .transferKeepAlive(charlie.address, amount) - .sign(sender, { nonce: nonce + 1 }); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(charlie.address), + value: amount, + }).sign(sender.signer, { nonce: nonce + 1 }); - txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + txPromises.push( + submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), + ); } - // Both should finalize (possibly in different blocks, that's fine). - const results = await Promise.allSettled(txPromises); - - const succeeded = results.filter((r) => r.status === "fulfilled"); - expect(succeeded.length).toBe(senders.length); + await Promise.all(txPromises); - const balanceAfter = await getBalance(client, charlie.address); + const balanceAfter = await getBalance(api, charlie.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); }); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts index 9627b9f425..b7b9f690cf 100644 --- a/e2e/shield/tests/01-scaling.test.ts +++ b/e2e/shield/tests/01-scaling.test.ts @@ -1,11 +1,12 @@ import { describe, it, expect, beforeAll, afterAll } from "vitest"; import { readFile, writeFile, rm } from "node:fs/promises"; -import { DedotClient } from "dedot"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { hexToU8a } from "@polkadot/util"; +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; import { connectClient, - createKeyring, + createSigner, getAccountNonce, getBalance, waitForFinalizedBlocks, @@ -13,13 +14,13 @@ import { import { startNode, started, log } from "e2e-shared/node.js"; import { getNextKey, submitEncrypted } from "../helpers.js"; -let client: DedotClient; +let client: PolkadotClient; +let api: TypedApi; let state: NetworkState; -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); -const charlie = keyring.addFromUri("//Charlie"); +const alice = createSigner("//Alice"); +const bob = createSigner("//Bob"); +const charlie = createSigner("//Charlie"); // Extra nodes join as non-authority full nodes. const EXTRA_NODE_CONFIGS = [ @@ -31,7 +32,7 @@ const EXTRA_NODE_CONFIGS = [ beforeAll(async () => { const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); + ({ client, api } = await connectClient(state.nodes[0].rpcPort)); // Start 3 additional full nodes to scale from 3 → 6. for (const config of EXTRA_NODE_CONFIGS) { @@ -60,8 +61,8 @@ beforeAll(async () => { await writeFile("/tmp/e2e-shield-nodes.json", JSON.stringify(state, null, 2)); }); -afterAll(async () => { - await client?.disconnect(); +afterAll(() => { + client?.destroy(); }); describe("MEV Shield — 6 node scaling", () => { @@ -73,67 +74,60 @@ describe("MEV Shield — 6 node scaling", () => { }); it("Key rotation continues with more peers", async () => { - const key1 = await getNextKey(client); + const key1 = await getNextKey(api); expect(key1).toBeDefined(); await waitForFinalizedBlocks(client, 2); - const key2 = await getNextKey(client); + const key2 = await getNextKey(api); expect(key2).toBeDefined(); expect(key2!.length).toBe(1184); }); it("Encrypted tx works with 6 nodes", async () => { - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 5_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 5_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); - expect(result.status.type).toBe("Finalized"); - - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); - - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); it("Multiple encrypted txs in same block with 6 nodes", async () => { - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, charlie.address); + const balanceBefore = await getBalance(api, charlie.address); const senders = [alice, bob]; const amount = 1_000_000_000n; const txPromises = []; for (const sender of senders) { - const nonce = await getAccountNonce(client, sender.address); + const nonce = await getAccountNonce(api, sender.address); - const innerTx = await client.tx.balances - .transferKeepAlive(charlie.address, amount) - .sign(sender, { nonce: nonce + 1 }); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(charlie.address), + value: amount, + }).sign(sender.signer, { nonce: nonce + 1 }); - txPromises.push(submitEncrypted(client, sender, innerTx.toU8a(), nextKey!, nonce)); + txPromises.push( + submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), + ); } - const results = await Promise.allSettled(txPromises); - - const succeeded = results.filter((r) => r.status === "fulfilled"); - expect(succeeded.length).toBe(senders.length); + await Promise.all(txPromises); - const balanceAfter = await getBalance(client, charlie.address); + const balanceAfter = await getBalance(api, charlie.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); }); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts index ea6bff86fd..d82c5666d5 100644 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -1,30 +1,32 @@ import { describe, it, expect, beforeAll, afterAll } from "vitest"; import { readFile } from "node:fs/promises"; -import { DedotClient } from "dedot"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { hexToU8a } from "@polkadot/util"; +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; import type { NetworkState } from "../setup.js"; -import type { NodeSubtensorApi } from "../../node-subtensor/index.js"; import { connectClient, - createKeyring, + createSigner, getAccountNonce, getBalance, } from "e2e-shared/client.js"; import { getNextKey, submitEncrypted } from "../helpers.js"; -let client: DedotClient; + +let client: PolkadotClient; +let api: TypedApi; let state: NetworkState; -const keyring = createKeyring(); -const alice = keyring.addFromUri("//Alice"); -const bob = keyring.addFromUri("//Bob"); +const alice = createSigner("//Alice"); +const bob = createSigner("//Bob"); beforeAll(async () => { const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); state = JSON.parse(data); - client = await connectClient(state.nodes[0].rpcPort); + ({ client, api } = await connectClient(state.nodes[0].rpcPort)); }); -afterAll(async () => { - await client?.disconnect(); +afterAll(() => { + client?.destroy(); }); describe("MEV Shield — edge cases", () => { @@ -32,23 +34,22 @@ describe("MEV Shield — edge cases", () => { // The idea: submit an encrypted tx right at a block boundary. // Even if the key rotates (NextKey changes), the old key becomes // CurrentKey, so the extension still accepts it. - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); - const nonce = await getAccountNonce(client, alice.address); - const innerTx = await client.tx.balances - .transferKeepAlive(bob.address, 2_000_000_000n) - .sign(alice, { nonce: nonce + 1 }); + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 2_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); // Submit and wait for finalization — the tx may land in the next block // or the one after, where CurrentKey = the old NextKey. - const result = await submitEncrypted(client, alice, innerTx.toU8a(), nextKey!, nonce); - - expect(result.status.type).toBe("Finalized"); + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBeGreaterThan(balanceBefore); }); @@ -59,31 +60,21 @@ describe("MEV Shield — edge cases", () => { // - The key_hash matches a known key // But the inner decrypted bytes won't decode as a valid extrinsic, // so no inner transaction should execute. - const nextKey = await getNextKey(client); + const nextKey = await getNextKey(api); expect(nextKey).toBeDefined(); - const balanceBefore = await getBalance(client, bob.address); + const balanceBefore = await getBalance(api, bob.address); // Garbage "inner transaction" bytes — not a valid extrinsic at all. const garbageInner = new Uint8Array(64); for (let i = 0; i < 64; i++) garbageInner[i] = (i * 7 + 13) & 0xff; - const nonce = await getAccountNonce(client, alice.address); - - const result = await submitEncrypted(client, alice, garbageInner, nextKey!, nonce); - - // The wrapper should be finalized successfully. - expect(result.status.type).toBe("Finalized"); + const nonce = await getAccountNonce(api, alice.address); - // The EncryptedSubmitted event should be emitted for the wrapper. - const encryptedEvent = result.events.find( - (e: any) => - e.event?.pallet === "MevShield" && e.event?.palletEvent?.name === "EncryptedSubmitted", - ); - expect(encryptedEvent).toBeDefined(); + await submitEncrypted(api, alice.signer, garbageInner, nextKey!, nonce); // No balance change — the garbage inner call could not have been a valid transfer. - const balanceAfter = await getBalance(client, bob.address); + const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBe(balanceBefore); }); }); diff --git a/e2e/shield/vitest.config.ts b/e2e/shield/vitest.config.ts index f63f00f5c2..d9c2978930 100644 --- a/e2e/shield/vitest.config.ts +++ b/e2e/shield/vitest.config.ts @@ -8,7 +8,6 @@ export default defineConfig({ hookTimeout: 300_000, fileParallelism: false, globalSetup: "./setup.ts", - setupFiles: ["./setup.ts"], include: ["tests/**/*.test.ts"], sequence: { sequencer: AlphabeticalSequencer, From c45168058bc142ff7288313ae45ef30a3d86f3d1 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:35:43 -0300 Subject: [PATCH 110/204] change tmp dire to /tmp/subtensor-e2e --- e2e/shield/setup.ts | 24 ++++++++++-------------- e2e/shield/tests/00-basic.test.ts | 2 +- e2e/shield/tests/01-scaling.test.ts | 10 +++++----- e2e/shield/tests/02-edge-cases.test.ts | 2 +- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 2cdfa0c702..161346b1b2 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -1,4 +1,4 @@ -import { writeFile, readFile, rm } from "node:fs/promises"; +import { writeFile, readFile, rm, mkdir } from "node:fs/promises"; import { generateChainSpec, insertKeys, @@ -16,8 +16,8 @@ import { type NodeOptions, } from "e2e-shared/node.js"; -const CHAIN_SPEC_PATH = "/tmp/e2e-shield-chain-spec.json"; -const STATE_FILE = "/tmp/e2e-shield-nodes.json"; +const CHAIN_SPEC_PATH = "/tmp/subtensor-e2e/shield/chain-spec.json"; +const STATE_FILE = "/tmp/subtensor-e2e/shield/nodes.json"; export type NetworkState = { binaryPath: string; @@ -44,13 +44,13 @@ type NodeConfig = Omit & { }; const NODE_CONFIGS: NodeConfig[] = [ - { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/e2e-shield-one", validator: true }, - { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/e2e-shield-two", validator: true }, + { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/subtensor-e2e/shield/one", validator: true }, + { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/subtensor-e2e/shield/two", validator: true }, { name: "three", port: 30335, rpcPort: 9946, - basePath: "/tmp/e2e-shield-three", + basePath: "/tmp/subtensor-e2e/shield/three", validator: true, keySeed: "//Three", }, @@ -60,6 +60,8 @@ export async function setup() { log(`Setting up ${NODE_CONFIGS.length}-node network for shield E2E tests`); log(`Binary path: ${BINARY_PATH}`); + await mkdir("/tmp/subtensor-e2e/shield", { recursive: true }); + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { const patch = getGenesisPatch(spec); for (const seed of EXTRA_AUTHORITY_SEEDS) { @@ -145,16 +147,10 @@ export async function teardown() { } } - // Clean up all base paths. - for (const nodeInfo of state.nodes) { - await rm(nodeInfo.basePath, { recursive: true, force: true }); - } } - try { - await rm(STATE_FILE, { force: true }); - await rm(CHAIN_SPEC_PATH, { force: true }); - } catch {} + // Clean up the entire suite directory in one shot. + await rm("/tmp/subtensor-e2e/shield", { recursive: true, force: true }); log("Teardown complete"); } diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index b8ebfe769a..70c801fd7c 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -23,7 +23,7 @@ const bob = createSigner("//Bob"); const charlie = createSigner("//Charlie"); beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts index b7b9f690cf..bd4bfcaaca 100644 --- a/e2e/shield/tests/01-scaling.test.ts +++ b/e2e/shield/tests/01-scaling.test.ts @@ -24,13 +24,13 @@ const charlie = createSigner("//Charlie"); // Extra nodes join as non-authority full nodes. const EXTRA_NODE_CONFIGS = [ - { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/e2e-shield-four" }, - { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/e2e-shield-five" }, - { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/e2e-shield-six" }, + { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/subtensor-e2e/shield/four" }, + { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/subtensor-e2e/shield/five" }, + { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/subtensor-e2e/shield/six" }, ]; beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); @@ -58,7 +58,7 @@ beforeAll(async () => { } // Persist updated state for subsequent test files (edge-cases). - await writeFile("/tmp/e2e-shield-nodes.json", JSON.stringify(state, null, 2)); + await writeFile("/tmp/subtensor-e2e/shield/nodes.json", JSON.stringify(state, null, 2)); }); afterAll(() => { diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts index d82c5666d5..63baa27c56 100644 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -20,7 +20,7 @@ const alice = createSigner("//Alice"); const bob = createSigner("//Bob"); beforeAll(async () => { - const data = await readFile("/tmp/e2e-shield-nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); }); From 541c88d374b6b04a9398746a9549668113cf6f30 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:35:56 -0300 Subject: [PATCH 111/204] added script to setup environment --- e2e/setup_env.sh | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 e2e/setup_env.sh diff --git a/e2e/setup_env.sh b/e2e/setup_env.sh new file mode 100755 index 0000000000..96b531e22b --- /dev/null +++ b/e2e/setup_env.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# +# Verify and set up the development environment for e2e tests. +# Checks for nvm, the correct Node.js version (.nvmrc), pnpm, jq, and yq. +# Installs what it can, exits with an error for what it cannot. +# +set -e + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +NVMRC="$SCRIPT_DIR/.nvmrc" + +check() { + local name="$1" + if command -v "$name" &>/dev/null; then + echo " $name: $(command -v "$name")" + return 0 + fi + return 1 +} + +echo "==> Checking prerequisites..." + +# -- nvm -- +NVM_DIR="${NVM_DIR:-$HOME/.nvm}" +if [ -s "$NVM_DIR/nvm.sh" ]; then + echo " nvm: $NVM_DIR" + # shellcheck source=/dev/null + source "$NVM_DIR/nvm.sh" +else + echo "ERROR: nvm not found. Install it from https://github.com/nvm-sh/nvm" + exit 1 +fi + +# -- Node.js (version from .nvmrc) -- +REQUIRED_NODE="$(cat "$NVMRC")" +if ! nvm ls "$REQUIRED_NODE" &>/dev/null; then + echo " Node $REQUIRED_NODE not installed, installing..." + nvm install "$REQUIRED_NODE" +fi +nvm use "$REQUIRED_NODE" +echo " node: $(node --version)" + +# -- pnpm -- +if ! check pnpm; then + echo " pnpm not found, installing..." + npm install -g pnpm + check pnpm || { echo "ERROR: Failed to install pnpm"; exit 1; } +fi + +# -- jq -- +if ! check jq; then + echo "ERROR: jq not found. Install it:" + echo " macOS: brew install jq" + echo " Ubuntu: sudo apt install jq" + exit 1 +fi + +# -- yq -- +if ! check yq; then + echo "ERROR: yq not found. Install it:" + echo " macOS: brew install yq" + echo " Ubuntu: sudo snap install yq" + exit 1 +fi + +echo "==> All prerequisites satisfied." From d7375c44b50ec72ddbfd69d07454e67d8c0db84b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:36:14 -0300 Subject: [PATCH 112/204] make bootstrap_types independent on papi --- e2e/{bootstrap.sh => bootstrap_types.sh} | 14 +++++++++----- e2e/package.json | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) rename e2e/{bootstrap.sh => bootstrap_types.sh} (59%) diff --git a/e2e/bootstrap.sh b/e2e/bootstrap_types.sh similarity index 59% rename from e2e/bootstrap.sh rename to e2e/bootstrap_types.sh index 6ed0cc0dca..2bb1ee7763 100755 --- a/e2e/bootstrap.sh +++ b/e2e/bootstrap_types.sh @@ -1,20 +1,24 @@ #!/bin/bash +# +# Build the node binary and (re)generate polkadot-api type descriptors. +# Does not require pnpm dependencies — uses `pnpm dlx` for the papi CLI. +# Run this whenever the runtime changes to keep descriptors in sync. +# set -e -MANIFEST="../Cargo.toml" BINARY="../target/release/node-subtensor" +NODE_LOG="/tmp/e2e-bootstrap-node.log" echo "==> Building node-subtensor..." pnpm build-node -echo "==> Starting dev node..." -"$BINARY" --one --dev 2>&1 & +echo "==> Starting dev node (logs at $NODE_LOG)..." +"$BINARY" --one --dev &>"$NODE_LOG" & NODE_PID=$! trap "kill $NODE_PID 2>/dev/null; wait $NODE_PID 2>/dev/null" EXIT TIMEOUT=60 ELAPSED=0 - echo "==> Waiting for node to be ready (timeout: ${TIMEOUT}s)..." until curl -sf -o /dev/null \ -H "Content-Type: application/json" \ @@ -23,7 +27,7 @@ until curl -sf -o /dev/null \ sleep 1 ELAPSED=$((ELAPSED + 1)) if [ "$ELAPSED" -ge "$TIMEOUT" ]; then - echo "==> ERROR: Node failed to start within ${TIMEOUT}s" + echo "ERROR: Node failed to start within ${TIMEOUT}s. Check $NODE_LOG" exit 1 fi done diff --git a/e2e/package.json b/e2e/package.json index 30d52dbf9c..725889e774 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", - "generate-types": "papi add subtensor --wsUrl ws://localhost:9944 --skip-codegen && papi", + "generate-types": "pnpm dlx polkadot-api add subtensor --wsUrl ws://localhost:9944 --skip-codegen && pnpm dlx polkadot-api", "format": "prettier --write .", "format:check": "prettier --check ." }, From 46cb60aa20d1e1d1ca0e4a6a96e10cfac7769079 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:36:41 -0300 Subject: [PATCH 113/204] added script to bootstrap a new package --- e2e/bootstrap_package.sh | 286 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100755 e2e/bootstrap_package.sh diff --git a/e2e/bootstrap_package.sh b/e2e/bootstrap_package.sh new file mode 100755 index 0000000000..e37dc7f26c --- /dev/null +++ b/e2e/bootstrap_package.sh @@ -0,0 +1,286 @@ +#!/bin/bash +# +# Scaffold a new e2e test package. +# +# Usage: +# ./bootstrap_package.sh +# +# Example: +# ./bootstrap_package.sh staking +# +set -e + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +for cmd in jq yq; do + if ! command -v "$cmd" &>/dev/null; then + echo "ERROR: $cmd is required. Run ./setup_env.sh first." + exit 1 + fi +done + +NAME="$1" +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +DIR="$SCRIPT_DIR/$NAME" +WORKSPACE="$SCRIPT_DIR/pnpm-workspace.yaml" + +if [ -d "$DIR" ]; then + echo "ERROR: Directory $DIR already exists" + exit 1 +fi + +echo "==> Creating package e2e-$NAME..." +mkdir -p "$DIR/tests" + +# -- package.json -- +jq -n \ + --arg name "e2e-$NAME" \ + '{ + name: $name, + version: "1.0.0", + type: "module", + scripts: { test: "vitest run" }, + dependencies: { + "e2e-shared": "workspace:*", + "@polkadot-api/descriptors": "file:../.papi/descriptors", + "polkadot-api": "catalog:" + }, + devDependencies: { + "@types/node": "catalog:", + "vitest": "catalog:" + } + }' > "$DIR/package.json" + +# -- tsconfig.json -- +jq -n '{ + compilerOptions: { + target: "ES2022", + module: "ESNext", + moduleResolution: "bundler", + esModuleInterop: true, + strict: true, + skipLibCheck: true, + types: ["node", "vitest/globals"] + } +}' > "$DIR/tsconfig.json" + +# -- vitest.config.ts -- +cat > "$DIR/vitest.config.ts" << 'EOF' +import { defineConfig } from "vitest/config"; +import AlphabeticalSequencer from "e2e-shared/sequencer.js"; + +export default defineConfig({ + test: { + globals: true, + testTimeout: 120_000, + hookTimeout: 300_000, + fileParallelism: false, + globalSetup: "./setup.ts", + include: ["tests/**/*.test.ts"], + sequence: { + sequencer: AlphabeticalSequencer, + }, + }, +}); +EOF + +# -- setup.ts -- +sed "s/__NAME__/$NAME/g" << 'SETUP_EOF' > "$DIR/setup.ts" +import { writeFile, readFile, rm, mkdir } from "node:fs/promises"; +import { + generateChainSpec, + insertKeys, + getGenesisPatch, + addAuthority, +} from "e2e-shared/chainspec.js"; +import { + startNode, + started, + peerCount, + finalizedBlocks, + stop, + log, + type Node, + type NodeOptions, +} from "e2e-shared/node.js"; + +const CHAIN_SPEC_PATH = "/tmp/subtensor-e2e/__NAME__/chain-spec.json"; +const STATE_FILE = "/tmp/subtensor-e2e/__NAME__/nodes.json"; + +export type NetworkState = { + binaryPath: string; + chainSpec: string; + nodes: { + name: string; + rpcPort: number; + port: number; + pid: number; + basePath: string; + }[]; +}; + +const nodes: Node[] = []; + +const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; + +// The local chain spec has 2 built-in authorities (One, Two). +// Add extra authorities here if needed. +const EXTRA_AUTHORITY_SEEDS: string[] = []; + +type NodeConfig = Omit & { + keySeed?: string; +}; + +// TODO: Adjust node configs for your test suite. +const NODE_CONFIGS: NodeConfig[] = [ + { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/subtensor-e2e/__NAME__/one", validator: true }, + { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/subtensor-e2e/__NAME__/two", validator: true }, +]; + +export async function setup() { + log(`Setting up ${NODE_CONFIGS.length}-node network for __NAME__ E2E tests`); + log(`Binary path: ${BINARY_PATH}`); + + await mkdir("/tmp/subtensor-e2e/__NAME__", { recursive: true }); + + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { + const patch = getGenesisPatch(spec); + for (const seed of EXTRA_AUTHORITY_SEEDS) { + addAuthority(patch, seed); + } + }); + + for (const config of NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + } + + for (const config of NODE_CONFIGS) { + if (config.keySeed) { + insertKeys(BINARY_PATH, config.basePath, CHAIN_SPEC_PATH, config.keySeed); + } + } + + for (const config of NODE_CONFIGS) { + const node = startNode({ + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + ...config, + }); + nodes.push(node); + await started(node); + } + + const all = Promise.all.bind(Promise); + + await all(nodes.map((n) => peerCount(n, nodes.length - 1))); + log("All nodes peered"); + + await all(nodes.map((n) => finalizedBlocks(n, 3))); + log("All nodes finalized block 3"); + + const state: NetworkState = { + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + nodes: NODE_CONFIGS.map((c, i) => ({ + name: c.name, + rpcPort: c.rpcPort, + port: c.port, + pid: nodes[i].process.pid!, + basePath: c.basePath, + })), + }; + + await writeFile(STATE_FILE, JSON.stringify(state, null, 2)); + log("Network state written to " + STATE_FILE); +} + +export async function teardown() { + log("Tearing down __NAME__ E2E test network"); + + let state: NetworkState | undefined; + try { + const data = await readFile(STATE_FILE, "utf-8"); + state = JSON.parse(data); + } catch {} + + for (const node of nodes) { + try { + await stop(node); + } catch (e) { + log(`Warning: failed to stop ${node.name}: ${e}`); + } + } + + if (state) { + const ownPids = new Set(nodes.map((n) => n.process.pid)); + for (const nodeInfo of state.nodes) { + if (!ownPids.has(nodeInfo.pid)) { + try { + process.kill(nodeInfo.pid, "SIGTERM"); + log(`Killed extra node ${nodeInfo.name} (pid ${nodeInfo.pid})`); + } catch {} + } + } + + } + + await rm("/tmp/subtensor-e2e/__NAME__", { recursive: true, force: true }); + + log("Teardown complete"); +} +SETUP_EOF + +# -- tests/00-basic.test.ts -- +sed "s/__NAME__/$NAME/g" << 'TEST_EOF' > "$DIR/tests/00-basic.test.ts" +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { subtensor } from "@polkadot-api/descriptors"; +import type { NetworkState } from "../setup.js"; +import { + connectClient, + createSigner, + waitForFinalizedBlocks, +} from "e2e-shared/client.js"; + +let client: PolkadotClient; +let api: TypedApi; +let state: NetworkState; + +const alice = createSigner("//Alice"); + +beforeAll(async () => { + const data = await readFile("/tmp/subtensor-e2e/__NAME__/nodes.json", "utf-8"); + state = JSON.parse(data); + ({ client, api } = await connectClient(state.nodes[0].rpcPort)); + await waitForFinalizedBlocks(client, 3); +}); + +afterAll(() => { + client?.destroy(); +}); + +describe("__NAME__", () => { + it("should produce finalized blocks", async () => { + const block = await api.query.System.Number.getValue(); + expect(block).toBeGreaterThan(0); + }); +}); +TEST_EOF + +# -- Add to pnpm-workspace.yaml -- +if ! yq '.packages[] | select(. == "'"$NAME"'")' "$WORKSPACE" | grep -q .; then + yq -i '.packages += ["'"$NAME"'"]' "$WORKSPACE" + echo " Added '$NAME' to pnpm-workspace.yaml" +fi + +echo "==> Created e2e/$NAME/" +echo "" +echo "Next steps:" +echo " 1. Edit $NAME/setup.ts to configure your network" +echo " 2. Add test-specific dependencies to $NAME/package.json" +echo " 3. Run: pnpm install" +echo " 4. Run: cd $NAME && pnpm test" From a079d482ebc2392ba8904f69ebf646aa90ba534a Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:36:46 -0300 Subject: [PATCH 114/204] added README --- e2e/README.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 e2e/README.md diff --git a/e2e/README.md b/e2e/README.md new file mode 100644 index 0000000000..811ca497f1 --- /dev/null +++ b/e2e/README.md @@ -0,0 +1,81 @@ +# E2E Tests + +End-to-end tests that run against a local multi-node subtensor network. + +## Quick start + +```bash +cd e2e + +# 1. Set up the development environment (nvm, node, pnpm, jq, yq). +./setup_env.sh + +# 2. Build the node binary and generate polkadot-api type descriptors. +# Does not require pnpm deps — uses `pnpm dlx` for the papi CLI. +# Re-run this step whenever runtime metadata changes (new pallets, +# modified storage/calls, etc.) to keep descriptors in sync. +./bootstrap_types.sh + +# 3. Install dependencies (requires descriptors from step 2). +pnpm install + +# 4. Run a test suite. +pnpm --filter e2e-shield test # run the shield suite +pnpm --filter e2e- test # run any suite by name +pnpm -r test # run all suites +``` + +## Creating a new test package + +```bash +./bootstrap_package.sh +pnpm install +pnpm --filter e2e- test +``` + +This creates a package with: +- `package.json` — depends on `e2e-shared` and `polkadot-api` +- `vitest.config.ts` — sequential execution, 120s timeout, alphabetical sequencer +- `setup.ts` — global setup/teardown that spawns a 2-node network +- `tests/00-basic.test.ts` — sample test + +Edit `setup.ts` to configure the number of nodes, extra authorities, and +ports for your suite. Add test-specific dependencies to `package.json`. + +## How it works + +### Network lifecycle + +Each test suite manages its own local network via vitest's `globalSetup`: + +1. **setup()** generates a chain spec, optionally patches it with extra + authorities, spawns validator nodes, waits for peering and finalization, + then writes `NetworkState` to a JSON file under `/tmp/subtensor-e2e/`. +2. **Test files** read the state file in `beforeAll()` to get RPC ports and + connect via polkadot-api. Tests run sequentially (alphabetical by filename), + so later files can build on earlier state changes (e.g. scaling the network). +3. **teardown()** stops all nodes (including extras added mid-suite), cleans + up temp directories and the state file. + +### Shared utilities (`e2e-shared`) + +The `shared/` package provides reusable helpers for all test suites: +spawning and monitoring substrate nodes, generating and patching chain specs, +connecting polkadot-api clients with dev signers, and a custom vitest +sequencer that ensures test files run in alphabetical order. + +### Conventions + +- **File prefixes** — Name test files `00-`, `01-`, `02-` etc. The custom + sequencer sorts alphabetically, so numbering controls execution order. +- **State file** — Each suite writes to `/tmp/subtensor-e2e//`. Tests + can update this file mid-suite (e.g. to register extra nodes). +- **Catalog versions** — All packages use `catalog:` in `package.json` to + reference versions pinned in `pnpm-workspace.yaml`. This prevents version + drift across packages. +- **Query at "best"** — Storage queries for values that change every block + (e.g. rotating keys) should use `{ at: "best" }` instead of the default + `"finalized"`, since finalized lags ~2 blocks behind with GRANDPA. +- **Built-in shortcuts** — Substrate dev accounts (`one`, `two`, `alice`, + `bob`, etc.) have their keys auto-injected. Custom authorities need + `insertKeys()` before starting the node. From 91adf84251bcc39452ee24dec8adb03e25100582 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:40:00 -0300 Subject: [PATCH 115/204] update pnpm lock --- e2e/pnpm-lock.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index e645e75263..b97c90b17a 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -2149,7 +2149,7 @@ snapshots: '@types/bn.js@5.2.0': dependencies: - '@types/node': 24.10.13 + '@types/node': 25.3.0 '@types/chai@5.2.3': dependencies: @@ -2172,7 +2172,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.10.13 + '@types/node': 25.3.0 '@vitest/expect@4.0.18': dependencies: From 807544022758b7df8cbe6dd4a6178361d93b460d Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 11:40:10 -0300 Subject: [PATCH 116/204] update README to add dep --- e2e/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/e2e/README.md b/e2e/README.md index 811ca497f1..2cbaaa37df 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -70,9 +70,10 @@ sequencer that ensures test files run in alphabetical order. sequencer sorts alphabetically, so numbering controls execution order. - **State file** — Each suite writes to `/tmp/subtensor-e2e//`. Tests can update this file mid-suite (e.g. to register extra nodes). -- **Catalog versions** — All packages use `catalog:` in `package.json` to - reference versions pinned in `pnpm-workspace.yaml`. This prevents version - drift across packages. +- **Catalog versions** — To add a new dependency, first pin its version in + `pnpm-workspace.yaml` under `catalog:`, then reference it in your + package's `package.json` with `"catalog:"` as the version. This prevents + version drift across packages. - **Query at "best"** — Storage queries for values that change every block (e.g. rotating keys) should use `{ at: "best" }` instead of the default `"finalized"`, since finalized lags ~2 blocks behind with GRANDPA. From d7e071a1a52c30ef2645aadce7c93e88ab7354ce Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 15:48:05 -0300 Subject: [PATCH 117/204] build both binaries + bootstrap types in CI --- .github/workflows/e2e.yml | 39 ++++++++++++++++++++++++++++----------- e2e/bootstrap_types.sh | 10 ++++++++-- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 9d2fdced26..cde5078901 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -15,10 +15,17 @@ permissions: contents: read jobs: - # Build the node binary once and share it across test jobs. + # Build the node binary in both profiles and share as artifacts. build: runs-on: [self-hosted, type-ccx33] timeout-minutes: 60 + strategy: + matrix: + include: + - profile: release + output_dir: release + - profile: dev + output_dir: debug env: RUST_BACKTRACE: full steps: @@ -40,17 +47,17 @@ jobs: - name: Utilize Shared Rust Cache uses: Swatinem/rust-cache@v2 with: - key: e2e + key: e2e-${{ matrix.profile }} cache-on-failure: true - - name: Build node-subtensor - run: cargo build --release -p node-subtensor + - name: Build node-subtensor (${{ matrix.profile }}) + run: cargo build --profile ${{ matrix.profile }} -p node-subtensor - name: Upload binary uses: actions/upload-artifact@v4 with: - name: node-subtensor - path: target/release/node-subtensor + name: node-subtensor-${{ matrix.output_dir }} + path: target/${{ matrix.output_dir }}/node-subtensor if-no-files-found: error # Discover e2e packages that have a "test" script. @@ -97,25 +104,35 @@ jobs: - name: Check-out repository uses: actions/checkout@v4 - - name: Download node-subtensor binary + - name: Download release binary uses: actions/download-artifact@v4 with: - name: node-subtensor + name: node-subtensor-release path: target/release - - name: Make binary executable - run: chmod +x target/release/node-subtensor + - name: Download debug binary + uses: actions/download-artifact@v4 + with: + name: node-subtensor-debug + path: target/debug + + - name: Make binaries executable + run: chmod +x target/release/node-subtensor target/debug/node-subtensor - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: "24" + node-version-file: e2e/.nvmrc - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 10 + - name: Bootstrap papi types + working-directory: e2e + run: ./bootstrap_types.sh --skip-build + - name: Install e2e dependencies working-directory: e2e run: pnpm install --frozen-lockfile diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index 2bb1ee7763..f8b83a3fba 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -4,13 +4,19 @@ # Does not require pnpm dependencies — uses `pnpm dlx` for the papi CLI. # Run this whenever the runtime changes to keep descriptors in sync. # +# Usage: +# ./bootstrap_types.sh # build + generate types +# ./bootstrap_types.sh --skip-build # generate types only (binary must exist) +# set -e BINARY="../target/release/node-subtensor" NODE_LOG="/tmp/e2e-bootstrap-node.log" -echo "==> Building node-subtensor..." -pnpm build-node +if [ "$1" != "--skip-build" ]; then + echo "==> Building node-subtensor..." + pnpm build-node +fi echo "==> Starting dev node (logs at $NODE_LOG)..." "$BINARY" --one --dev &>"$NODE_LOG" & From 926e21de3d93170aaf7113fe747f69b96fa0ff88 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 17:09:19 -0300 Subject: [PATCH 118/204] workflow run on PR --- .github/workflows/e2e.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index cde5078901..20c1ee727d 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,6 +1,8 @@ name: E2E Tests on: + pull_request: + workflow_dispatch: inputs: verbose: From 692c25668f0b00f7a3aaae245af3c5798dd503f7 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 18:10:15 -0300 Subject: [PATCH 119/204] fix polkadot-api issue --- e2e/bootstrap_types.sh | 5 ++++- e2e/package.json | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index f8b83a3fba..95d2899c21 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -1,7 +1,7 @@ #!/bin/bash # # Build the node binary and (re)generate polkadot-api type descriptors. -# Does not require pnpm dependencies — uses `pnpm dlx` for the papi CLI. +# Installs polkadot-api globally for the CLI and type resolution. # Run this whenever the runtime changes to keep descriptors in sync. # # Usage: @@ -38,6 +38,9 @@ until curl -sf -o /dev/null \ fi done +echo "==> Installing polkadot-api globally..." +pnpm add -g polkadot-api + echo "==> Generating papi types..." pnpm generate-types diff --git a/e2e/package.json b/e2e/package.json index 725889e774..0c5e00c8c4 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", - "generate-types": "pnpm dlx polkadot-api add subtensor --wsUrl ws://localhost:9944 --skip-codegen && pnpm dlx polkadot-api", + "generate-types": "polkadot-api add subtensor --wsUrl ws://localhost:9944 --skip-codegen && polkadot-api", "format": "prettier --write .", "format:check": "prettier --check ." }, From 75e7da148330ece9244f20d1fa0f9b00fb4432e3 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Tue, 24 Feb 2026 18:13:45 -0300 Subject: [PATCH 120/204] update README --- e2e/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/README.md b/e2e/README.md index 2cbaaa37df..d564ba4e3c 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -11,7 +11,7 @@ cd e2e ./setup_env.sh # 2. Build the node binary and generate polkadot-api type descriptors. -# Does not require pnpm deps — uses `pnpm dlx` for the papi CLI. +# Installs polkadot-api globally for the CLI and type resolution. # Re-run this step whenever runtime metadata changes (new pallets, # modified storage/calls, etc.) to keep descriptors in sync. ./bootstrap_types.sh From 0365c5080f700cff1fda7a512e67f9a71150c8d8 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Wed, 25 Feb 2026 15:02:25 -0300 Subject: [PATCH 121/204] compile only production and fast binaries --- .github/workflows/e2e.yml | 36 +++++++++++++++++------------------- e2e/bootstrap_types.sh | 2 +- e2e/package.json | 3 ++- e2e/shield/setup.ts | 2 +- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 20c1ee727d..73fd6cdd99 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -17,17 +17,17 @@ permissions: contents: read jobs: - # Build the node binary in both profiles and share as artifacts. + # Build the node binary in both variants and share as artifacts. build: runs-on: [self-hosted, type-ccx33] timeout-minutes: 60 strategy: matrix: include: - - profile: release - output_dir: release - - profile: dev - output_dir: debug + - variant: production + flags: "" + - variant: fast + flags: "--features fast-runtime" env: RUST_BACKTRACE: full steps: @@ -49,17 +49,17 @@ jobs: - name: Utilize Shared Rust Cache uses: Swatinem/rust-cache@v2 with: - key: e2e-${{ matrix.profile }} + key: e2e-${{ matrix.variant }} cache-on-failure: true - - name: Build node-subtensor (${{ matrix.profile }}) - run: cargo build --profile ${{ matrix.profile }} -p node-subtensor + - name: Build node-subtensor (${{ matrix.variant }}) + run: cargo build --profile production ${{ matrix.flags }} -p node-subtensor - name: Upload binary uses: actions/upload-artifact@v4 with: - name: node-subtensor-${{ matrix.output_dir }} - path: target/${{ matrix.output_dir }}/node-subtensor + name: node-subtensor-${{ matrix.variant }} + path: target/production/node-subtensor if-no-files-found: error # Discover e2e packages that have a "test" script. @@ -106,20 +106,20 @@ jobs: - name: Check-out repository uses: actions/checkout@v4 - - name: Download release binary + - name: Download production binary uses: actions/download-artifact@v4 with: - name: node-subtensor-release - path: target/release + name: node-subtensor-production + path: target/production - - name: Download debug binary + - name: Download fast binary uses: actions/download-artifact@v4 with: - name: node-subtensor-debug - path: target/debug + name: node-subtensor-fast + path: target/fast - name: Make binaries executable - run: chmod +x target/release/node-subtensor target/debug/node-subtensor + run: chmod +x target/production/node-subtensor target/fast/node-subtensor - name: Setup Node.js uses: actions/setup-node@v4 @@ -141,6 +141,4 @@ jobs: - name: Run tests working-directory: e2e - env: - BINARY_PATH: ${{ github.workspace }}/target/release/node-subtensor run: pnpm --filter ${{ matrix.package }} test diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index 95d2899c21..db0c5bcff3 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -10,7 +10,7 @@ # set -e -BINARY="../target/release/node-subtensor" +BINARY="${BINARY_PATH:-../target/production/node-subtensor}" NODE_LOG="/tmp/e2e-bootstrap-node.log" if [ "$1" != "--skip-build" ]; then diff --git a/e2e/package.json b/e2e/package.json index 0c5e00c8c4..e7b3213ccc 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -2,7 +2,8 @@ "name": "e2e", "private": true, "scripts": { - "build-node": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", + "build-node:production": "cargo build --manifest-path ../Cargo.toml --profile production -p node-subtensor", + "build-node:fast": "pnpm build-node:production --features fast-runtime", "generate-types": "polkadot-api add subtensor --wsUrl ws://localhost:9944 --skip-codegen && polkadot-api", "format": "prettier --write .", "format:check": "prettier --check ." diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 161346b1b2..487e0eb670 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -33,7 +33,7 @@ export type NetworkState = { const nodes: Node[] = []; -const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; +const BINARY_PATH = process.env.BINARY_PATH || "../../target/production/node-subtensor"; // The local chain spec has 2 built-in authorities (One, Two). // We add "Three" dynamically by patching the chain spec JSON. From 356c77f42129ca77ed0c9c273fd5ff4b0feb1631 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 26 Feb 2026 11:30:06 -0300 Subject: [PATCH 122/204] replace production build with release for e2e --- .github/workflows/e2e.yml | 16 ++++++++-------- e2e/bootstrap_types.sh | 7 ++++--- e2e/package.json | 5 +++-- e2e/shield/setup.ts | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 73fd6cdd99..d752f51bc1 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: include: - - variant: production + - variant: release flags: "" - variant: fast flags: "--features fast-runtime" @@ -53,13 +53,13 @@ jobs: cache-on-failure: true - name: Build node-subtensor (${{ matrix.variant }}) - run: cargo build --profile production ${{ matrix.flags }} -p node-subtensor + run: cargo build --profile release ${{ matrix.flags }} -p node-subtensor - name: Upload binary uses: actions/upload-artifact@v4 with: name: node-subtensor-${{ matrix.variant }} - path: target/production/node-subtensor + path: target/release/node-subtensor if-no-files-found: error # Discover e2e packages that have a "test" script. @@ -106,20 +106,20 @@ jobs: - name: Check-out repository uses: actions/checkout@v4 - - name: Download production binary + - name: Download release binary uses: actions/download-artifact@v4 with: - name: node-subtensor-production - path: target/production + name: node-subtensor + path: target/release - name: Download fast binary uses: actions/download-artifact@v4 with: - name: node-subtensor-fast + name: node-subtensor path: target/fast - name: Make binaries executable - run: chmod +x target/production/node-subtensor target/fast/node-subtensor + run: chmod +x target/release/node-subtensor target/fast/node-subtensor - name: Setup Node.js uses: actions/setup-node@v4 diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index db0c5bcff3..620f3c8efd 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -10,12 +10,13 @@ # set -e -BINARY="${BINARY_PATH:-../target/production/node-subtensor}" +BINARY="${BINARY_PATH:-../target/release/node-subtensor}" NODE_LOG="/tmp/e2e-bootstrap-node.log" if [ "$1" != "--skip-build" ]; then echo "==> Building node-subtensor..." - pnpm build-node + pnpm build-node:debug + BINARY="../target/debug/node-subtensor" fi echo "==> Starting dev node (logs at $NODE_LOG)..." @@ -39,7 +40,7 @@ until curl -sf -o /dev/null \ done echo "==> Installing polkadot-api globally..." -pnpm add -g polkadot-api +npm install -g polkadot-api echo "==> Generating papi types..." pnpm generate-types diff --git a/e2e/package.json b/e2e/package.json index e7b3213ccc..db6090fae4 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -2,8 +2,9 @@ "name": "e2e", "private": true, "scripts": { - "build-node:production": "cargo build --manifest-path ../Cargo.toml --profile production -p node-subtensor", - "build-node:fast": "pnpm build-node:production --features fast-runtime", + "build-node:debug": "cargo build --manifest-path ../Cargo.toml -p node-subtensor", + "build-node:release": "cargo build --manifest-path ../Cargo.toml --profile release -p node-subtensor", + "build-node:fast": "pnpm build-node:release --features fast-runtime", "generate-types": "polkadot-api add subtensor --wsUrl ws://localhost:9944 --skip-codegen && polkadot-api", "format": "prettier --write .", "format:check": "prettier --check ." diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 487e0eb670..161346b1b2 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -33,7 +33,7 @@ export type NetworkState = { const nodes: Node[] = []; -const BINARY_PATH = process.env.BINARY_PATH || "../../target/production/node-subtensor"; +const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; // The local chain spec has 2 built-in authorities (One, Two). // We add "Three" dynamically by patching the chain spec JSON. From e8758efeb1a988645c29c17332ecc53c46bb9f0f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 26 Feb 2026 12:02:42 -0300 Subject: [PATCH 123/204] fix binaries download error --- .github/workflows/e2e.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index d752f51bc1..d59c8dc579 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -109,14 +109,19 @@ jobs: - name: Download release binary uses: actions/download-artifact@v4 with: - name: node-subtensor + name: node-subtensor-release path: target/release - name: Download fast binary uses: actions/download-artifact@v4 with: - name: node-subtensor + name: node-subtensor-fast path: target/fast + + - name: Rename binaries + run: | + mv target/release/node-subtensor target/release/node-subtensor + mv target/fast/node-subtensor target/fast/node-subtensor - name: Make binaries executable run: chmod +x target/release/node-subtensor target/fast/node-subtensor From 2466c2a9c242994d8be5c0ab261fb3b014526b71 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 26 Feb 2026 12:32:16 -0300 Subject: [PATCH 124/204] fix binaries download error 2 --- .github/workflows/e2e.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index d59c8dc579..b099c09594 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -120,8 +120,8 @@ jobs: - name: Rename binaries run: | - mv target/release/node-subtensor target/release/node-subtensor - mv target/fast/node-subtensor target/fast/node-subtensor + mv target/release/node-subtensor-release target/release/node-subtensor + mv target/fast/node-subtensor-fast target/fast/node-subtensor - name: Make binaries executable run: chmod +x target/release/node-subtensor target/fast/node-subtensor From 37fac12f8933622077c404a5f517c22e9d779fe4 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 26 Feb 2026 13:43:11 -0300 Subject: [PATCH 125/204] remove renaming in workflow --- .github/workflows/e2e.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index b099c09594..f04d592a64 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -118,11 +118,6 @@ jobs: name: node-subtensor-fast path: target/fast - - name: Rename binaries - run: | - mv target/release/node-subtensor-release target/release/node-subtensor - mv target/fast/node-subtensor-fast target/fast/node-subtensor - - name: Make binaries executable run: chmod +x target/release/node-subtensor target/fast/node-subtensor From 2c59e95e9fd6da3f23f89751c20265afd3757755 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Mon, 2 Mar 2026 16:55:15 +0300 Subject: [PATCH 126/204] Update .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 3f20eb58e2..91993ddf2d 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,6 @@ scripts/specs/local.json # Node modules node_modules + +# Claude Code configuration +.claude \ No newline at end of file From 6ae5cb42893e0903f7576babbd21ebb6959df5d5 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Fri, 27 Feb 2026 16:09:41 +0300 Subject: [PATCH 127/204] Add staking tests staking --- e2e/pnpm-lock.yaml | 577 +++++++++++++++++- e2e/pnpm-workspace.yaml | 1 + e2e/shared/address.ts | 44 ++ e2e/shared/balance.ts | 29 + e2e/shared/devnet-client.ts | 30 + e2e/shared/index.ts | 35 ++ e2e/shared/logger.ts | 7 + e2e/shared/package.json | 10 +- e2e/shared/staking.ts | 517 ++++++++++++++++ e2e/shared/subnet.ts | 72 +++ e2e/shared/transactions.ts | 71 +++ e2e/staking/package.json | 23 + e2e/staking/setup.ts | 112 ++++ e2e/staking/test/add-stake-limit.test.ts | 66 ++ e2e/staking/test/add-stake.test.ts | 47 ++ e2e/staking/test/claim-root.test.ts | 477 +++++++++++++++ e2e/staking/test/move-stake.test.ts | 135 ++++ .../test/remove-stake-full-limit.test.ts | 85 +++ e2e/staking/test/remove-stake-limit.test.ts | 80 +++ e2e/staking/test/remove-stake.test.ts | 56 ++ e2e/staking/test/swap-stake-limit.test.ts | 128 ++++ e2e/staking/test/swap-stake.test.ts | 70 +++ e2e/staking/test/transfer-stake.test.ts | 132 ++++ e2e/staking/test/unstake-all-alpha.test.ts | 72 +++ e2e/staking/test/unstake-all.test.ts | 70 +++ e2e/staking/tsconfig.json | 11 + 26 files changed, 2931 insertions(+), 26 deletions(-) create mode 100644 e2e/shared/address.ts create mode 100644 e2e/shared/balance.ts create mode 100644 e2e/shared/devnet-client.ts create mode 100644 e2e/shared/index.ts create mode 100644 e2e/shared/logger.ts create mode 100644 e2e/shared/staking.ts create mode 100644 e2e/shared/subnet.ts create mode 100644 e2e/shared/transactions.ts create mode 100644 e2e/staking/package.json create mode 100644 e2e/staking/setup.ts create mode 100644 e2e/staking/test/add-stake-limit.test.ts create mode 100644 e2e/staking/test/add-stake.test.ts create mode 100644 e2e/staking/test/claim-root.test.ts create mode 100644 e2e/staking/test/move-stake.test.ts create mode 100644 e2e/staking/test/remove-stake-full-limit.test.ts create mode 100644 e2e/staking/test/remove-stake-limit.test.ts create mode 100644 e2e/staking/test/remove-stake.test.ts create mode 100644 e2e/staking/test/swap-stake-limit.test.ts create mode 100644 e2e/staking/test/swap-stake.test.ts create mode 100644 e2e/staking/test/transfer-stake.test.ts create mode 100644 e2e/staking/test/unstake-all-alpha.test.ts create mode 100644 e2e/staking/test/unstake-all.test.ts create mode 100644 e2e/staking/tsconfig.json diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index b97c90b17a..a6bc219540 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -46,10 +46,10 @@ importers: dependencies: '@polkadot-api/descriptors': specifier: file:.papi/descriptors - version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) polkadot-api: specifier: 'catalog:' - version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: prettier: specifier: 'catalog:' @@ -59,7 +59,7 @@ importers: dependencies: '@polkadot-api/descriptors': specifier: file:../.papi/descriptors - version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) '@polkadot-labs/hdkd': specifier: 'catalog:' version: 0.0.25 @@ -71,14 +71,14 @@ importers: version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) polkadot-api: specifier: 'catalog:' - version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: '@types/node': specifier: 'catalog:' version: 24.10.13 vitest: specifier: 'catalog:' - version: 4.0.18(@types/node@24.10.13) + version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) shield: dependencies: @@ -87,7 +87,7 @@ importers: version: 2.1.1 '@polkadot-api/descriptors': specifier: file:../.papi/descriptors - version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)) + version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) '@polkadot/util': specifier: 'catalog:' version: 14.0.1 @@ -102,14 +102,33 @@ importers: version: 2.5.0 polkadot-api: specifier: 'catalog:' - version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: '@types/node': specifier: 'catalog:' version: 24.10.13 vitest: specifier: 'catalog:' - version: 4.0.18(@types/node@24.10.13) + version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) + + staking: + dependencies: + e2e-shared: + specifier: workspace:* + version: link:../shared + mocha: + specifier: ^11.1.0 + version: 11.7.5 + tsx: + specifier: ^4.21.0 + version: 4.21.0 + devDependencies: + '@types/mocha': + specifier: ^10.0.10 + version: 10.0.10 + '@types/node': + specifier: 'catalog:' + version: 24.10.13 packages: @@ -438,6 +457,10 @@ packages: cpu: [x64] os: [win32] + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -471,6 +494,10 @@ packages: resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} engines: {node: '>= 20.19.0'} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@polkadot-api/cli@0.18.1': resolution: {integrity: sha512-jPa8WSNPZWdy372sBAUnm0nU1XX5mLbmgkOOU39+zpYPSE12mYXyM3r7JuT5IHdAccEJr6qK2DplPFTeNSyq9A==} hasBin: true @@ -835,6 +862,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/mocha@10.0.10': + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} + '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} @@ -881,20 +911,44 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + bn.js@5.2.2: resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -905,10 +959,18 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -925,6 +987,17 @@ packages: resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} engines: {node: '>=18.20'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -953,6 +1026,10 @@ packages: supports-color: optional: true + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + deepmerge-ts@7.1.5: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} @@ -961,6 +1038,19 @@ packages: resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} engines: {node: '>=12.20'} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} @@ -974,6 +1064,14 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -998,9 +1096,21 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + fs.promises.exists@1.1.4: resolution: {integrity: sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==} @@ -1009,6 +1119,10 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.4.0: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} @@ -1017,6 +1131,22 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1037,10 +1167,22 @@ packages: resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} engines: {node: '>=18'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -1049,6 +1191,10 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} @@ -1056,6 +1202,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -1063,6 +1212,10 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -1074,9 +1227,17 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + log-symbols@7.0.1: resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} engines: {node: '>=18'} @@ -1095,6 +1256,14 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + mlkem@2.5.0: resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} engines: {node: '>=16.0.0'} @@ -1102,6 +1271,11 @@ packages: mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mocha@11.7.5: + resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1140,6 +1314,17 @@ packages: resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} engines: {node: '>=20'} + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parse-json@8.3.0: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} engines: {node: '>=18'} @@ -1148,6 +1333,10 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1156,6 +1345,10 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1214,6 +1407,9 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + read-pkg@10.1.0: resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} engines: {node: '>=20'} @@ -1226,10 +1422,17 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -1242,6 +1445,9 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + scale-ts@1.6.1: resolution: {integrity: sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==} @@ -1250,6 +1456,9 @@ packages: engines: {node: '>=10'} hasBin: true + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1303,10 +1512,22 @@ packages: resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} engines: {node: '>=18'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + string-width@8.1.1: resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} engines: {node: '>=20'} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strip-ansi@7.1.2: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} @@ -1315,11 +1536,23 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + sucrase@3.35.1: resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + tagged-tag@1.0.0: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} @@ -1387,6 +1620,11 @@ packages: typescript: optional: true + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -1514,6 +1752,17 @@ packages: engines: {node: '>=8'} hasBin: true + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + write-file-atomic@5.0.1: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -1538,6 +1787,26 @@ packages: utf-8-validate: optional: true + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + yoctocolors@2.1.2: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} @@ -1712,6 +1981,15 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1740,7 +2018,10 @@ snapshots: '@noble/hashes@2.0.1': {} - '@polkadot-api/cli@0.18.1(postcss@8.5.6)': + '@pkgjs/parseargs@0.11.0': + optional: true + + '@polkadot-api/cli@0.18.1(postcss@8.5.6)(tsx@4.21.0)': dependencies: '@commander-js/extra-typings': 14.0.0(commander@14.0.3) '@polkadot-api/codegen': 0.21.2 @@ -1766,7 +2047,7 @@ snapshots: read-pkg: 10.1.0 rxjs: 7.8.2 tsc-prog: 2.3.0(typescript@5.9.3) - tsup: 8.5.0(postcss@8.5.6)(typescript@5.9.3) + tsup: 8.5.0(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3) typescript: 5.9.3 write-package: 7.2.0 transitivePeerDependencies: @@ -1788,9 +2069,9 @@ snapshots: '@polkadot-api/substrate-bindings': 0.17.0 '@polkadot-api/utils': 0.2.0 - '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2))': + '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0))': dependencies: - polkadot-api: 1.23.3(postcss@8.5.6)(rxjs@7.8.2) + polkadot-api: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) '@polkadot-api/ink-contracts@0.4.6': dependencies: @@ -2160,6 +2441,8 @@ snapshots: '@types/estree@1.0.8': {} + '@types/mocha@10.0.10': {} + '@types/node@24.10.13': dependencies: undici-types: 7.16.0 @@ -2183,13 +2466,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@24.10.13) + vite: 7.3.1(@types/node@24.10.13)(tsx@4.21.0) '@vitest/pretty-format@4.0.18': dependencies: @@ -2215,14 +2498,32 @@ snapshots: acorn@8.16.0: {} + ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + any-promise@1.3.0: {} + argparse@2.0.1: {} + assertion-error@2.0.1: {} + balanced-match@1.0.2: {} + bn.js@5.2.2: {} + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + browser-stdout@1.3.1: {} + bundle-require@5.1.0(esbuild@0.25.12): dependencies: esbuild: 0.25.12 @@ -2230,8 +2531,15 @@ snapshots: cac@6.7.14: {} + camelcase@6.3.0: {} + chai@6.2.2: {} + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + chalk@5.6.2: {} chokidar@4.0.3: @@ -2244,6 +2552,18 @@ snapshots: cli-spinners@3.4.0: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + commander@14.0.3: {} commander@4.1.1: {} @@ -2258,14 +2578,26 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.4.3: + debug@4.4.3(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + decamelize@4.0.0: {} deepmerge-ts@7.1.5: {} detect-indent@7.0.2: {} + diff@7.0.0: {} + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + es-module-lexer@1.7.0: {} esbuild@0.25.12: @@ -2326,6 +2658,10 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 @@ -2355,17 +2691,31 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + fix-dts-default-cjs-exports@1.0.1: dependencies: magic-string: 0.30.21 mlly: 1.8.0 rollup: 4.57.1 + flat@5.0.2: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + fs.promises.exists@1.1.4: {} fsevents@2.3.3: optional: true + get-caller-file@2.0.5: {} + get-east-asian-width@1.4.0: {} get-stream@9.0.1: @@ -2373,6 +2723,23 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 + get-tsconfig@4.13.6: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + has-flag@4.0.0: {} + + he@1.2.0: {} + hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 @@ -2387,28 +2754,55 @@ snapshots: index-to-position@1.2.0: {} + is-fullwidth-code-point@3.0.0: {} + is-interactive@2.0.0: {} + is-path-inside@3.0.3: {} + + is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} is-stream@4.0.1: {} + is-unicode-supported@0.1.0: {} + is-unicode-supported@2.1.0: {} isexe@2.0.0: {} + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + joycon@3.1.1: {} js-tokens@4.0.0: {} + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} load-tsconfig@0.2.5: {} + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + lodash.sortby@4.7.0: {} + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + log-symbols@7.0.1: dependencies: is-unicode-supported: 2.1.0 @@ -2424,6 +2818,12 @@ snapshots: mimic-function@5.0.1: {} + minimatch@9.0.9: + dependencies: + brace-expansion: 2.0.2 + + minipass@7.1.3: {} + mlkem@2.5.0: {} mlly@1.8.0: @@ -2433,6 +2833,30 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.3 + mocha@11.7.5: + dependencies: + browser-stdout: 1.3.1 + chokidar: 4.0.3 + debug: 4.4.3(supports-color@8.1.1) + diff: 7.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 10.5.0 + he: 1.2.0 + is-path-inside: 3.0.3 + js-yaml: 4.1.1 + log-symbols: 4.1.0 + minimatch: 9.0.9 + ms: 2.1.3 + picocolors: 1.1.1 + serialize-javascript: 6.0.2 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 9.3.4 + yargs: 17.7.2 + yargs-parser: 21.1.1 + yargs-unparser: 2.0.0 + ms@2.1.3: {} mz@2.7.0: @@ -2479,6 +2903,16 @@ snapshots: stdin-discarder: 0.3.1 string-width: 8.1.1 + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.1: {} + parse-json@8.3.0: dependencies: '@babel/code-frame': 7.29.0 @@ -2487,10 +2921,17 @@ snapshots: parse-ms@4.0.0: {} + path-exists@4.0.0: {} + path-key@3.1.1: {} path-key@4.0.0: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + pathe@2.0.3: {} picocolors@1.1.1: {} @@ -2505,9 +2946,9 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 - polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2): + polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0): dependencies: - '@polkadot-api/cli': 0.18.1(postcss@8.5.6) + '@polkadot-api/cli': 0.18.1(postcss@8.5.6)(tsx@4.21.0) '@polkadot-api/ink-contracts': 0.4.6 '@polkadot-api/json-rpc-provider': 0.0.4 '@polkadot-api/known-chains': 0.9.18 @@ -2538,11 +2979,12 @@ snapshots: - utf-8-validate - yaml - postcss-load-config@6.0.1(postcss@8.5.6): + postcss-load-config@6.0.1(postcss@8.5.6)(tsx@4.21.0): dependencies: lilconfig: 3.1.3 optionalDependencies: postcss: 8.5.6 + tsx: 4.21.0 postcss@8.5.6: dependencies: @@ -2558,6 +3000,10 @@ snapshots: punycode@2.3.1: {} + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + read-pkg@10.1.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -2576,8 +3022,12 @@ snapshots: readdirp@4.1.2: {} + require-directory@2.1.1: {} + resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} + restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -2618,10 +3068,16 @@ snapshots: dependencies: tslib: 2.8.1 + safe-buffer@5.2.1: {} + scale-ts@1.6.1: {} semver@7.7.4: {} + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -2669,17 +3125,35 @@ snapshots: stdin-discarder@0.3.1: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + string-width@8.1.1: dependencies: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strip-ansi@7.1.2: dependencies: ansi-regex: 6.2.2 strip-final-newline@4.0.0: {} + strip-json-comments@3.1.1: {} + sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -2690,6 +3164,14 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + tagged-tag@1.0.0: {} thenify-all@1.6.0: @@ -2727,18 +3209,18 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.0(postcss@8.5.6)(typescript@5.9.3): + tsup@8.5.0(postcss@8.5.6)(tsx@4.21.0)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.25.12) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3 + debug: 4.4.3(supports-color@8.1.1) esbuild: 0.25.12 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.6) + postcss-load-config: 6.0.1(postcss@8.5.6)(tsx@4.21.0) resolve-from: 5.0.0 rollup: 4.57.1 source-map: 0.8.0-beta.0 @@ -2755,6 +3237,13 @@ snapshots: - tsx - yaml + tsx@4.21.0: + dependencies: + esbuild: 0.27.3 + get-tsconfig: 4.13.6 + optionalDependencies: + fsevents: 2.3.3 + type-fest@4.41.0: {} type-fest@5.4.4: @@ -2780,7 +3269,7 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite@7.3.1(@types/node@24.10.13): + vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -2791,11 +3280,12 @@ snapshots: optionalDependencies: '@types/node': 24.10.13 fsevents: 2.3.3 + tsx: 4.21.0 - vitest@4.0.18(@types/node@24.10.13): + vitest@4.0.18(@types/node@24.10.13)(tsx@4.21.0): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -2812,7 +3302,7 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.13) + vite: 7.3.1(@types/node@24.10.13)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.10.13 @@ -2846,6 +3336,20 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + workerpool@9.3.4: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + write-file-atomic@5.0.1: dependencies: imurmurhash: 0.1.4 @@ -2868,4 +3372,27 @@ snapshots: ws@8.19.0: {} + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs-unparser@2.0.0: + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + yoctocolors@2.1.2: {} diff --git a/e2e/pnpm-workspace.yaml b/e2e/pnpm-workspace.yaml index d1504a1228..5c59deeac3 100644 --- a/e2e/pnpm-workspace.yaml +++ b/e2e/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - shared - shield + - staking catalog: "@noble/ciphers": "^2.1.1" diff --git a/e2e/shared/address.ts b/e2e/shared/address.ts new file mode 100644 index 0000000000..5585c4cb68 --- /dev/null +++ b/e2e/shared/address.ts @@ -0,0 +1,44 @@ +import { sr25519CreateDerive } from "@polkadot-labs/hdkd"; +import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, KeyPair } from "@polkadot-labs/hdkd-helpers"; +import { getPolkadotSigner } from "polkadot-api/signer"; +import { PolkadotSigner } from "polkadot-api"; +import { randomBytes } from "crypto"; +import { ss58Address } from "@polkadot-labs/hdkd-helpers"; + +export const SS58_PREFIX = 42; + +// ─── KEYPAIR UTILITIES ─────────────────────────────────────────────────────── + +export function getKeypairFromPath(path: string): KeyPair { + const entropy = mnemonicToEntropy(DEV_PHRASE); + const miniSecret = entropyToMiniSecret(entropy); + const derive = sr25519CreateDerive(miniSecret); + return derive(path); +} + +export const getAlice = () => getKeypairFromPath("//Alice"); + +export function getRandomSubstrateKeypair(): KeyPair { + const seed = randomBytes(32); + const miniSecret = entropyToMiniSecret(seed); + const derive = sr25519CreateDerive(miniSecret); + return derive(""); +} + +// ─── SIGNER UTILITIES ──────────────────────────────────────────────────────── + +export function getSignerFromKeypair(keypair: KeyPair): PolkadotSigner { + return getPolkadotSigner(keypair.publicKey, "Sr25519", keypair.sign); +} + +export function getSignerFromPath(path: string): PolkadotSigner { + return getSignerFromKeypair(getKeypairFromPath(path)); +} + +export const getAliceSigner = () => getSignerFromPath("//Alice"); + +// ─── ADDRESS UTILITIES ─────────────────────────────────────────────────────── + +export function convertPublicKeyToSs58(publicKey: Uint8Array): string { + return ss58Address(publicKey, SS58_PREFIX); +} diff --git a/e2e/shared/balance.ts b/e2e/shared/balance.ts new file mode 100644 index 0000000000..d5cafa1326 --- /dev/null +++ b/e2e/shared/balance.ts @@ -0,0 +1,29 @@ +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; +import { TypedApi } from "polkadot-api"; +import { getAliceSigner } from "./address.js"; +import { waitForTransactionWithRetry } from "./transactions.js"; + +export const TAO = BigInt(1000000000); // 10^9 RAO per TAO + +export function tao(value: number): bigint { + return TAO * BigInt(value); +} + +export async function getBalance(api: TypedApi, ss58Address: string): Promise { + const account = await api.query.System.Account.getValue(ss58Address); + return account.data.free; +} + +export async function forceSetBalance( + api: TypedApi, + ss58Address: string, + amount: bigint = tao(1e10) +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.Balances.force_set_balance({ + who: MultiAddress.Id(ss58Address), + new_free: amount, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "force_set_balance"); +} diff --git a/e2e/shared/devnet-client.ts b/e2e/shared/devnet-client.ts new file mode 100644 index 0000000000..776472fb5e --- /dev/null +++ b/e2e/shared/devnet-client.ts @@ -0,0 +1,30 @@ +import { subtensor } from "@polkadot-api/descriptors"; +import { TypedApi, PolkadotClient, createClient } from "polkadot-api"; +import { getWsProvider } from "polkadot-api/ws-provider/web"; + +export const SUB_LOCAL_URL = "ws://localhost:9944"; + +let client: PolkadotClient | undefined = undefined; +let api: TypedApi | undefined = undefined; + +export async function getClient(): Promise { + if (client === undefined) { + const provider = getWsProvider(SUB_LOCAL_URL); + client = createClient(provider); + } + return client; +} + +export async function getDevnetApi(): Promise> { + if (api === undefined) { + const c = await getClient(); + api = c.getTypedApi(subtensor); + } + return api; +} + +export function destroyClient(): void { + client?.destroy(); + client = undefined; + api = undefined; +} diff --git a/e2e/shared/index.ts b/e2e/shared/index.ts new file mode 100644 index 0000000000..1e686b816d --- /dev/null +++ b/e2e/shared/index.ts @@ -0,0 +1,35 @@ +// Node management +export { + startNode, + stop, + started, + peerCount, + finalizedBlocks, + innerEnsure, + log as nodeLog, + type NodeOptions, + type Node, +} from "./node.js"; +export * from "./chainspec.js"; +export * from "./sequencer.js"; + +// Client utilities (shield-style) +export { + connectClient, + createSigner, + getAccountNonce, + getBalance as getBalanceByAddress, + sleep, + waitForFinalizedBlocks, + type ClientConnection, + type Signer, +} from "./client.js"; + +// Blockchain API utilities (staking-tests style) +export * from "./logger.js"; +export * from "./devnet-client.js"; +export * from "./address.js"; +export * from "./transactions.js"; +export * from "./balance.js"; +export * from "./subnet.js"; +export * from "./staking.js"; diff --git a/e2e/shared/logger.ts b/e2e/shared/logger.ts new file mode 100644 index 0000000000..041443353a --- /dev/null +++ b/e2e/shared/logger.ts @@ -0,0 +1,7 @@ +const LOG_INDENT = " "; + +export const log = { + tx: (label: string, msg: string) => console.log(`${LOG_INDENT}[${label}] ${msg}`), + info: (msg: string) => console.log(`${LOG_INDENT}${msg}`), + error: (label: string, msg: string) => console.error(`${LOG_INDENT}[${label}] ${msg}`), +}; diff --git a/e2e/shared/package.json b/e2e/shared/package.json index 85889063ec..6efbfae4e6 100644 --- a/e2e/shared/package.json +++ b/e2e/shared/package.json @@ -3,10 +3,18 @@ "version": "1.0.0", "type": "module", "exports": { + ".": "./index.ts", "./node.js": "./node.ts", "./chainspec.js": "./chainspec.ts", "./sequencer.js": "./sequencer.ts", - "./client.js": "./client.ts" + "./client.js": "./client.ts", + "./logger.js": "./logger.ts", + "./devnet-client.js": "./devnet-client.ts", + "./address.js": "./address.ts", + "./transactions.js": "./transactions.ts", + "./balance.js": "./balance.ts", + "./subnet.js": "./subnet.ts", + "./staking.js": "./staking.ts" }, "dependencies": { "@polkadot/keyring": "catalog:", diff --git a/e2e/shared/staking.ts b/e2e/shared/staking.ts new file mode 100644 index 0000000000..080172ba33 --- /dev/null +++ b/e2e/shared/staking.ts @@ -0,0 +1,517 @@ +import { subtensor } from "@polkadot-api/descriptors"; +import { TypedApi } from "polkadot-api"; +import { KeyPair } from "@polkadot-labs/hdkd-helpers"; +import { getSignerFromKeypair, getAliceSigner } from "./address.js"; +import { waitForTransactionWithRetry } from "./transactions.js"; + +// U64F64 is a 128-bit fixed-point type with 64 fractional bits. +// Raw storage values must be divided by 2^64 to get the actual value. +const U64F64_FRACTIONAL_BITS = 64n; +const U64F64_MULTIPLIER = 1n << U64F64_FRACTIONAL_BITS; // 2^64 + +/** + * Convert a raw U64F64 storage value to its integer part (truncated). + */ +export function u64f64ToInt(raw: bigint): bigint { + return raw >> U64F64_FRACTIONAL_BITS; +} + +/** + * Convert an integer to U64F64 raw format for use in extrinsics. + */ +export function intToU64f64(value: bigint): bigint { + return value << U64F64_FRACTIONAL_BITS; +} + +/** + * Convert a raw U64F64 storage value to a decimal number for display. + */ +export function u64f64ToNumber(raw: bigint): number { + return Number(raw) / Number(U64F64_MULTIPLIER); +} + +export async function addStake( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + netuid: number, + amount: bigint +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.add_stake({ + hotkey: hotkey, + netuid: netuid, + amount_staked: amount, + }); + await waitForTransactionWithRetry(api, tx, signer, "add_stake"); +} + +export async function addStakeLimit( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + netuid: number, + amount: bigint, + limitPrice: bigint, + allowPartial: boolean +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.add_stake_limit({ + hotkey: hotkey, + netuid: netuid, + amount_staked: amount, + limit_price: limitPrice, + allow_partial: allowPartial, + }); + await waitForTransactionWithRetry(api, tx, signer, "add_stake_limit"); +} + +export async function removeStake( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + netuid: number, + amount: bigint +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.remove_stake({ + hotkey: hotkey, + netuid: netuid, + amount_unstaked: amount, + }); + await waitForTransactionWithRetry(api, tx, signer, "remove_stake"); +} + +export async function removeStakeLimit( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + netuid: number, + amount: bigint, + limitPrice: bigint, + allowPartial: boolean +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.remove_stake_limit({ + hotkey: hotkey, + netuid: netuid, + amount_unstaked: amount, + limit_price: limitPrice, + allow_partial: allowPartial, + }); + await waitForTransactionWithRetry(api, tx, signer, "remove_stake_limit"); +} + +export async function removeStakeFullLimit( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + netuid: number, + limitPrice: bigint | undefined +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.remove_stake_full_limit({ + hotkey: hotkey, + netuid: netuid, + limit_price: limitPrice, + }); + await waitForTransactionWithRetry(api, tx, signer, "remove_stake_full_limit"); +} + +export async function unstakeAll( + api: TypedApi, + coldkey: KeyPair, + hotkey: string +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.unstake_all({ + hotkey: hotkey, + }); + await waitForTransactionWithRetry(api, tx, signer, "unstake_all"); +} + +export async function unstakeAllAlpha( + api: TypedApi, + coldkey: KeyPair, + hotkey: string +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.unstake_all_alpha({ + hotkey: hotkey, + }); + await waitForTransactionWithRetry(api, tx, signer, "unstake_all_alpha"); +} + +/** + * Get stake shares (Alpha) for a hotkey/coldkey/netuid triplet. + * Returns the integer part of the U64F64 value. + */ +export async function getStake( + api: TypedApi, + hotkey: string, + coldkey: string, + netuid: number +): Promise { + const raw = await api.query.SubtensorModule.Alpha.getValue(hotkey, coldkey, netuid); + return u64f64ToInt(raw); +} + +/** + * Get raw stake shares (Alpha) in U64F64 format. + * Use this when you need the raw value for extrinsics like transfer_stake. + */ +export async function getStakeRaw( + api: TypedApi, + hotkey: string, + coldkey: string, + netuid: number +): Promise { + return await api.query.SubtensorModule.Alpha.getValue(hotkey, coldkey, netuid); +} + +export async function transferStake( + api: TypedApi, + originColdkey: KeyPair, + destinationColdkey: string, + hotkey: string, + originNetuid: number, + destinationNetuid: number, + amount: bigint +): Promise { + const signer = getSignerFromKeypair(originColdkey); + const tx = api.tx.SubtensorModule.transfer_stake({ + destination_coldkey: destinationColdkey, + hotkey: hotkey, + origin_netuid: originNetuid, + destination_netuid: destinationNetuid, + alpha_amount: amount, + }); + await waitForTransactionWithRetry(api, tx, signer, "transfer_stake"); +} + +export async function moveStake( + api: TypedApi, + coldkey: KeyPair, + originHotkey: string, + destinationHotkey: string, + originNetuid: number, + destinationNetuid: number, + amount: bigint +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.move_stake({ + origin_hotkey: originHotkey, + destination_hotkey: destinationHotkey, + origin_netuid: originNetuid, + destination_netuid: destinationNetuid, + alpha_amount: amount, + }); + await waitForTransactionWithRetry(api, tx, signer, "move_stake"); +} + +export async function swapStake( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + originNetuid: number, + destinationNetuid: number, + amount: bigint +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.swap_stake({ + hotkey: hotkey, + origin_netuid: originNetuid, + destination_netuid: destinationNetuid, + alpha_amount: amount, + }); + await waitForTransactionWithRetry(api, tx, signer, "swap_stake"); +} + +export async function swapStakeLimit( + api: TypedApi, + coldkey: KeyPair, + hotkey: string, + originNetuid: number, + destinationNetuid: number, + amount: bigint, + limitPrice: bigint, + allowPartial: boolean +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.swap_stake_limit({ + hotkey: hotkey, + origin_netuid: originNetuid, + destination_netuid: destinationNetuid, + alpha_amount: amount, + limit_price: limitPrice, + allow_partial: allowPartial, + }); + await waitForTransactionWithRetry(api, tx, signer, "swap_stake_limit"); +} + +export type RootClaimType = "Swap" | "Keep" | { type: "KeepSubnets"; subnets: number[] }; + +export async function getRootClaimType( + api: TypedApi, + coldkey: string +): Promise { + const result = await api.query.SubtensorModule.RootClaimType.getValue(coldkey); + if (result.type === "KeepSubnets") { + return { type: "KeepSubnets", subnets: result.value.subnets as number[] }; + } + return result.type as "Swap" | "Keep"; +} + +export async function setRootClaimType( + api: TypedApi, + coldkey: KeyPair, + claimType: RootClaimType +): Promise { + const signer = getSignerFromKeypair(coldkey); + let newRootClaimType; + if (typeof claimType === "string") { + newRootClaimType = { type: claimType, value: undefined }; + } else { + newRootClaimType = { type: "KeepSubnets", value: { subnets: claimType.subnets } }; + } + const tx = api.tx.SubtensorModule.set_root_claim_type({ + new_root_claim_type: newRootClaimType, + }); + await waitForTransactionWithRetry(api, tx, signer, "set_root_claim_type"); +} + +export async function claimRoot( + api: TypedApi, + coldkey: KeyPair, + subnets: number[] +): Promise { + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.claim_root({ + subnets: subnets, + }); + await waitForTransactionWithRetry(api, tx, signer, "claim_root"); +} + +export async function getNumRootClaims( + api: TypedApi +): Promise { + return await api.query.SubtensorModule.NumRootClaim.getValue(); +} + +export async function sudoSetNumRootClaims( + api: TypedApi, + newValue: bigint +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.SubtensorModule.sudo_set_num_root_claims({ + new_value: newValue, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_num_root_claims"); +} + +export async function getRootClaimThreshold( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.RootClaimableThreshold.getValue(netuid); +} + +export async function sudoSetRootClaimThreshold( + api: TypedApi, + netuid: number, + newValue: bigint +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.SubtensorModule.sudo_set_root_claim_threshold({ + netuid: netuid, + new_value: newValue, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_root_claim_threshold"); +} + +export async function getTempo( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.Tempo.getValue(netuid); +} + +export async function sudoSetTempo( + api: TypedApi, + netuid: number, + tempo: number +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_tempo({ + netuid: netuid, + tempo: tempo, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_tempo"); +} + +export async function waitForBlocks( + api: TypedApi, + numBlocks: number +): Promise { + const startBlock = await api.query.System.Number.getValue(); + const targetBlock = startBlock + numBlocks; + + while (true) { + const currentBlock = await api.query.System.Number.getValue(); + if (currentBlock >= targetBlock) { + break; + } + await new Promise((resolve) => setTimeout(resolve, 1000)); + } +} + +export async function getRootClaimable( + api: TypedApi, + hotkey: string +): Promise> { + const result = await api.query.SubtensorModule.RootClaimable.getValue(hotkey); + const claimableMap = new Map(); + for (const [netuid, amount] of result) { + claimableMap.set(netuid, amount); + } + return claimableMap; +} + +export async function getRootClaimed( + api: TypedApi, + netuid: number, + hotkey: string, + coldkey: string +): Promise { + return await api.query.SubtensorModule.RootClaimed.getValue(netuid, hotkey, coldkey); +} + +export async function isSubtokenEnabled( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.SubtokenEnabled.getValue(netuid); +} + +export async function sudoSetSubtokenEnabled( + api: TypedApi, + netuid: number, + enabled: boolean +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_subtoken_enabled({ + netuid: netuid, + subtoken_enabled: enabled, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_subtoken_enabled"); +} + +export async function isNetworkAdded( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.NetworksAdded.getValue(netuid); +} + +export async function getAdminFreezeWindow( + api: TypedApi +): Promise { + return await api.query.SubtensorModule.AdminFreezeWindow.getValue(); +} + +export async function sudoSetAdminFreezeWindow( + api: TypedApi, + window: number +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_admin_freeze_window({ + window: window, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_admin_freeze_window"); +} + +export async function sudoSetEmaPriceHalvingPeriod( + api: TypedApi, + netuid: number, + emaPriceHalvingPeriod: number +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_ema_price_halving_period({ + netuid: netuid, + ema_halving: BigInt(emaPriceHalvingPeriod), + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_ema_price_halving_period"); +} + +export async function sudoSetLockReductionInterval( + api: TypedApi, + interval: number +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_lock_reduction_interval({ + interval: BigInt(interval), + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_lock_reduction_interval"); +} + +export async function sudoSetSubnetMovingAlpha( + api: TypedApi, + alpha: bigint +): Promise { + const alice = getAliceSigner(); + const internalCall = api.tx.AdminUtils.sudo_set_subnet_moving_alpha({ + alpha: alpha, + }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "sudo_set_subnet_moving_alpha"); +} + +// Debug helpers for claim_root investigation +export async function getSubnetTAO( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.SubnetTAO.getValue(netuid); +} + +export async function getSubnetMovingPrice( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.SubnetMovingPrice.getValue(netuid); +} + +export async function getPendingRootAlphaDivs( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.PendingRootAlphaDivs.getValue(netuid); +} + +export async function getTaoWeight( + api: TypedApi +): Promise { + return await api.query.SubtensorModule.TaoWeight.getValue(); +} + +export async function getSubnetAlphaIn( + api: TypedApi, + netuid: number +): Promise { + return await api.query.SubtensorModule.SubnetAlphaIn.getValue(netuid); +} + +export async function getTotalHotkeyAlpha( + api: TypedApi, + hotkey: string, + netuid: number +): Promise { + return await api.query.SubtensorModule.TotalHotkeyAlpha.getValue(hotkey, netuid); +} diff --git a/e2e/shared/subnet.ts b/e2e/shared/subnet.ts new file mode 100644 index 0000000000..510779c19e --- /dev/null +++ b/e2e/shared/subnet.ts @@ -0,0 +1,72 @@ +import { subtensor } from "@polkadot-api/descriptors"; +import { TypedApi } from "polkadot-api"; +import { KeyPair } from "@polkadot-labs/hdkd-helpers"; +import { getAliceSigner, getSignerFromKeypair, convertPublicKeyToSs58 } from "./address.js"; +import { waitForTransactionWithRetry } from "./transactions.js"; +import { log } from "./logger.js"; + +export async function addNewSubnetwork( + api: TypedApi, + hotkey: KeyPair, + coldkey: KeyPair +): Promise { + const alice = getAliceSigner(); + const totalNetworks = await api.query.SubtensorModule.TotalNetworks.getValue(); + + // Disable network rate limit for testing + const rateLimit = await api.query.SubtensorModule.NetworkRateLimit.getValue(); + if (rateLimit !== BigInt(0)) { + const internalCall = api.tx.AdminUtils.sudo_set_network_rate_limit({ rate_limit: BigInt(0) }); + const tx = api.tx.Sudo.sudo({ call: internalCall.decodedCall }); + await waitForTransactionWithRetry(api, tx, alice, "set_network_rate_limit"); + } + + const signer = getSignerFromKeypair(coldkey); + const registerNetworkTx = api.tx.SubtensorModule.register_network({ + hotkey: convertPublicKeyToSs58(hotkey.publicKey), + }); + await waitForTransactionWithRetry(api, registerNetworkTx, signer, "register_network"); + + return totalNetworks; +} + +export async function burnedRegister( + api: TypedApi, + netuid: number, + hotkeyAddress: string, + coldkey: KeyPair +): Promise { + const registered = await api.query.SubtensorModule.Uids.getValue(netuid, hotkeyAddress); + if (registered !== undefined) { + log.tx("burned_register", `skipped: hotkey already registered on netuid ${netuid}`); + return; + } + + await new Promise((resolve) => setTimeout(resolve, 1000)); + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.burned_register({ hotkey: hotkeyAddress, netuid: netuid }); + await waitForTransactionWithRetry(api, tx, signer, "burned_register"); +} + +export async function startCall( + api: TypedApi, + netuid: number, + coldkey: KeyPair +): Promise { + const registerBlock = Number(await api.query.SubtensorModule.NetworkRegisteredAt.getValue(netuid)); + let currentBlock = await api.query.System.Number.getValue(); + const duration = Number(await api.constants.SubtensorModule.InitialStartCallDelay); + + while (currentBlock - registerBlock <= duration) { + await new Promise((resolve) => setTimeout(resolve, 2000)); + currentBlock = await api.query.System.Number.getValue(); + } + + await new Promise((resolve) => setTimeout(resolve, 2000)); + + const signer = getSignerFromKeypair(coldkey); + const tx = api.tx.SubtensorModule.start_call({ netuid: netuid }); + await waitForTransactionWithRetry(api, tx, signer, "start_call"); + + await new Promise((resolve) => setTimeout(resolve, 1000)); +} diff --git a/e2e/shared/transactions.ts b/e2e/shared/transactions.ts new file mode 100644 index 0000000000..27e55749f4 --- /dev/null +++ b/e2e/shared/transactions.ts @@ -0,0 +1,71 @@ +import { subtensor } from "@polkadot-api/descriptors"; +import { TypedApi, Transaction, PolkadotSigner } from "polkadot-api"; +import { log } from "./logger.js"; + +export const TX_TIMEOUT = 5000; + +export async function waitForTransactionWithRetry( + api: TypedApi, + tx: Transaction<{}, string, string, void>, + signer: PolkadotSigner, + label: string, + maxRetries = 1 +): Promise { + let success = false; + let retries = 0; + + while (!success && retries < maxRetries) { + await waitForTransactionCompletion(tx, signer, label) + .then(() => { + success = true; + }) + .catch((error) => { + log.tx(label, `error: ${error}`); + }); + await new Promise((resolve) => setTimeout(resolve, 1000)); + retries += 1; + } + + if (!success) { + throw new Error(`[${label}] failed after ${maxRetries} retries`); + } +} + +async function waitForTransactionCompletion( + tx: Transaction<{}, string, string, void>, + signer: PolkadotSigner, + label: string +): Promise { + return new Promise((resolve, reject) => { + let txHash = ""; + const subscription = tx.signSubmitAndWatch(signer).subscribe({ + next(value) { + txHash = value.txHash; + if (value.type === "finalized") { + log.tx(label, `finalized: ${value.txHash}`); + subscription.unsubscribe(); + clearTimeout(timeoutId); + if (!value.ok) { + const errorStr = JSON.stringify(value.dispatchError, null, 2); + log.tx(label, `dispatch error: ${errorStr}`); + reject(new Error(`[${label}] dispatch error: ${errorStr}`)); + } else { + resolve(); + } + } + }, + error(err) { + log.error(label, `failed: ${err}`); + subscription.unsubscribe(); + clearTimeout(timeoutId); + reject(err); + }, + }); + + const timeoutId = setTimeout(() => { + subscription.unsubscribe(); + log.tx(label, `timeout for tx: ${txHash}`); + reject(new Error(`[${label}] timeout`)); + }, TX_TIMEOUT); + }); +} diff --git a/e2e/staking/package.json b/e2e/staking/package.json new file mode 100644 index 0000000000..5320fad9e3 --- /dev/null +++ b/e2e/staking/package.json @@ -0,0 +1,23 @@ +{ + "name": "e2e-staking", + "version": "1.0.0", + "type": "module", + "license": "ISC", + "scripts": { + "test": "tsx node_modules/mocha/bin/mocha.js --timeout 999999 --retries 1 --file setup.ts --extension ts \"test/**/*.ts\"" + }, + "dependencies": { + "e2e-shared": "workspace:*", + "mocha": "^11.1.0", + "tsx": "^4.21.0" + }, + "devDependencies": { + "@types/mocha": "^10.0.10", + "@types/node": "catalog:" + }, + "prettier": { + "singleQuote": false, + "trailingComma": "all", + "printWidth": 120 + } +} diff --git a/e2e/staking/setup.ts b/e2e/staking/setup.ts new file mode 100644 index 0000000000..71c58ab0ca --- /dev/null +++ b/e2e/staking/setup.ts @@ -0,0 +1,112 @@ +import { rm, mkdir } from "node:fs/promises"; +import { + generateChainSpec, + startNode, + started, + peerCount, + finalizedBlocks, + stop, + nodeLog, + destroyClient, + getDevnetApi, + sudoSetLockReductionInterval, + log, + type Node, + type NodeOptions, +} from "e2e-shared"; + +const CHAIN_SPEC_PATH = "/tmp/subtensor-e2e/staking-tests/chain-spec.json"; +const BASE_DIR = "/tmp/subtensor-e2e/staking-tests"; + +const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; + +const nodes: Node[] = []; + +// Use built-in validators "one" and "two" - they have auto-injected keys +type NodeConfig = Omit; + +const NODE_CONFIGS: NodeConfig[] = [ + { name: "one", port: 30433, rpcPort: 9944, basePath: `${BASE_DIR}/one`, validator: true }, + { name: "two", port: 30434, rpcPort: 9945, basePath: `${BASE_DIR}/two`, validator: true }, +]; + +async function startNetwork() { + nodeLog(`Setting up ${NODE_CONFIGS.length}-node network for staking E2E tests`); + nodeLog(`Binary path: ${BINARY_PATH}`); + + await mkdir(BASE_DIR, { recursive: true }); + + // Generate local chain spec (built-in has One and Two as authorities) + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH); + + // Clean up old base paths + for (const config of NODE_CONFIGS) { + await rm(config.basePath, { recursive: true, force: true }); + } + + // Start all validator nodes + for (const config of NODE_CONFIGS) { + const node = startNode({ + binaryPath: BINARY_PATH, + chainSpec: CHAIN_SPEC_PATH, + ...config, + }); + nodes.push(node); + await started(node); + } + + const all = Promise.all.bind(Promise); + + // Wait for nodes to peer with each other + await all(nodes.map((n) => peerCount(n, nodes.length - 1))); + nodeLog("All nodes peered"); + + // Wait for block finalization + await all(nodes.map((n) => finalizedBlocks(n, 3))); + nodeLog("All nodes finalized block 3"); +} + +async function stopNetwork() { + nodeLog("Stopping staking-tests network"); + + for (const node of nodes) { + try { + await stop(node); + } catch (e) { + nodeLog(`Warning: failed to stop ${node.name}: ${e}`); + } + } + + // Clean up the suite directory + await rm(BASE_DIR, { recursive: true, force: true }); + + nodeLog("Network stopped"); +} + +before(async function () { + // Increase timeout for network startup (2 minutes) + this.timeout(120000); + + // Start the network + await startNetwork(); + + // Connect to the network and configure for tests + const api = await getDevnetApi(); + log.info("Setup: set lock reduction interval to 1 for instant lock cost decay"); + + // Set lock reduction interval to 1 block to make network registration lock cost decay instantly. + // By default, the lock cost doubles with each subnet registration and decays over 14 days (100,800 blocks). + // Without this, tests creating multiple subnets would fail with CannotAffordLockCost. + await sudoSetLockReductionInterval(api, 1); +}); + +after(async function () { + // Increase timeout for cleanup + this.timeout(30000); + + // Destroy the API client first + destroyClient(); + + // Stop the network + await stopNetwork(); +}); diff --git a/e2e/staking/test/add-stake-limit.test.ts b/e2e/staking/test/add-stake-limit.test.ts new file mode 100644 index 0000000000..991cccc62c --- /dev/null +++ b/e2e/staking/test/add-stake-limit.test.ts @@ -0,0 +1,66 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStakeLimit, + getStake, + tao, + log, +} from "e2e-shared"; + +describe("▶ add_stake_limit extrinsic", () => { + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + let netuid: number; + + before(async () => { + const api = await getDevnetApi(); + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + }); + + it("should add stake with price limit (allow partial)", async () => { + const api = await getDevnetApi(); + + // Get initial stake + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + + // Add stake with limit price and allow partial fills, limit_price is MAX TAO per Alpha willing to pay. + const stakeAmount = tao(44); + const limitPrice = tao(6); + await addStakeLimit(api, coldkey, hotkeyAddress, netuid, stakeAmount, limitPrice, true); + + // Verify stake increased + const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + + log.info("✅ Successfully added stake with limit (allow partial)."); + }); + + it("should add stake with price limit (fill or kill)", async () => { + const api = await getDevnetApi(); + + // Get initial stake + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + + // Add stake with limit price (fill or kill mode), limit_price is MAX TAO per Alpha willing to pay + const stakeAmount = tao(44); + const limitPrice = tao(6); + await addStakeLimit(api, coldkey, hotkeyAddress, netuid, stakeAmount, limitPrice, false); + + // Verify stake increased + const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + + log.info("✅ Successfully added stake with limit (fill or kill)."); + }); +}); diff --git a/e2e/staking/test/add-stake.test.ts b/e2e/staking/test/add-stake.test.ts new file mode 100644 index 0000000000..0a0cfe756c --- /dev/null +++ b/e2e/staking/test/add-stake.test.ts @@ -0,0 +1,47 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + getStake, + tao, + log, +} from "e2e-shared"; + +describe("▶ add_stake extrinsic", () => { + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + let netuid: number; + + before(async () => { + const api = await getDevnetApi(); + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + }); + + it("should add stake to a hotkey", async () => { + const api = await getDevnetApi(); + + // Get initial stake + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + + // Add stake + const stakeAmount = tao(100); + await addStake(api, coldkey, hotkeyAddress, netuid, stakeAmount); + + // Verify stake increased + const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + + log.info("✅ Successfully added stake."); + }); +}); diff --git a/e2e/staking/test/claim-root.test.ts b/e2e/staking/test/claim-root.test.ts new file mode 100644 index 0000000000..cd0d8fec8f --- /dev/null +++ b/e2e/staking/test/claim-root.test.ts @@ -0,0 +1,477 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + startCall, + getRootClaimType, + setRootClaimType, + getNumRootClaims, + sudoSetNumRootClaims, + getRootClaimThreshold, + sudoSetRootClaimThreshold, + addStake, + getStake, + claimRoot, + getTempo, + sudoSetTempo, + waitForBlocks, + getRootClaimable, + getRootClaimed, + isSubtokenEnabled, + sudoSetSubtokenEnabled, + isNetworkAdded, + sudoSetAdminFreezeWindow, + sudoSetEmaPriceHalvingPeriod, + getSubnetTAO, + getSubnetMovingPrice, + getPendingRootAlphaDivs, + getTaoWeight, + getSubnetAlphaIn, + getTotalHotkeyAlpha, + sudoSetSubnetMovingAlpha, + tao, + log, +} from "e2e-shared"; + +describe("▶ set_root_claim_type extrinsic", () => { + it("should set root claim type to Keep", async () => { + const api = await getDevnetApi(); + + const coldkey = getRandomSubstrateKeypair(); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, coldkeyAddress); + + // Check initial claim type (default is "Swap") + const claimTypeBefore = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type before: ${claimTypeBefore}`); + + // Set root claim type to Keep + await setRootClaimType(api, coldkey, "Keep"); + + // Verify claim type changed + const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type after: ${claimTypeAfter}`); + + assert.strictEqual(claimTypeAfter, "Keep", `Expected claim type to be Keep, got ${claimTypeAfter}`); + + log.info("✅ Successfully set root claim type to Keep."); + }); + + it("should set root claim type to Swap", async () => { + const api = await getDevnetApi(); + + const coldkey = getRandomSubstrateKeypair(); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, coldkeyAddress); + + // First set to Keep so we can verify the change to Swap + await setRootClaimType(api, coldkey, "Keep"); + const claimTypeBefore = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type before: ${claimTypeBefore}`); + assert.strictEqual(claimTypeBefore, "Keep", "Should be Keep before changing to Swap"); + + // Set root claim type to Swap + await setRootClaimType(api, coldkey, "Swap"); + + // Verify claim type changed + const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type after: ${claimTypeAfter}`); + + assert.strictEqual(claimTypeAfter, "Swap", `Expected claim type to be Swap, got ${claimTypeAfter}`); + + log.info("✅ Successfully set root claim type to Swap."); + }); + + it("should set root claim type to KeepSubnets", async () => { + const api = await getDevnetApi(); + + const coldkey = getRandomSubstrateKeypair(); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, coldkeyAddress); + + // Check initial claim type (default is "Swap") + const claimTypeBefore = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type before: ${JSON.stringify(claimTypeBefore)}`); + + // Set root claim type to KeepSubnets with specific subnets + const subnetsToKeep = [1, 2]; + await setRootClaimType(api, coldkey, { type: "KeepSubnets", subnets: subnetsToKeep }); + + // Verify claim type changed + const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); + log.info(`Root claim type after: ${JSON.stringify(claimTypeAfter)}`); + + assert.strictEqual(typeof claimTypeAfter, "object", "Expected claim type to be an object"); + assert.strictEqual((claimTypeAfter as { type: string }).type, "KeepSubnets", "Expected type to be KeepSubnets"); + assert.deepStrictEqual((claimTypeAfter as { subnets: number[] }).subnets, subnetsToKeep, "Expected subnets to match"); + + log.info("✅ Successfully set root claim type to KeepSubnets."); + }); +}); + +describe("▶ sudo_set_num_root_claims extrinsic", () => { + it("should set num root claims", async () => { + const api = await getDevnetApi(); + + // Get initial value + const numClaimsBefore = await getNumRootClaims(api); + log.info(`Num root claims before: ${numClaimsBefore}`); + + // Set new value (different from current) + const newValue = numClaimsBefore + 5n; + await sudoSetNumRootClaims(api, newValue); + + // Verify value changed + const numClaimsAfter = await getNumRootClaims(api); + log.info(`Num root claims after: ${numClaimsAfter}`); + + assert.strictEqual(numClaimsAfter, newValue, `Expected num root claims to be ${newValue}, got ${numClaimsAfter}`); + + log.info("✅ Successfully set num root claims."); + }); +}); + +describe("▶ sudo_set_root_claim_threshold extrinsic", () => { + it("should set root claim threshold for subnet", async () => { + const api = await getDevnetApi(); + + // Create a subnet to test with + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + + const netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + + // Get initial threshold + const thresholdBefore = await getRootClaimThreshold(api, netuid); + log.info(`Root claim threshold before: ${thresholdBefore}`); + + // Set new threshold value (MAX_ROOT_CLAIM_THRESHOLD is 10_000_000) + // The value is stored as I96F32 fixed-point with 32 fractional bits + const newThreshold = 1_000_000n; + await sudoSetRootClaimThreshold(api, netuid, newThreshold); + + // Verify threshold changed + // I96F32 encoding: newThreshold * 2^32 = 1_000_000 * 4294967296 = 4294967296000000 + const thresholdAfter = await getRootClaimThreshold(api, netuid); + log.info(`Root claim threshold after: ${thresholdAfter}`); + + const expectedStoredValue = newThreshold * (1n << 32n); // I96F32 encoding + assert.strictEqual(thresholdAfter, expectedStoredValue, `Expected threshold to be ${expectedStoredValue}, got ${thresholdAfter}`); + + log.info("✅ Successfully set root claim threshold."); + }); +}); + +// Root subnet netuid is 0 +const ROOT_NETUID = 0; + +describe("▶ claim_root extrinsic", () => { + it("should claim root dividends with Keep type (stake to dynamic subnet)", async () => { + const api = await getDevnetApi(); + + // Setup accounts + // - owner1Hotkey/owner1Coldkey: subnet 1 owner + // - owner2Hotkey/owner2Coldkey: subnet 2 owner (needed for root_sell_flag) + // - stakerColdkey: the coldkey that will stake on root and claim dividends + const owner1Hotkey = getRandomSubstrateKeypair(); + const owner1Coldkey = getRandomSubstrateKeypair(); + const owner2Hotkey = getRandomSubstrateKeypair(); + const owner2Coldkey = getRandomSubstrateKeypair(); + const stakerColdkey = getRandomSubstrateKeypair(); + const owner1HotkeyAddress = convertPublicKeyToSs58(owner1Hotkey.publicKey); + const owner1ColdkeyAddress = convertPublicKeyToSs58(owner1Coldkey.publicKey); + const owner2HotkeyAddress = convertPublicKeyToSs58(owner2Hotkey.publicKey); + const owner2ColdkeyAddress = convertPublicKeyToSs58(owner2Coldkey.publicKey); + const stakerColdkeyAddress = convertPublicKeyToSs58(stakerColdkey.publicKey); + + // Fund all accounts + await forceSetBalance(api, owner1HotkeyAddress); + await forceSetBalance(api, owner1ColdkeyAddress); + await forceSetBalance(api, owner2HotkeyAddress); + await forceSetBalance(api, owner2ColdkeyAddress); + await forceSetBalance(api, stakerColdkeyAddress); + + // Disable admin freeze window to allow enabling subtoken for ROOT + await sudoSetAdminFreezeWindow(api, 0); + log.info("Admin freeze window set to 0"); + + // Enable subtoken for ROOT subnet (required for staking on root) + const subtokenEnabledBefore = await isSubtokenEnabled(api, ROOT_NETUID); + if (!subtokenEnabledBefore) { + await sudoSetSubtokenEnabled(api, ROOT_NETUID, true); + const subtokenEnabledAfter = await isSubtokenEnabled(api, ROOT_NETUID); + log.info(`ROOT subtoken enabled: ${subtokenEnabledAfter}`); + assert.strictEqual(subtokenEnabledAfter, true, "ROOT subtoken should be enabled"); + } + + // Create TWO dynamic subnets - needed for root_sell_flag to become true + // root_sell_flag = sum(moving_prices) > 1.0 + // Each subnet's moving price approaches 1.0 via EMA, so 2 subnets can exceed threshold + const netuid1 = await addNewSubnetwork(api, owner1Hotkey, owner1Coldkey); + await startCall(api, netuid1, owner1Coldkey); + log.info(`Created subnet 1 with netuid: ${netuid1}`); + + const netuid2 = await addNewSubnetwork(api, owner2Hotkey, owner2Coldkey); + await startCall(api, netuid2, owner2Coldkey); + log.info(`Created subnet 2 with netuid: ${netuid2}`); + + // Set short tempo for faster emission distribution + await sudoSetTempo(api, netuid1, 1); + await sudoSetTempo(api, netuid2, 1); + log.info("Set tempo to 1 for both subnets"); + + // Set EMA price halving period to 1 for fast moving price convergence + // Formula: alpha = SubnetMovingAlpha * blocks/(blocks + halving_time) + // With halving_time=1: after 10 blocks, alpha ≈ 0.91, moving price ≈ 0.91 + // With 2 subnets at ~0.9 each, total > 1.0 enabling root_sell_flag + await sudoSetEmaPriceHalvingPeriod(api, netuid1, 1); + await sudoSetEmaPriceHalvingPeriod(api, netuid2, 1); + log.info("Set EMA halving period to 1 for fast price convergence"); + + // Set SubnetMovingAlpha to 1.0 (default is 0.000003 which is way too slow) + // I96F32 encoding: 1.0 * 2^32 = 4294967296 + const movingAlpha = BigInt(4294967296); // 1.0 in I96F32 + await sudoSetSubnetMovingAlpha(api, movingAlpha); + log.info("Set SubnetMovingAlpha to 1.0 for fast EMA convergence"); + + // Set threshold to 0 to allow claiming any amount + await sudoSetRootClaimThreshold(api, netuid1, 0n); + await sudoSetRootClaimThreshold(api, netuid2, 0n); + + // Add stake to ROOT subnet for the staker (makes them eligible for root dividends) + const rootStakeAmount = tao(100); + await addStake(api, stakerColdkey, owner1HotkeyAddress, ROOT_NETUID, rootStakeAmount); + log.info(`Added ${rootStakeAmount} stake to root subnet for staker`); + + // Verify root stake was added + const rootStake = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, ROOT_NETUID); + log.info(`Root stake: ${rootStake}`); + assert.ok(rootStake > 0n, "Should have stake on root subnet"); + + // Add stake to both dynamic subnets (owner stake to enable emissions flow) + const subnetStakeAmount = tao(50); + await addStake(api, owner1Coldkey, owner1HotkeyAddress, netuid1, subnetStakeAmount); + await addStake(api, owner2Coldkey, owner2HotkeyAddress, netuid2, subnetStakeAmount); + log.info(`Added ${subnetStakeAmount} owner stake to subnets ${netuid1} and ${netuid2}`); + + // Get initial stake on subnet 1 for the staker (should be 0) + const stakerSubnetStakeBefore = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, netuid1); + log.info(`Staker subnet stake before claim: ${stakerSubnetStakeBefore}`); + + // Set root claim type to Keep (keep alpha on subnet instead of swapping to TAO) + await setRootClaimType(api, stakerColdkey, "Keep"); + const claimType = await getRootClaimType(api, stakerColdkeyAddress); + log.info(`Root claim type: ${claimType}`); + assert.strictEqual(claimType, "Keep", "Should have Keep claim type"); + + // Wait for blocks to: + // 1. Allow moving prices to converge (need sum > 1.0 for root_sell_flag) + // 2. Accumulate PendingRootAlphaDivs + // 3. Distribute emissions at tempo boundary + const blocksToWait = 25; + log.info(`Waiting for ${blocksToWait} blocks for moving prices to converge and emissions to accumulate...`); + await waitForBlocks(api, blocksToWait); + + // Debug: Check key storage values + const subnetTaoRoot = await getSubnetTAO(api, ROOT_NETUID); + const subnetTao1 = await getSubnetTAO(api, netuid1); + const subnetTao2 = await getSubnetTAO(api, netuid2); + log.info(`SubnetTAO - ROOT: ${subnetTaoRoot}, netuid1: ${subnetTao1}, netuid2: ${subnetTao2}`); + + const movingPrice1 = await getSubnetMovingPrice(api, netuid1); + const movingPrice2 = await getSubnetMovingPrice(api, netuid2); + log.info(`SubnetMovingPrice - netuid1: ${movingPrice1}, netuid2: ${movingPrice2}`); + // Note: Moving price is I96F32, so divide by 2^32 to get actual value + const mp1Float = Number(movingPrice1) / 2**32; + const mp2Float = Number(movingPrice2) / 2**32; + log.info(`SubnetMovingPrice (float) - netuid1: ${mp1Float}, netuid2: ${mp2Float}, sum: ${mp1Float + mp2Float}`); + + const pendingDivs1 = await getPendingRootAlphaDivs(api, netuid1); + const pendingDivs2 = await getPendingRootAlphaDivs(api, netuid2); + log.info(`PendingRootAlphaDivs - netuid1: ${pendingDivs1}, netuid2: ${pendingDivs2}`); + + const taoWeight = await getTaoWeight(api); + log.info(`TaoWeight: ${taoWeight}`); + + const alphaIn1 = await getSubnetAlphaIn(api, netuid1); + const alphaIn2 = await getSubnetAlphaIn(api, netuid2); + log.info(`SubnetAlphaIn - netuid1: ${alphaIn1}, netuid2: ${alphaIn2}`); + + const totalHotkeyAlpha1 = await getTotalHotkeyAlpha(api, owner1HotkeyAddress, netuid1); + log.info(`TotalHotkeyAlpha for hotkey1 on netuid1: ${totalHotkeyAlpha1}`); + + // Check if there are any claimable dividends + const claimable = await getRootClaimable(api, owner1HotkeyAddress); + const claimableStr = [...claimable.entries()].map(([k, v]) => `[${k}: ${v.toString()}]`).join(", "); + log.info(`RootClaimable entries for hotkey1: ${claimableStr || "(none)"}`); + + // Call claim_root to claim dividends for subnet 1 + await claimRoot(api, stakerColdkey, [netuid1]); + log.info("Called claim_root"); + + // Get stake on subnet 1 after claim + const stakerSubnetStakeAfter = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, netuid1); + log.info(`Staker subnet stake after claim: ${stakerSubnetStakeAfter}`); + + // Check RootClaimed value + const rootClaimed = await getRootClaimed(api, netuid1, owner1HotkeyAddress, stakerColdkeyAddress); + log.info(`RootClaimed value: ${rootClaimed}`); + + // Verify dividends were claimed + assert.ok( + stakerSubnetStakeAfter > stakerSubnetStakeBefore, + `Stake should increase after claiming root dividends: before=${stakerSubnetStakeBefore}, after=${stakerSubnetStakeAfter}` + ); + log.info(`✅ Root claim successful: stake increased from ${stakerSubnetStakeBefore} to ${stakerSubnetStakeAfter}`); + }); + + it("should claim root dividends with Swap type (swap to TAO on ROOT)", async () => { + const api = await getDevnetApi(); + + // Setup accounts + // - owner1Hotkey/owner1Coldkey: subnet 1 owner + // - owner2Hotkey/owner2Coldkey: subnet 2 owner (needed for root_sell_flag) + // - stakerColdkey: the coldkey that will stake on root and claim dividends + const owner1Hotkey = getRandomSubstrateKeypair(); + const owner1Coldkey = getRandomSubstrateKeypair(); + const owner2Hotkey = getRandomSubstrateKeypair(); + const owner2Coldkey = getRandomSubstrateKeypair(); + const stakerColdkey = getRandomSubstrateKeypair(); + const owner1HotkeyAddress = convertPublicKeyToSs58(owner1Hotkey.publicKey); + const owner1ColdkeyAddress = convertPublicKeyToSs58(owner1Coldkey.publicKey); + const owner2HotkeyAddress = convertPublicKeyToSs58(owner2Hotkey.publicKey); + const owner2ColdkeyAddress = convertPublicKeyToSs58(owner2Coldkey.publicKey); + const stakerColdkeyAddress = convertPublicKeyToSs58(stakerColdkey.publicKey); + + // Fund all accounts + await forceSetBalance(api, owner1HotkeyAddress); + await forceSetBalance(api, owner1ColdkeyAddress); + await forceSetBalance(api, owner2HotkeyAddress); + await forceSetBalance(api, owner2ColdkeyAddress); + await forceSetBalance(api, stakerColdkeyAddress); + + // Disable admin freeze window to allow enabling subtoken for ROOT + await sudoSetAdminFreezeWindow(api, 0); + log.info("Admin freeze window set to 0"); + + // Create TWO dynamic subnets + const netuid1 = await addNewSubnetwork(api, owner1Hotkey, owner1Coldkey); + await startCall(api, netuid1, owner1Coldkey); + log.info(`Created subnet 1 with netuid: ${netuid1}`); + + const netuid2 = await addNewSubnetwork(api, owner2Hotkey, owner2Coldkey); + await startCall(api, netuid2, owner2Coldkey); + log.info(`Created subnet 2 with netuid: ${netuid2}`); + + // Set short tempo for faster emission distribution + await sudoSetTempo(api, netuid1, 1); + await sudoSetTempo(api, netuid2, 1); + log.info("Set tempo to 1 for both subnets"); + + // Set EMA price halving period to 1 for fast moving price convergence + await sudoSetEmaPriceHalvingPeriod(api, netuid1, 1); + await sudoSetEmaPriceHalvingPeriod(api, netuid2, 1); + log.info("Set EMA halving period to 1 for fast price convergence"); + + // Set SubnetMovingAlpha to 1.0 (default is 0.000003 which is way too slow) + // I96F32 encoding: 1.0 * 2^32 = 4294967296 + const movingAlpha = BigInt(4294967296); // 1.0 in I96F32 + await sudoSetSubnetMovingAlpha(api, movingAlpha); + log.info("Set SubnetMovingAlpha to 1.0 for fast EMA convergence"); + + // Set threshold to 0 to allow claiming any amount + await sudoSetRootClaimThreshold(api, netuid1, 0n); + await sudoSetRootClaimThreshold(api, netuid2, 0n); + + // Add stake to ROOT subnet for the staker + const rootStakeAmount = tao(100); + await addStake(api, stakerColdkey, owner1HotkeyAddress, ROOT_NETUID, rootStakeAmount); + log.info(`Added ${rootStakeAmount} stake to root subnet for staker`); + + // Get initial ROOT stake + const rootStakeBefore = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, ROOT_NETUID); + log.info(`Root stake before: ${rootStakeBefore}`); + + // Add stake to both dynamic subnets (owner stake to enable emissions flow) + const subnetStakeAmount = tao(50); + await addStake(api, owner1Coldkey, owner1HotkeyAddress, netuid1, subnetStakeAmount); + await addStake(api, owner2Coldkey, owner2HotkeyAddress, netuid2, subnetStakeAmount); + log.info(`Added ${subnetStakeAmount} owner stake to subnets ${netuid1} and ${netuid2}`); + + // Set root claim type to Swap (swap alpha to TAO and add to ROOT stake) + await setRootClaimType(api, stakerColdkey, "Swap"); + const claimType = await getRootClaimType(api, stakerColdkeyAddress); + log.info(`Root claim type: ${claimType}`); + assert.strictEqual(claimType, "Swap", "Should have Swap claim type"); + + // Wait for blocks + const blocksToWait = 25; + log.info(`Waiting for ${blocksToWait} blocks for emissions to accumulate...`); + await waitForBlocks(api, blocksToWait); + + // Debug: Check moving prices + const movingPrice1 = await getSubnetMovingPrice(api, netuid1); + const movingPrice2 = await getSubnetMovingPrice(api, netuid2); + const mp1Float = Number(movingPrice1) / 2**32; + const mp2Float = Number(movingPrice2) / 2**32; + log.info(`SubnetMovingPrice (float) - netuid1: ${mp1Float}, netuid2: ${mp2Float}, sum: ${mp1Float + mp2Float}`); + + const pendingDivs1 = await getPendingRootAlphaDivs(api, netuid1); + log.info(`PendingRootAlphaDivs netuid1: ${pendingDivs1}`); + + // Check claimable + const claimable = await getRootClaimable(api, owner1HotkeyAddress); + const claimableStr = [...claimable.entries()].map(([k, v]) => `[${k}: ${v.toString()}]`).join(", "); + log.info(`RootClaimable entries for hotkey1: ${claimableStr || "(none)"}`); + + // Call claim_root - with Swap type, dividends are swapped to TAO and added to ROOT stake + await claimRoot(api, stakerColdkey, [netuid1]); + log.info("Called claim_root with Swap type"); + + // Get ROOT stake after claim + const rootStakeAfter = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, ROOT_NETUID); + log.info(`Root stake after claim: ${rootStakeAfter}`); + + // Check RootClaimed value + const rootClaimed = await getRootClaimed(api, netuid1, owner1HotkeyAddress, stakerColdkeyAddress); + log.info(`RootClaimed value: ${rootClaimed}`); + + // With Swap type, ROOT stake should increase (not dynamic subnet stake) + assert.ok( + rootStakeAfter > rootStakeBefore, + `ROOT stake should increase after claiming with Swap type: before=${rootStakeBefore}, after=${rootStakeAfter}` + ); + log.info(`✅ Root claim with Swap successful: ROOT stake increased from ${rootStakeBefore} to ${rootStakeAfter}`); + }); + + it("should handle claim_root when no dividends are available", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const coldkey = getRandomSubstrateKeypair(); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, coldkeyAddress); + + // Set root claim type to Keep + await setRootClaimType(api, coldkey, "Keep"); + + // Try to claim on a non-existent subnet (should succeed but be a no-op) + // According to Rust tests, claiming on unrelated subnets returns Ok but does nothing + await claimRoot(api, coldkey, [1]); + + log.info("✅ claim_root with no dividends executed successfully (no-op)."); + }); +}); diff --git a/e2e/staking/test/move-stake.test.ts b/e2e/staking/test/move-stake.test.ts new file mode 100644 index 0000000000..efe8e48a58 --- /dev/null +++ b/e2e/staking/test/move-stake.test.ts @@ -0,0 +1,135 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + moveStake, + getStake, + getStakeRaw, + tao, + log, +} from "e2e-shared"; + +describe("▶ move_stake extrinsic", () => { + it("should move stake to another hotkey across subnets", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const originHotkey = getRandomSubstrateKeypair(); + const destinationHotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const originHotkeyAddress = convertPublicKeyToSs58(originHotkey.publicKey); + const destinationHotkeyAddress = convertPublicKeyToSs58(destinationHotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, originHotkeyAddress); + await forceSetBalance(api, destinationHotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + + // Create first subnet with origin hotkey + const netuid1 = await addNewSubnetwork(api, originHotkey, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet with destination hotkey + const netuid2 = await addNewSubnetwork(api, destinationHotkey, coldkey); + await startCall(api, netuid2, coldkey); + + // Add stake to origin hotkey on first subnet + await addStake(api, coldkey, originHotkeyAddress, netuid1, tao(200)); + + // Get initial stakes (converted from U64F64 for display) + const originStakeBefore = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid1); + const destStakeBefore = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid2); + assert.ok(originStakeBefore > 0n, "Origin hotkey should have stake before move"); + + log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); + + // Move stake to destination hotkey on different subnet + // Use raw U64F64 value for the extrinsic + const originStakeRaw = await getStakeRaw(api, originHotkeyAddress, coldkeyAddress, netuid1); + const moveAmount = originStakeRaw / 2n; + await moveStake( + api, + coldkey, + originHotkeyAddress, + destinationHotkeyAddress, + netuid1, + netuid2, + moveAmount + ); + + // Verify stakes changed + const originStakeAfter = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid1); + const destStakeAfter = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid2); + + log.info(`Origin stake (netuid1) after: ${originStakeAfter}, Destination stake (netuid2) after: ${destStakeAfter}`); + + assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); + assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + + log.info("✅ Successfully moved stake to another hotkey across subnets."); + }); + + it("should move stake to another hotkey on the same subnet", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const originHotkey = getRandomSubstrateKeypair(); + const destinationHotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const originHotkeyAddress = convertPublicKeyToSs58(originHotkey.publicKey); + const destinationHotkeyAddress = convertPublicKeyToSs58(destinationHotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, originHotkeyAddress); + await forceSetBalance(api, destinationHotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + + // Create subnet with origin hotkey + const netuid = await addNewSubnetwork(api, originHotkey, coldkey); + await startCall(api, netuid, coldkey); + + // Register destination hotkey on the same subnet + await burnedRegister(api, netuid, destinationHotkeyAddress, coldkey); + + // Add stake to origin hotkey + await addStake(api, coldkey, originHotkeyAddress, netuid, tao(200)); + + // Get initial stakes (converted from U64F64 for display) + const originStakeBefore = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid); + const destStakeBefore = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid); + assert.ok(originStakeBefore > 0n, "Origin hotkey should have stake before move"); + + log.info(`Origin stake before: ${originStakeBefore}, Destination stake before: ${destStakeBefore}`); + + // Move stake to destination hotkey on the same subnet + // Use raw U64F64 value for the extrinsic + const originStakeRaw = await getStakeRaw(api, originHotkeyAddress, coldkeyAddress, netuid); + const moveAmount = originStakeRaw / 2n; + await moveStake( + api, + coldkey, + originHotkeyAddress, + destinationHotkeyAddress, + netuid, + netuid, + moveAmount + ); + + // Verify stakes changed + const originStakeAfter = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid); + const destStakeAfter = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid); + + log.info(`Origin stake after: ${originStakeAfter}, Destination stake after: ${destStakeAfter}`); + + assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); + assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + + log.info("✅ Successfully moved stake to another hotkey on the same subnet."); + }); +}); diff --git a/e2e/staking/test/remove-stake-full-limit.test.ts b/e2e/staking/test/remove-stake-full-limit.test.ts new file mode 100644 index 0000000000..782864c82e --- /dev/null +++ b/e2e/staking/test/remove-stake-full-limit.test.ts @@ -0,0 +1,85 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + getBalance, + addNewSubnetwork, + startCall, + addStake, + removeStakeFullLimit, + getStake, + tao, + log, +} from "e2e-shared"; + +describe("▶ remove_stake_full_limit extrinsic", () => { + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + let netuid: number; + + before(async () => { + const api = await getDevnetApi(); + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + }); + + it("should remove all stake with price limit", async () => { + const api = await getDevnetApi(); + + // Add stake first + await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + + // Get initial stake and balance + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceBefore = await getBalance(api, coldkeyAddress); + log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); + assert.ok(stakeBefore > 0n, "Should have stake before removal"); + + // Remove all stake with a reasonable limit price (low limit to avoid slippage rejection) + // Using a low limit price (0.09 TAO per alpha) allows the transaction to succeed + const limitPrice = tao(1) / 10n; // 0.1 TAO + await removeStakeFullLimit(api, coldkey, hotkeyAddress, netuid, limitPrice); + + // Verify stake is zero + const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceAfter = await getBalance(api, coldkeyAddress); + log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); + + assert.strictEqual(stakeAfter, 0n, `Stake should be zero after full removal, got ${stakeAfter}`); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully removed all stake with price limit."); + }); + + it("should remove all stake without price limit", async () => { + const api = await getDevnetApi(); + + // Add stake first + await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + + // Get initial stake and balance + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceBefore = await getBalance(api, coldkeyAddress); + log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); + assert.ok(stakeBefore > 0n, "Should have stake before removal"); + + // Remove all stake without limit price (undefined = no slippage protection) + await removeStakeFullLimit(api, coldkey, hotkeyAddress, netuid, undefined); + + // Verify stake is zero + const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceAfter = await getBalance(api, coldkeyAddress); + log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); + + assert.strictEqual(stakeAfter, 0n, `Stake should be zero after full removal, got ${stakeAfter}`); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully removed all stake without price limit."); + }); +}); diff --git a/e2e/staking/test/remove-stake-limit.test.ts b/e2e/staking/test/remove-stake-limit.test.ts new file mode 100644 index 0000000000..addc8c717d --- /dev/null +++ b/e2e/staking/test/remove-stake-limit.test.ts @@ -0,0 +1,80 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + getBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + removeStakeLimit, + getStake, + tao, + log, +} from "e2e-shared"; + +describe("▶ remove_stake_limit extrinsic", () => { + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + let netuid: number; + + before(async () => { + const api = await getDevnetApi(); + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + }); + + it("should remove stake with price limit (allow partial)", async () => { + const api = await getDevnetApi(); + + // Add stake first (100 TAO like benchmark) + await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + + // Get initial stake and balance + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceBefore = await getBalance(api, coldkeyAddress); + log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); + assert.ok(stakeBefore > 0n, "Should have stake before removal"); + + // Remove stake with limit price and allow partial fills + const unstakeAmount = tao(30); + const limitPrice = tao(1); + await removeStakeLimit(api, coldkey, hotkeyAddress, netuid, unstakeAmount, limitPrice, true); + + // Verify balance increased (received TAO from unstaking) + const balanceAfter = await getBalance(api, coldkeyAddress); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully removed stake with limit (allow partial)."); + }); + + it("should remove stake with price limit (fill or kill)", async () => { + const api = await getDevnetApi(); + + // Add stake first (100 TAO like benchmark) + await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + + // Get initial stake and balance + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceBefore = await getBalance(api, coldkeyAddress); + log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); + assert.ok(stakeBefore > 0n, "Should have stake before removal"); + + // Remove stake with limit price (fill or kill mode) + const unstakeAmount = tao(30); + const limitPrice = tao(1); + await removeStakeLimit(api, coldkey, hotkeyAddress, netuid, unstakeAmount, limitPrice, false); + + // Verify balance increased (received TAO from unstaking) + const balanceAfter = await getBalance(api, coldkeyAddress); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully removed stake with limit (fill or kill)."); + }); +}); diff --git a/e2e/staking/test/remove-stake.test.ts b/e2e/staking/test/remove-stake.test.ts new file mode 100644 index 0000000000..a863c3042c --- /dev/null +++ b/e2e/staking/test/remove-stake.test.ts @@ -0,0 +1,56 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + getBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + removeStake, + getStake, + getStakeRaw, + tao, + log, +} from "e2e-shared"; + +describe("▶ remove_stake extrinsic", () => { + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + let netuid: number; + + before(async () => { + const api = await getDevnetApi(); + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + netuid = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid, coldkey); + }); + + it("should remove stake from a hotkey", async () => { + const api = await getDevnetApi(); + + // Add stake first + await addStake(api, coldkey, hotkeyAddress, netuid, tao(200)); + + // Get initial stake and balance (converted from U64F64 for display) + const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const balanceBefore = await getBalance(api, coldkeyAddress); + assert.ok(stakeBefore > 0n, "Should have stake before removal"); + + // Remove stake (amount is in alpha units - use raw U64F64 value) + const stakeRaw = await getStakeRaw(api, hotkeyAddress, coldkeyAddress, netuid); + const unstakeAmount = stakeRaw / 2n; + await removeStake(api, coldkey, hotkeyAddress, netuid, unstakeAmount); + + // Verify balance increased (received TAO from unstaking) + const balanceAfter = await getBalance(api, coldkeyAddress); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully removed stake."); + }); +}); diff --git a/e2e/staking/test/swap-stake-limit.test.ts b/e2e/staking/test/swap-stake-limit.test.ts new file mode 100644 index 0000000000..d52b1e411e --- /dev/null +++ b/e2e/staking/test/swap-stake-limit.test.ts @@ -0,0 +1,128 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + swapStakeLimit, + getStake, + getStakeRaw, + tao, + log, +} from "e2e-shared"; + +describe("▶ swap_stake_limit extrinsic", () => { + it("should swap stake with price limit (allow partial)", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey1 = getRandomSubstrateKeypair(); + const hotkey2 = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkey1Address = convertPublicKeyToSs58(hotkey1.publicKey); + const hotkey2Address = convertPublicKeyToSs58(hotkey2.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, hotkey1Address); + await forceSetBalance(api, hotkey2Address); + await forceSetBalance(api, coldkeyAddress); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey1, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + await startCall(api, netuid2, coldkey); + + // Register hotkey1 on subnet2 so we can swap stake there + await burnedRegister(api, netuid2, hotkey1Address, coldkey); + + // Add stake to hotkey1 on subnet1 + await addStake(api, coldkey, hotkey1Address, netuid1, tao(100)); + + // Get initial stakes (converted from U64F64 for display) + const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + + log.info(`Stake on netuid1 before: ${stake1Before}, Stake on netuid2 before: ${stake2Before}`); + + // Swap stake with limit price (0.99 TAO relative price limit, allow partial fills) + // Use raw U64F64 value for the extrinsic + const stake1Raw = await getStakeRaw(api, hotkey1Address, coldkeyAddress, netuid1); + const swapAmount = stake1Raw / 2n; + const limitPrice = tao(1) * 99n / 100n; // 0.99 TAO + await swapStakeLimit(api, coldkey, hotkey1Address, netuid1, netuid2, swapAmount, limitPrice, true); + + // Verify stakes changed + const stake1After = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + const stake2After = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + + log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); + + assert.ok(stake1After < stake1Before, `Stake on subnet1 should decrease: before=${stake1Before}, after=${stake1After}`); + assert.ok(stake2After > stake2Before, `Stake on subnet2 should increase: before=${stake2Before}, after=${stake2After}`); + + log.info("✅ Successfully swapped stake with price limit (allow partial)."); + }); + + it("should swap stake with price limit (fill or kill)", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey1 = getRandomSubstrateKeypair(); + const hotkey2 = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkey1Address = convertPublicKeyToSs58(hotkey1.publicKey); + const hotkey2Address = convertPublicKeyToSs58(hotkey2.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, hotkey1Address); + await forceSetBalance(api, hotkey2Address); + await forceSetBalance(api, coldkeyAddress); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey1, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + await startCall(api, netuid2, coldkey); + + // Register hotkey1 on subnet2 so we can swap stake there + await burnedRegister(api, netuid2, hotkey1Address, coldkey); + + // Add stake to hotkey1 on subnet1 + await addStake(api, coldkey, hotkey1Address, netuid1, tao(100)); + + // Get initial stakes (converted from U64F64 for display) + const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + + log.info(`Stake on netuid1 before: ${stake1Before}, Stake on netuid2 before: ${stake2Before}`); + + // Swap stake with limit price (fill or kill mode - allow_partial = false) + // Use raw U64F64 value for the extrinsic + const stake1Raw = await getStakeRaw(api, hotkey1Address, coldkeyAddress, netuid1); + const swapAmount = stake1Raw / 2n; + const limitPrice = tao(1) / 10n; // 0.1 TAO - permissive limit to allow slippage + await swapStakeLimit(api, coldkey, hotkey1Address, netuid1, netuid2, swapAmount, limitPrice, false); + + // Verify stakes changed + const stake1After = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + const stake2After = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + + log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); + + assert.ok(stake1After < stake1Before, `Stake on subnet1 should decrease: before=${stake1Before}, after=${stake1After}`); + assert.ok(stake2After > stake2Before, `Stake on subnet2 should increase: before=${stake2Before}, after=${stake2After}`); + + log.info("✅ Successfully swapped stake with price limit (fill or kill)."); + }); +}); diff --git a/e2e/staking/test/swap-stake.test.ts b/e2e/staking/test/swap-stake.test.ts new file mode 100644 index 0000000000..5d6b9329cc --- /dev/null +++ b/e2e/staking/test/swap-stake.test.ts @@ -0,0 +1,70 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + burnedRegister, + startCall, + addStake, + swapStake, + getStake, + getStakeRaw, + tao, + log, +} from "e2e-shared"; + +describe("▶ swap_stake extrinsic", () => { + it("should swap full stake from one subnet to another", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey1 = getRandomSubstrateKeypair(); + const hotkey2 = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkey1Address = convertPublicKeyToSs58(hotkey1.publicKey); + const hotkey2Address = convertPublicKeyToSs58(hotkey2.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + + await forceSetBalance(api, hotkey1Address); + await forceSetBalance(api, hotkey2Address); + await forceSetBalance(api, coldkeyAddress); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey1, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + await startCall(api, netuid2, coldkey); + + // Register hotkey1 on subnet2 so we can swap stake there + await burnedRegister(api, netuid2, hotkey1Address, coldkey); + + // Add stake to hotkey1 on subnet1 + await addStake(api, coldkey, hotkey1Address, netuid1, tao(100)); + + // Get initial stake (converted from U64F64 for display) + const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + + log.info(`Stake on netuid1 before: ${stake1Before}`); + + // Swap full stake from subnet1 to subnet2 + // Use raw U64F64 value for the extrinsic + const stake1Raw = await getStakeRaw(api, hotkey1Address, coldkeyAddress, netuid1); + await swapStake(api, coldkey, hotkey1Address, netuid1, netuid2, stake1Raw); + + // Verify stakes changed + const stake1After = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); + const stake2After = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + + log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); + + assert.strictEqual(stake1After, 0n, `Stake on subnet1 should be zero after full swap, got ${stake1After}`); + assert.ok(stake2After > 0n, `Stake on subnet2 should be non-zero after swap`); + + log.info("✅ Successfully swapped full stake from one subnet to another."); + }); +}); diff --git a/e2e/staking/test/transfer-stake.test.ts b/e2e/staking/test/transfer-stake.test.ts new file mode 100644 index 0000000000..3a34a76ea5 --- /dev/null +++ b/e2e/staking/test/transfer-stake.test.ts @@ -0,0 +1,132 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + startCall, + addStake, + transferStake, + getStake, + getStakeRaw, + tao, + log, +} from "e2e-shared"; + +describe("▶ transfer_stake extrinsic", () => { + it("should transfer stake to another coldkey across subnets", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey1 = getRandomSubstrateKeypair(); + const hotkey2 = getRandomSubstrateKeypair(); + const originColdkey = getRandomSubstrateKeypair(); + const destinationColdkey = getRandomSubstrateKeypair(); + const hotkey1Address = convertPublicKeyToSs58(hotkey1.publicKey); + const hotkey2Address = convertPublicKeyToSs58(hotkey2.publicKey); + const originColdkeyAddress = convertPublicKeyToSs58(originColdkey.publicKey); + const destinationColdkeyAddress = convertPublicKeyToSs58(destinationColdkey.publicKey); + + await forceSetBalance(api, hotkey1Address); + await forceSetBalance(api, hotkey2Address); + await forceSetBalance(api, originColdkeyAddress); + await forceSetBalance(api, destinationColdkeyAddress); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey1, originColdkey); + await startCall(api, netuid1, originColdkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, originColdkey); + await startCall(api, netuid2, originColdkey); + + // Add stake from origin coldkey on first subnet + await addStake(api, originColdkey, hotkey1Address, netuid1, tao(200)); + + // Get initial stakes (converted from U64F64 for display) + const originStakeBefore = await getStake(api, hotkey1Address, originColdkeyAddress, netuid1); + const destStakeBefore = await getStake(api, hotkey1Address, destinationColdkeyAddress, netuid2); + assert.ok(originStakeBefore > 0n, "Origin should have stake before transfer"); + + log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); + + // Transfer stake to destination coldkey on a different subnet + // Use raw U64F64 value for the extrinsic + const originStakeRaw = await getStakeRaw(api, hotkey1Address, originColdkeyAddress, netuid1); + const transferAmount = originStakeRaw / 2n; + await transferStake( + api, + originColdkey, + destinationColdkeyAddress, + hotkey1Address, + netuid1, + netuid2, + transferAmount + ); + + // Verify stakes changed + const originStakeAfter = await getStake(api, hotkey1Address, originColdkeyAddress, netuid1); + const destStakeAfter = await getStake(api, hotkey1Address, destinationColdkeyAddress, netuid2); + + log.info(`Origin stake (netuid1) after: ${originStakeAfter}, Destination stake (netuid2) after: ${destStakeAfter}`); + + assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); + assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + + log.info("✅ Successfully transferred stake to another coldkey across subnets."); + }); + + it("should transfer stake to another coldkey", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey = getRandomSubstrateKeypair(); + const originColdkey = getRandomSubstrateKeypair(); + const destinationColdkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const originColdkeyAddress = convertPublicKeyToSs58(originColdkey.publicKey); + const destinationColdkeyAddress = convertPublicKeyToSs58(destinationColdkey.publicKey); + + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, originColdkeyAddress); + await forceSetBalance(api, destinationColdkeyAddress); + + // Create subnet + const netuid = await addNewSubnetwork(api, hotkey, originColdkey); + await startCall(api, netuid, originColdkey); + + // Add stake from origin coldkey + const stakeAmount = tao(100); + await addStake(api, originColdkey, hotkeyAddress, netuid, stakeAmount); + + // Get initial stake (converted from U64F64 for display) + const originStakeBefore = await getStake(api, hotkeyAddress, originColdkeyAddress, netuid); + assert.ok(originStakeBefore > 0n, "Origin should have stake before transfer"); + + log.info(`Origin stake before: ${originStakeBefore}`); + + const originStakeRaw = await getStakeRaw(api, hotkeyAddress, originColdkeyAddress, netuid); + const transferAmount = originStakeRaw / 2n; + await transferStake( + api, + originColdkey, + destinationColdkeyAddress, + hotkeyAddress, + netuid, + netuid, + transferAmount + ); + + // Verify destination received stake + const originStakeAfter = await getStake(api, hotkeyAddress, originColdkeyAddress, netuid); + const destStakeAfter = await getStake(api, hotkeyAddress, destinationColdkeyAddress, netuid); + + log.info(`Origin stake after: ${originStakeAfter}, Destination stake after: ${destStakeAfter}`); + + assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease after transfer`); + assert.ok(destStakeAfter > 0n, `Destination stake should be non-zero after transfer`); + + log.info("✅ Successfully transferred stake to another coldkey."); + }); +}); diff --git a/e2e/staking/test/unstake-all-alpha.test.ts b/e2e/staking/test/unstake-all-alpha.test.ts new file mode 100644 index 0000000000..a936471c2d --- /dev/null +++ b/e2e/staking/test/unstake-all-alpha.test.ts @@ -0,0 +1,72 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + addNewSubnetwork, + startCall, + addStake, + unstakeAllAlpha, + getStake, + tao, + log, +} from "e2e-shared"; + +// Root subnet netuid is 0 +const ROOT_NETUID = 0; + +describe("▶ unstake_all_alpha extrinsic", () => { + it("should unstake all alpha from multiple subnets and restake to root", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + const hotkey2 = getRandomSubstrateKeypair(); + const hotkeyAddress2 = convertPublicKeyToSs58(hotkey2.publicKey); + + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + await forceSetBalance(api, hotkeyAddress2); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + await startCall(api, netuid2, coldkey); + + // Add stake to both subnets (using same hotkey as in unstake_all test) + await addStake(api, coldkey, hotkeyAddress, netuid1, tao(100)); + await addStake(api, coldkey, hotkeyAddress, netuid2, tao(50)); + + // Verify stake was added to both subnets + const stake1Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const rootStakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, ROOT_NETUID); + + assert.ok(stake1Before > 0n, "Should have stake in subnet 1 before unstake_all_alpha"); + assert.ok(stake2Before > 0n, "Should have stake in subnet 2 before unstake_all_alpha"); + log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}, Root stake before: ${rootStakeBefore}`); + + // Unstake all alpha - this removes stake from dynamic subnets and restakes to root + await unstakeAllAlpha(api, coldkey, hotkeyAddress); + + // Verify stakes are removed from both dynamic subnets + const stake1After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); + const stake2After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const rootStakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, ROOT_NETUID); + + log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}, Root stake after: ${rootStakeAfter}`); + + assert.strictEqual(stake1After, 0n, `Stake1 should be zero after unstake_all_alpha, got ${stake1After}`); + assert.strictEqual(stake2After, 0n, `Stake2 should be zero after unstake_all_alpha, got ${stake2After}`); + assert.ok(rootStakeAfter > rootStakeBefore, `Root stake should increase: before=${rootStakeBefore}, after=${rootStakeAfter}`); + + log.info("✅ Successfully unstaked all alpha from multiple subnets to root."); + }); +}); diff --git a/e2e/staking/test/unstake-all.test.ts b/e2e/staking/test/unstake-all.test.ts new file mode 100644 index 0000000000..599dc32bc0 --- /dev/null +++ b/e2e/staking/test/unstake-all.test.ts @@ -0,0 +1,70 @@ +import * as assert from "assert"; +import { + getDevnetApi, + getRandomSubstrateKeypair, + convertPublicKeyToSs58, + forceSetBalance, + getBalance, + addNewSubnetwork, + startCall, + addStake, + unstakeAll, + getStake, + tao, + log, +} from "e2e-shared"; + +describe("▶ unstake_all extrinsic", () => { + it("should unstake all from a hotkey across all subnets", async () => { + const api = await getDevnetApi(); + + // Setup accounts + const hotkey = getRandomSubstrateKeypair(); + const coldkey = getRandomSubstrateKeypair(); + const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); + const hotkey2 = getRandomSubstrateKeypair(); + const hotkeyAddress2 = convertPublicKeyToSs58(hotkey2.publicKey); + + await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, coldkeyAddress); + await forceSetBalance(api, hotkeyAddress2); + + // Create first subnet + const netuid1 = await addNewSubnetwork(api, hotkey, coldkey); + await startCall(api, netuid1, coldkey); + + // Create second subnet + const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + await startCall(api, netuid2, coldkey); + + // Add stake to both subnets + await addStake(api, coldkey, hotkeyAddress, netuid1, tao(100)); + await addStake(api, coldkey, hotkeyAddress, netuid2, tao(50)); + + // Verify stake was added to both subnets + const stake1Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const balanceBefore = await getBalance(api, coldkeyAddress); + + assert.ok(stake1Before > 0n, "Should have stake in subnet 1 before unstake_all"); + assert.ok(stake2Before > 0n, "Should have stake in subnet 2 before unstake_all"); + log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}, Balance before: ${balanceBefore}`); + + // Unstake all + await unstakeAll(api, coldkey, hotkeyAddress); + + // Verify stakes are removed from both subnets and balance increased + const stake1After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); + const stake2After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const balanceAfter = await getBalance(api, coldkeyAddress); + + log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}, Balance after: ${balanceAfter}`); + + assert.strictEqual(stake1After, 0n, `Stake1 should be zero after unstake_all, got ${stake1After}`); + assert.strictEqual(stake2After, 0n, `Stake2 should be zero after unstake_all, got ${stake2After}`); + assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + + log.info("✅ Successfully unstaked all from multiple subnets."); + }); +}); diff --git a/e2e/staking/tsconfig.json b/e2e/staking/tsconfig.json new file mode 100644 index 0000000000..a414aaf914 --- /dev/null +++ b/e2e/staking/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "types": ["node", "mocha"] + } +} From cb50633e935409cdff0a315ad328782929d52c54 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Mon, 2 Mar 2026 17:34:48 +0300 Subject: [PATCH 128/204] Update E2E workflow --- .github/workflows/e2e.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index f04d592a64..959a86bdeb 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -141,4 +141,8 @@ jobs: - name: Run tests working-directory: e2e + env: + # Use fast-runtime binary for staking package, release binary for others + # Path is relative to package directory (e2e//) + BINARY_PATH: ${{ matrix.package == 'e2e-staking' && '../../target/fast/node-subtensor' || '../../target/release/node-subtensor' }} run: pnpm --filter ${{ matrix.package }} test From 2b7144edc66905a5e5dedfc8d2d4a9288e41274e Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Wed, 4 Mar 2026 17:49:32 +0300 Subject: [PATCH 129/204] Fix unstake-all-alpha tests. --- e2e/staking/test/unstake-all-alpha.test.ts | 58 ++++++++++++---------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/e2e/staking/test/unstake-all-alpha.test.ts b/e2e/staking/test/unstake-all-alpha.test.ts index a936471c2d..93146aa196 100644 --- a/e2e/staking/test/unstake-all-alpha.test.ts +++ b/e2e/staking/test/unstake-all-alpha.test.ts @@ -5,6 +5,7 @@ import { convertPublicKeyToSs58, forceSetBalance, addNewSubnetwork, + burnedRegister, startCall, addStake, unstakeAllAlpha, @@ -13,59 +14,64 @@ import { log, } from "e2e-shared"; -// Root subnet netuid is 0 -const ROOT_NETUID = 0; - describe("▶ unstake_all_alpha extrinsic", () => { it("should unstake all alpha from multiple subnets and restake to root", async () => { const api = await getDevnetApi(); // Setup accounts - const hotkey = getRandomSubstrateKeypair(); + // - owner1/coldkey: owns subnet 1 + // - owner2/coldkey: owns subnet 2 + // - stakerHotkey: staker (not owner) on both subnets - used for testing unstake_all_alpha + const owner1Hotkey = getRandomSubstrateKeypair(); + const owner2Hotkey = getRandomSubstrateKeypair(); + const stakerHotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); - const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const owner1Address = convertPublicKeyToSs58(owner1Hotkey.publicKey); + const owner2Address = convertPublicKeyToSs58(owner2Hotkey.publicKey); + const stakerAddress = convertPublicKeyToSs58(stakerHotkey.publicKey); const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); - const hotkey2 = getRandomSubstrateKeypair(); - const hotkeyAddress2 = convertPublicKeyToSs58(hotkey2.publicKey); - await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, owner1Address); + await forceSetBalance(api, owner2Address); + await forceSetBalance(api, stakerAddress); await forceSetBalance(api, coldkeyAddress); - await forceSetBalance(api, hotkeyAddress2); - // Create first subnet - const netuid1 = await addNewSubnetwork(api, hotkey, coldkey); + // Create first subnet with owner1 + const netuid1 = await addNewSubnetwork(api, owner1Hotkey, coldkey); await startCall(api, netuid1, coldkey); - // Create second subnet - const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + // Create second subnet with owner2 + const netuid2 = await addNewSubnetwork(api, owner2Hotkey, coldkey); await startCall(api, netuid2, coldkey); - // Add stake to both subnets (using same hotkey as in unstake_all test) - await addStake(api, coldkey, hotkeyAddress, netuid1, tao(100)); - await addStake(api, coldkey, hotkeyAddress, netuid2, tao(50)); + // Register stakerHotkey on both subnets (it's not the owner) + await burnedRegister(api, netuid1, stakerAddress, coldkey); + await burnedRegister(api, netuid2, stakerAddress, coldkey); + + // Add stake to both subnets using stakerHotkey (not the owner) + await addStake(api, coldkey, stakerAddress, netuid1, tao(100)); + await addStake(api, coldkey, stakerAddress, netuid2, tao(50)); // Verify stake was added to both subnets - const stake1Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); - const stake2Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); - const rootStakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, ROOT_NETUID); + const stake1Before = await getStake(api, stakerAddress, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, stakerAddress, coldkeyAddress, netuid2); assert.ok(stake1Before > 0n, "Should have stake in subnet 1 before unstake_all_alpha"); assert.ok(stake2Before > 0n, "Should have stake in subnet 2 before unstake_all_alpha"); - log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}, Root stake before: ${rootStakeBefore}`); + log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}`); // Unstake all alpha - this removes stake from dynamic subnets and restakes to root - await unstakeAllAlpha(api, coldkey, hotkeyAddress); + await unstakeAllAlpha(api, coldkey, stakerAddress); // Verify stakes are removed from both dynamic subnets - const stake1After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); - const stake2After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); - const rootStakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, ROOT_NETUID); + const stake1After = await getStake(api, stakerAddress, coldkeyAddress, netuid1); + const stake2After = await getStake(api, stakerAddress, coldkeyAddress, netuid2); - log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}, Root stake after: ${rootStakeAfter}`); + log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}`); + // Since stakerHotkey is not the owner of either subnet, all stake should be removed assert.strictEqual(stake1After, 0n, `Stake1 should be zero after unstake_all_alpha, got ${stake1After}`); assert.strictEqual(stake2After, 0n, `Stake2 should be zero after unstake_all_alpha, got ${stake2After}`); - assert.ok(rootStakeAfter > rootStakeBefore, `Root stake should increase: before=${rootStakeBefore}, after=${rootStakeAfter}`); log.info("✅ Successfully unstaked all alpha from multiple subnets to root."); }); From 651bf4cb82c446a938864f5ae2cae060eada06b6 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 16:54:15 +0100 Subject: [PATCH 130/204] - Add a possibility to revert hotkey back after the swap --- pallets/subtensor/src/swap/swap_hotkey.rs | 12 ++++--- pallets/subtensor/src/tests/swap_hotkey.rs | 42 ++++++++++++++++++++++ 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index a54a02a750..8bc57bc783 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -57,11 +57,13 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads(2)); - // 7. Ensure the new hotkey is not already registered on any network - ensure!( - !Self::is_hotkey_registered_on_any_network(new_hotkey), - Error::::HotKeyAlreadyRegisteredInSubNet - ); + // 7. Ensure the new hotkey is not already registered on any network, only if netuid is none + if netuid.is_none() { + ensure!( + !Self::is_hotkey_registered_on_any_network(new_hotkey), + Error::::HotKeyAlreadyRegisteredInSubNet + ); + } // 8. Swap LastTxBlock let last_tx_block: u64 = Self::get_last_tx_block(old_hotkey); diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 71191d1951..fea8f1b809 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -60,6 +60,48 @@ fn test_swap_owned_hotkeys() { }); } +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture +// This test confirms, that the old hotkey can be reverted after the hotkey swap +#[test] +fn test_revert_hotkey_swap() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let netuid2 = NetUid::from(2); + let tempo: u16 = 13; + let old_hotkey = U256::from(1); + let new_hotkey = U256::from(2); + let coldkey = U256::from(3); + let swap_cost = 1_000_000_000u64 * 2; + + // Setup initial state + add_network(netuid, tempo, 0); + add_network(netuid2, tempo, 0); + register_ok_neuron(netuid, old_hotkey, coldkey, 0); + register_ok_neuron(netuid2, old_hotkey, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + step_block(20); + + // Perform the first swap (only on netuid) + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &old_hotkey, + &new_hotkey, + Some(netuid) + )); + + assert!(SubtensorModule::is_hotkey_registered_on_any_network(&old_hotkey)); + + step_block(20); + + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &new_hotkey, + &old_hotkey, + Some(netuid) + )); + }); +} + // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --test swap_hotkey -- test_swap_total_hotkey_stake --exact --nocapture #[test] fn test_swap_total_hotkey_stake() { From 6c16a187b11f05288a3749bb2202302ea209b478 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 17:35:29 +0100 Subject: [PATCH 131/204] - Updated HotkeySwapOnSubnetInterval to 1 day. --- 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 c5fd050fab..ee7272498a 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1109,7 +1109,7 @@ parameter_types! { // 0 days pub const InitialStartCallDelay: u64 = 0; pub const SubtensorInitialKeySwapOnSubnetCost: u64 = 1_000_000; // 0.001 TAO - pub const HotkeySwapOnSubnetInterval : BlockNumber = 5 * 24 * 60 * 60 / 12; // 5 days + pub const HotkeySwapOnSubnetInterval : BlockNumber = 1 * 24 * 60 * 60 / 12; // 1 day pub const LeaseDividendsDistributionInterval: BlockNumber = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); pub const EvmKeyAssociateRateLimit: u64 = EVM_KEY_ASSOCIATE_RATELIMIT; From 250a881bbe2467246334fc6a58f8ec6e46ee9fcd Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 18:13:37 +0100 Subject: [PATCH 132/204] - Added test `test_revert_hotkey_swap_stake_is_not_lost` + removed test: `test_swap_hotkey_registered_on_other_subnet` --- pallets/subtensor/src/tests/swap_hotkey.rs | 77 ++++++++++++++++++- .../src/tests/swap_hotkey_with_subnet.rs | 35 +-------- 2 files changed, 77 insertions(+), 35 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index fea8f1b809..26a1ce137f 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -60,7 +60,82 @@ fn test_swap_owned_hotkeys() { }); } -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap_stake_is_not_lost --exact --nocapture +#[test] +fn test_revert_hotkey_swap_stake_is_not_lost() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let netuid2 = NetUid::from(2); + let tempo: u16 = 13; + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + let swap_cost = 1_000_000_000u64 * 2; + + // Setup + add_network(netuid, tempo, 0); + add_network(netuid2, tempo, 0); + register_ok_neuron(netuid, hk1, coldkey, 0); + register_ok_neuron(netuid2, hk1, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + + let hk1_stake_before_increase = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + assert!(hk1_stake_before_increase == 0.into(), "hk1 should have empty stake"); + + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &coldkey, + netuid, + 1_000_000_000u64.into(), + ); + + let hk1_stake_before_swap = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + assert!(hk1_stake_before_swap == 1_000_000_000.into(), "hk1 should have stake before swap"); + + step_block(20); + + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + step_block(20); + + let hk2_stake_before_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); + let hk1_stake_before_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + + assert_eq!(hk1_stake_before_revert, 0.into()); + + // Revert: hk2 -> hk1 + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + let hk1_stake_after_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + let hk2_stake_after_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); + + assert_eq!( + hk1_stake_after_revert, + hk2_stake_before_revert, + ); + + // hk2 should be empty + assert_eq!(hk2_stake_after_revert, 0.into(), "hk2 should have no stake after revert"); + }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture // This test confirms, that the old hotkey can be reverted after the hotkey swap #[test] fn test_revert_hotkey_swap() { diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 6e423c1269..14c29dd7d3 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1553,37 +1553,4 @@ fn test_swap_owner_check_swap_record_clean_up() { netuid, coldkey )); }); -} - -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --test swap_hotkey_with_subnet -- test_swap_hotkey_error_cases --exact --nocapture -#[test] -fn test_swap_hotkey_registered_on_other_subnet() { - new_test_ext(1).execute_with(|| { - let old_hotkey = U256::from(1); - let new_hotkey = U256::from(2); - let coldkey = U256::from(3); - let wrong_coldkey = U256::from(4); - let netuid = add_dynamic_network(&old_hotkey, &coldkey); - let other_netuid = add_dynamic_network(&old_hotkey, &coldkey); - - // Set up initial state - Owner::::insert(old_hotkey, coldkey); - TotalNetworks::::put(1); - - let initial_balance = SubtensorModule::get_key_swap_cost().to_u64() + 1000; - SubtensorModule::add_balance_to_coldkey_account(&coldkey, initial_balance); - - // Test new hotkey already registered on other subnet - IsNetworkMember::::insert(new_hotkey, other_netuid, true); - System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); - assert_noop!( - SubtensorModule::do_swap_hotkey( - RuntimeOrigin::signed(coldkey), - &old_hotkey, - &new_hotkey, - Some(netuid) - ), - Error::::HotKeyAlreadyRegisteredInSubNet - ); - }); -} +} \ No newline at end of file From f3554c68df34ce6e24ac3ada7f9b5ffbda132806 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 12:30:43 -0500 Subject: [PATCH 133/204] merge devnet-ready --- node/src/benchmarking.rs | 8 +- pallets/subtensor/src/benchmarks.rs | 28 +++---- pallets/subtensor/src/tests/registration.rs | 4 +- pallets/subtensor/src/tests/swap_coldkey.rs | 4 +- .../migrations/migrate_swapv3_to_balancer.rs | 81 +++++++++++++++++++ runtime/src/lib.rs | 6 +- runtime/tests/transaction_payment_wrapper.rs | 6 +- 7 files changed, 107 insertions(+), 30 deletions(-) create mode 100644 pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index b267276e07..7edff9149b 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -14,7 +14,7 @@ use sp_core::{Encode, Pair}; use sp_inherents::{InherentData, InherentDataProvider}; use sp_keyring::Sr25519Keyring; use sp_runtime::{OpaqueExtrinsic, SaturatedConversion}; -use subtensor_runtime_common::{AccountId, Balance, Signature, TaoBalance, Token}; +use subtensor_runtime_common::{AccountId, Balance, Signature, TaoBalance}; use std::{sync::Arc, time::Duration}; @@ -138,11 +138,7 @@ pub fn create_benchmark_extrinsic( frame_system::CheckWeight::::new(), ), ( - transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from( - TaoBalance::ZERO, - ) - ), + transaction_payment_wrapper::ChargeTransactionPaymentWrapper::new(TaoBalance::new(0)), sudo_wrapper::SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 140bd455a6..5a64afd8f8 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -29,18 +29,18 @@ mod pallet_benchmarks { use super::*; fn seed_swap_reserves(netuid: NetUid) { - let tao_reserve = TaoCurrency::from(150_000_000_000); - let alpha_in = AlphaCurrency::from(100_000_000_000); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); set_reserves::(netuid, tao_reserve, alpha_in); } - fn set_reserves(netuid: NetUid, tao_reserve: TaoCurrency, alpha_in: AlphaCurrency) { + fn set_reserves(netuid: NetUid, tao_reserve: TaoBalance, alpha_in: AlphaBalance) { SubnetTAO::::insert(netuid, tao_reserve); SubnetAlphaIn::::insert(netuid, alpha_in); } - fn benchmark_registration_burn() -> TaoCurrency { - TaoCurrency::from(1_000_000) + fn benchmark_registration_burn() -> TaoBalance { + TaoBalance::from(1_000_000) } #[benchmark] @@ -842,7 +842,7 @@ mod pallet_benchmarks { origin.clone() )); - set_reserves::(netuid, deposit, AlphaCurrency::from(deposit.to_u64())); + set_reserves::(netuid, deposit, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -893,7 +893,6 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, benchmark_registration_burn()); - let limit = TaoCurrency::from(1_000_000_000); let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); let alpha_in = AlphaBalance::from(100_000_000_000_000_u64); set_reserves::(netuid, tao_reserve, alpha_in); @@ -1024,7 +1023,7 @@ mod pallet_benchmarks { hot.clone() )); - set_reserves::(netuid, deposit, AlphaCurrency::from(deposit.to_u64())); + set_reserves::(netuid, deposit, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -1078,8 +1077,8 @@ mod pallet_benchmarks { hot.clone() )); - set_reserves::(netuid1, deposit, AlphaCurrency::from(deposit.to_u64())); - set_reserves::(netuid2, deposit, AlphaCurrency::from(deposit.to_u64())); + set_reserves::(netuid1, deposit, AlphaBalance::from(deposit.to_u64())); + set_reserves::(netuid2, deposit, AlphaBalance::from(deposit.to_u64())); TotalStake::::set(deposit); assert_ok!(Subtensor::::add_stake_limit( @@ -1391,8 +1390,8 @@ mod pallet_benchmarks { set_reserves::( netuid, - TaoCurrency::from(150_000_000_000_u64), - AlphaCurrency::from(100_000_000_000_u64), + TaoBalance::from(150_000_000_000_u64), + AlphaBalance::from(100_000_000_000_u64), ); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 1000000u32.into()); @@ -1440,7 +1439,6 @@ mod pallet_benchmarks { let hotkey: T::AccountId = account("Alice", 0, seed); Subtensor::::set_burn(netuid, benchmark_registration_burn()); - let limit = TaoCurrency::from(1_000_000_000); let tao_reserve = TaoBalance::from(1_000_000_000_000_u64); let alpha_in = AlphaBalance::from(100_000_000_000_000_u64); set_reserves::(netuid, tao_reserve, alpha_in); @@ -1822,8 +1820,8 @@ mod pallet_benchmarks { let amount = TaoBalance::from(44_000_000_000_u64); Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), balance_update); - let tao_reserve = TaoCurrency::from(150_000_000_000_u64); - let alpha_in = AlphaCurrency::from(100_000_000_000_u64); + let tao_reserve = TaoBalance::from(150_000_000_000_u64); + let alpha_in = AlphaBalance::from(100_000_000_000_u64); set_reserves::(netuid, tao_reserve, alpha_in); assert_ok!(Subtensor::::do_burned_registration( diff --git a/pallets/subtensor/src/tests/registration.rs b/pallets/subtensor/src/tests/registration.rs index a3ce412841..5209204115 100644 --- a/pallets/subtensor/src/tests/registration.rs +++ b/pallets/subtensor/src/tests/registration.rs @@ -9,7 +9,9 @@ use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::{Config, RawOrigin}; use sp_core::U256; use sp_runtime::traits::{DispatchInfoOf, TransactionExtension, TxBaseImplication}; -use subtensor_runtime_common::{AlphaBalance, CustomTransactionError, NetUid, NetUidStorageIndex, Token}; +use subtensor_runtime_common::{ + AlphaBalance, CustomTransactionError, NetUid, NetUidStorageIndex, Token, +}; use super::mock; use super::mock::*; diff --git a/pallets/subtensor/src/tests/swap_coldkey.rs b/pallets/subtensor/src/tests/swap_coldkey.rs index a7c2e8651c..23488f3370 100644 --- a/pallets/subtensor/src/tests/swap_coldkey.rs +++ b/pallets/subtensor/src/tests/swap_coldkey.rs @@ -21,7 +21,9 @@ use sp_runtime::traits::Hash; use sp_runtime::traits::{DispatchInfoOf, DispatchTransaction, TransactionExtension}; use sp_runtime::{DispatchError, traits::TxBaseImplication}; use substrate_fixed::types::U96F32; -use subtensor_runtime_common::{AlphaBalance, CustomTransactionError, SubnetInfo, TaoBalance, Token}; +use subtensor_runtime_common::{ + AlphaBalance, CustomTransactionError, SubnetInfo, TaoBalance, Token, +}; use subtensor_swap_interface::{SwapEngine, SwapHandler}; use super::mock; diff --git a/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs new file mode 100644 index 0000000000..63392da9ea --- /dev/null +++ b/pallets/swap/src/pallet/migrations/migrate_swapv3_to_balancer.rs @@ -0,0 +1,81 @@ +use super::*; +use crate::HasMigrationRun; +use frame_support::{storage_alias, traits::Get, weights::Weight}; +use scale_info::prelude::string::String; +use substrate_fixed::types::U64F64; + +pub mod deprecated_swap_maps { + use super::*; + + #[storage_alias] + pub type AlphaSqrtPrice = + StorageMap, Twox64Concat, NetUid, U64F64, ValueQuery>; + + /// TAO reservoir for scraps of protocol claimed fees. + #[storage_alias] + pub type ScrapReservoirTao = + StorageMap, Twox64Concat, NetUid, TaoBalance, ValueQuery>; + + /// Alpha reservoir for scraps of protocol claimed fees. + #[storage_alias] + pub type ScrapReservoirAlpha = + StorageMap, Twox64Concat, NetUid, AlphaBalance, ValueQuery>; +} + +pub fn migrate_swapv3_to_balancer() -> Weight { + let migration_name = BoundedVec::truncate_from(b"migrate_swapv3_to_balancer".to_vec()); + let mut weight = T::DbWeight::get().reads(1); + + if HasMigrationRun::::get(&migration_name) { + log::info!( + "Migration '{:?}' has already run. Skipping.", + String::from_utf8_lossy(&migration_name) + ); + return weight; + } + + log::info!( + "Running migration '{}'", + String::from_utf8_lossy(&migration_name), + ); + + // ------------------------------ + // Step 1: Initialize swaps with price before price removal + // ------------------------------ + for (netuid, price_sqrt) in deprecated_swap_maps::AlphaSqrtPrice::::iter() { + let price = price_sqrt.saturating_mul(price_sqrt); + crate::Pallet::::maybe_initialize_palswap(netuid, Some(price)).unwrap_or_default(); + } + + // ------------------------------ + // Step 2: Clear Map entries + // ------------------------------ + remove_prefix::("Swap", "AlphaSqrtPrice", &mut weight); + remove_prefix::("Swap", "CurrentTick", &mut weight); + remove_prefix::("Swap", "EnabledUserLiquidity", &mut weight); + remove_prefix::("Swap", "FeeGlobalTao", &mut weight); + remove_prefix::("Swap", "FeeGlobalAlpha", &mut weight); + remove_prefix::("Swap", "LastPositionId", &mut weight); + // Scrap reservoirs can be just cleaned because they are already included in reserves + remove_prefix::("Swap", "ScrapReservoirTao", &mut weight); + remove_prefix::("Swap", "ScrapReservoirAlpha", &mut weight); + remove_prefix::("Swap", "Ticks", &mut weight); + remove_prefix::("Swap", "TickIndexBitmapWords", &mut weight); + remove_prefix::("Swap", "SwapV3Initialized", &mut weight); + remove_prefix::("Swap", "CurrentLiquidity", &mut weight); + remove_prefix::("Swap", "Positions", &mut weight); + + // ------------------------------ + // Step 3: Mark Migration as Completed + // ------------------------------ + + HasMigrationRun::::insert(&migration_name, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + log::info!( + "Migration '{:?}' completed successfully.", + String::from_utf8_lossy(&migration_name) + ); + + weight +} diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index ba5b7da691..2633183dfe 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -71,8 +71,8 @@ use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; -use substrate_fixed::types::U96F32; use stp_shield::ShieldedTransaction; +use substrate_fixed::types::U96F32; use subtensor_precompiles::Precompiles; use subtensor_runtime_common::{AlphaBalance, AuthorshipInfo, TaoBalance, time::*, *}; use subtensor_swap_interface::{Order, SwapHandler}; @@ -198,9 +198,7 @@ impl frame_system::offchain::CreateSignedTransaction frame_system::CheckWeight::::new(), ), ( - ChargeTransactionPaymentWrapper::new( - pallet_transaction_payment::ChargeTransactionPayment::::from(0.into()) - ), + ChargeTransactionPaymentWrapper::new(TaoBalance::new(0)), SudoTransactionExtension::::new(), pallet_shield::CheckShieldedTxValidity::::new(), pallet_subtensor::SubtensorTransactionExtension::::new(), diff --git a/runtime/tests/transaction_payment_wrapper.rs b/runtime/tests/transaction_payment_wrapper.rs index 37bbca9fd2..bbc9798a3e 100644 --- a/runtime/tests/transaction_payment_wrapper.rs +++ b/runtime/tests/transaction_payment_wrapper.rs @@ -16,13 +16,13 @@ use sp_runtime::traits::{TransactionExtension, TxBaseImplication}; use sp_runtime::transaction_validity::{ TransactionSource, TransactionValidityError, ValidTransaction, }; -use subtensor_runtime_common::{AccountId, ProxyType}; +use subtensor_runtime_common::{AccountId, ProxyType, TaoBalance}; const SIGNER: [u8; 32] = [1_u8; 32]; const REAL_A: [u8; 32] = [2_u8; 32]; const REAL_B: [u8; 32] = [3_u8; 32]; const OTHER: [u8; 32] = [4_u8; 32]; -const BALANCE: u64 = 1_000_000_000_000; +const BALANCE: TaoBalance = TaoBalance::new(1_000_000_000_000_u64); fn new_test_ext() -> sp_io::TestExternalities { sp_tracing::try_init_simple(); @@ -128,7 +128,7 @@ fn validate_call_with_info( call: &RuntimeCall, info: &DispatchInfo, ) -> Result<(ValidTransaction, Val), TransactionValidityError> { - let ext = ChargeTransactionPaymentWrapper::::new(0u64); + let ext = ChargeTransactionPaymentWrapper::::new(TaoBalance::new(0)); let (valid_tx, val, _origin) = ext.validate( origin, call, From c33d6035d73b36f5b8054433c86f0e7ce42bd2c5 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 12:33:06 -0500 Subject: [PATCH 134/204] Spec bump --- 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 2633183dfe..e554ce0b25 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -267,7 +267,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: 386, + spec_version: 387, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 65a6e8bc4eff9880fe301b18dc2243b90c76f818 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 12:49:44 -0500 Subject: [PATCH 135/204] Fix zepter --- pallets/crowdloan/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/crowdloan/Cargo.toml b/pallets/crowdloan/Cargo.toml index e4d1c245c5..1bba723fe2 100644 --- a/pallets/crowdloan/Cargo.toml +++ b/pallets/crowdloan/Cargo.toml @@ -52,6 +52,7 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", "pallet-balances/runtime-benchmarks", "pallet-preimage/runtime-benchmarks", ] From ccde975cd44906cd85331a968c97cd212acb01ce Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 19:05:50 +0100 Subject: [PATCH 136/204] - Added stake to hk1 after swap --- pallets/subtensor/src/tests/swap_hotkey.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 26a1ce137f..9fdf866976 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -71,6 +71,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { let hk2 = U256::from(2); let coldkey = U256::from(3); let swap_cost = 1_000_000_000u64 * 2; + let stake2 = 1_000_000_000u64; // Setup add_network(netuid, tempo, 0); @@ -103,6 +104,13 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { Some(netuid) )); + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &coldkey, + netuid, + stake2.into(), + ); + step_block(20); let hk2_stake_before_revert = @@ -110,7 +118,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { let hk1_stake_before_revert = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - assert_eq!(hk1_stake_before_revert, 0.into()); + assert_eq!(hk1_stake_before_revert, stake2.into()); // Revert: hk2 -> hk1 assert_ok!(SubtensorModule::do_swap_hotkey( @@ -127,7 +135,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { assert_eq!( hk1_stake_after_revert, - hk2_stake_before_revert, + hk2_stake_before_revert + stake2.into(), ); // hk2 should be empty From 8e63fa0a4170de52b8216be36508108a0d3bd1cc Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 19:14:16 +0100 Subject: [PATCH 137/204] - Moved tests to the correct file --- pallets/subtensor/src/tests/swap_hotkey.rs | 125 ----------------- .../src/tests/swap_hotkey_with_subnet.rs | 127 +++++++++++++++++- 2 files changed, 126 insertions(+), 126 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 9fdf866976..71191d1951 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -60,131 +60,6 @@ fn test_swap_owned_hotkeys() { }); } -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap_stake_is_not_lost --exact --nocapture -#[test] -fn test_revert_hotkey_swap_stake_is_not_lost() { - new_test_ext(1).execute_with(|| { - let netuid = NetUid::from(1); - let netuid2 = NetUid::from(2); - let tempo: u16 = 13; - let hk1 = U256::from(1); - let hk2 = U256::from(2); - let coldkey = U256::from(3); - let swap_cost = 1_000_000_000u64 * 2; - let stake2 = 1_000_000_000u64; - - // Setup - add_network(netuid, tempo, 0); - add_network(netuid2, tempo, 0); - register_ok_neuron(netuid, hk1, coldkey, 0); - register_ok_neuron(netuid2, hk1, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); - - let hk1_stake_before_increase = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - assert!(hk1_stake_before_increase == 0.into(), "hk1 should have empty stake"); - - SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( - &hk1, - &coldkey, - netuid, - 1_000_000_000u64.into(), - ); - - let hk1_stake_before_swap = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - assert!(hk1_stake_before_swap == 1_000_000_000.into(), "hk1 should have stake before swap"); - - step_block(20); - - assert_ok!(SubtensorModule::do_swap_hotkey( - <::RuntimeOrigin>::signed(coldkey), - &hk1, - &hk2, - Some(netuid) - )); - - SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( - &hk1, - &coldkey, - netuid, - stake2.into(), - ); - - step_block(20); - - let hk2_stake_before_revert = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); - let hk1_stake_before_revert = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - - assert_eq!(hk1_stake_before_revert, stake2.into()); - - // Revert: hk2 -> hk1 - assert_ok!(SubtensorModule::do_swap_hotkey( - <::RuntimeOrigin>::signed(coldkey), - &hk2, - &hk1, - Some(netuid) - )); - - let hk1_stake_after_revert = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - let hk2_stake_after_revert = - SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); - - assert_eq!( - hk1_stake_after_revert, - hk2_stake_before_revert + stake2.into(), - ); - - // hk2 should be empty - assert_eq!(hk2_stake_after_revert, 0.into(), "hk2 should have no stake after revert"); - }); -} - -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture -// This test confirms, that the old hotkey can be reverted after the hotkey swap -#[test] -fn test_revert_hotkey_swap() { - new_test_ext(1).execute_with(|| { - let netuid = NetUid::from(1); - let netuid2 = NetUid::from(2); - let tempo: u16 = 13; - let old_hotkey = U256::from(1); - let new_hotkey = U256::from(2); - let coldkey = U256::from(3); - let swap_cost = 1_000_000_000u64 * 2; - - // Setup initial state - add_network(netuid, tempo, 0); - add_network(netuid2, tempo, 0); - register_ok_neuron(netuid, old_hotkey, coldkey, 0); - register_ok_neuron(netuid2, old_hotkey, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); - step_block(20); - - // Perform the first swap (only on netuid) - assert_ok!(SubtensorModule::do_swap_hotkey( - <::RuntimeOrigin>::signed(coldkey), - &old_hotkey, - &new_hotkey, - Some(netuid) - )); - - assert!(SubtensorModule::is_hotkey_registered_on_any_network(&old_hotkey)); - - step_block(20); - - assert_ok!(SubtensorModule::do_swap_hotkey( - <::RuntimeOrigin>::signed(coldkey), - &new_hotkey, - &old_hotkey, - Some(netuid) - )); - }); -} - // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --test swap_hotkey -- test_swap_total_hotkey_stake --exact --nocapture #[test] fn test_swap_total_hotkey_stake() { diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 14c29dd7d3..c5b9037e55 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1553,4 +1553,129 @@ fn test_swap_owner_check_swap_record_clean_up() { netuid, coldkey )); }); -} \ No newline at end of file +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap_stake_is_not_lost --exact --nocapture +#[test] +fn test_revert_hotkey_swap_stake_is_not_lost() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let netuid2 = NetUid::from(2); + let tempo: u16 = 13; + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + let swap_cost = 1_000_000_000u64 * 2; + let stake2 = 1_000_000_000u64; + + // Setup + add_network(netuid, tempo, 0); + add_network(netuid2, tempo, 0); + register_ok_neuron(netuid, hk1, coldkey, 0); + register_ok_neuron(netuid2, hk1, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + + let hk1_stake_before_increase = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + assert!(hk1_stake_before_increase == 0.into(), "hk1 should have empty stake"); + + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &coldkey, + netuid, + 1_000_000_000u64.into(), + ); + + let hk1_stake_before_swap = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + assert!(hk1_stake_before_swap == 1_000_000_000.into(), "hk1 should have stake before swap"); + + step_block(20); + + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &coldkey, + netuid, + stake2.into(), + ); + + step_block(20); + + let hk2_stake_before_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); + let hk1_stake_before_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + + assert_eq!(hk1_stake_before_revert, stake2.into()); + + // Revert: hk2 -> hk1 + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + let hk1_stake_after_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); + let hk2_stake_after_revert = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk2, &coldkey, netuid); + + assert_eq!( + hk1_stake_after_revert, + hk2_stake_before_revert + stake2.into(), + ); + + // hk2 should be empty + assert_eq!(hk2_stake_after_revert, 0.into(), "hk2 should have no stake after revert"); + }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture +// This test confirms, that the old hotkey can be reverted after the hotkey swap +#[test] +fn test_revert_hotkey_swap() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let netuid2 = NetUid::from(2); + let tempo: u16 = 13; + let old_hotkey = U256::from(1); + let new_hotkey = U256::from(2); + let coldkey = U256::from(3); + let swap_cost = 1_000_000_000u64 * 2; + + // Setup initial state + add_network(netuid, tempo, 0); + add_network(netuid2, tempo, 0); + register_ok_neuron(netuid, old_hotkey, coldkey, 0); + register_ok_neuron(netuid2, old_hotkey, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + step_block(20); + + // Perform the first swap (only on netuid) + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &old_hotkey, + &new_hotkey, + Some(netuid) + )); + + assert!(SubtensorModule::is_hotkey_registered_on_any_network(&old_hotkey)); + + step_block(20); + + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &new_hotkey, + &old_hotkey, + Some(netuid) + )); + }); +} From d29c9e6783c6701325efc0411ca318759a94e2ec Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 4 Mar 2026 19:27:25 +0100 Subject: [PATCH 138/204] - Added test to check revert hotkey for parent keys and child keys --- .../src/tests/swap_hotkey_with_subnet.rs | 71 ++++++++++++++++++- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index c5b9037e55..2c1fe21d50 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1555,7 +1555,7 @@ fn test_swap_owner_check_swap_record_clean_up() { }); } -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap_stake_is_not_lost --exact --nocapture +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_stake_is_not_lost --exact --nocapture #[test] fn test_revert_hotkey_swap_stake_is_not_lost() { new_test_ext(1).execute_with(|| { @@ -1638,7 +1638,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { }); } -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey::test_revert_hotkey_swap --exact --nocapture +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap --exact --nocapture // This test confirms, that the old hotkey can be reverted after the hotkey swap #[test] fn test_revert_hotkey_swap() { @@ -1679,3 +1679,70 @@ fn test_revert_hotkey_swap() { )); }); } + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_parent_child_keys --exact --nocapture +#[test] +fn test_revert_hotkey_swap_parent_child_keys() { + new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + let parent1 = U256::from(4); + let parent2 = U256::from(5); + let netuid = add_dynamic_network(&hk1, &coldkey); + let netuid2 = add_dynamic_network(&hk2, &coldkey); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + + let parents = vec![(100u64, parent1), (200u64, parent2)]; + + ParentKeys::::insert(hk1, netuid, parents.clone()); + + ChildKeys::::insert(parent1, netuid, vec![(100u64, hk1)]); + ChildKeys::::insert(parent2, netuid, vec![(200u64, hk1)]); + + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + // Verify ParentKeys swap + assert_eq!(ParentKeys::::get(hk2, netuid), parents); + assert!(ParentKeys::::get(hk1, netuid).is_empty()); + + // Verify ChildKeys update for parents + assert_eq!(ChildKeys::::get(parent1, netuid), vec![(100u64, hk2)]); + assert_eq!(ChildKeys::::get(parent2, netuid), vec![(200u64, hk2)]); + + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + assert_eq!( + ParentKeys::::get(hk1, netuid), + parents, + "ParentKeys must be restored to hk1 after revert" + ); + assert!( + ParentKeys::::get(hk2, netuid).is_empty(), + "hk2 must have no ParentKeys after revert" + ); + + assert_eq!( + ChildKeys::::get(parent1, netuid), + vec![(100u64, hk1)], + "parent1 ChildKeys must point back to hk1 after revert" + ); + assert_eq!( + ChildKeys::::get(parent2, netuid), + vec![(200u64, hk1)], + "parent2 ChildKeys must point back to hk1 after revert" + ); + }); +} \ No newline at end of file From 7207aa69d916619238c596bba825e68cc9ab9ecb Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 13:33:23 -0500 Subject: [PATCH 139/204] Fix benchmarks --- pallets/subtensor/src/benchmarks.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 5a64afd8f8..98bb64c263 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -817,7 +817,7 @@ mod pallet_benchmarks { netuid, amount_to_be_staked, limit, - false, + true, ); } @@ -935,7 +935,7 @@ mod pallet_benchmarks { netuid, amount_unstaked, limit, - false, + true, ); } From 7e26631d33d5da573ea20bbf728661b3da99d9f5 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 13:38:08 -0500 Subject: [PATCH 140/204] Fix zepter --- runtime/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index b1197488bd..668d2910f1 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -220,6 +220,7 @@ std = [ "sp-io/std", "sp-tracing/std", "log/std", + "safe-math/std", "sp-storage/std", "sp-genesis-builder/std", "subtensor-precompiles/std", From cd637acbd629cae3969c70bd0cb85a3ed419071f Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 14:55:45 -0500 Subject: [PATCH 141/204] Fix weights --- pallets/subtensor/src/macros/dispatches.rs | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 767f24f4c6..96d61c21a2 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -712,7 +712,7 @@ mod dispatches { #[pallet::call_index(2)] #[pallet::weight((Weight::from_parts(340_800_000, 0) .saturating_add(T::DbWeight::get().reads(25_u64)) - .saturating_add(T::DbWeight::get().writes(16_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().writes(15_u64)), DispatchClass::Normal, Pays::Yes))] pub fn add_stake( origin: OriginFor, hotkey: T::AccountId, @@ -1042,7 +1042,7 @@ mod dispatches { #[pallet::call_index(7)] #[pallet::weight((Weight::from_parts(354_200_000, 0) .saturating_add(T::DbWeight::get().reads(47_u64)) - .saturating_add(T::DbWeight::get().writes(40_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().writes(39_u64)), DispatchClass::Normal, Pays::Yes))] pub fn burned_register( origin: OriginFor, netuid: NetUid, @@ -1491,8 +1491,8 @@ mod dispatches { /// - Thrown if key has hit transaction rate limit #[pallet::call_index(84)] #[pallet::weight((Weight::from_parts(358_500_000, 0) - .saturating_add(T::DbWeight::get().reads(41_u64)) - .saturating_add(T::DbWeight::get().writes(26_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().reads(40_u64)) + .saturating_add(T::DbWeight::get().writes(24_u64)), DispatchClass::Normal, Pays::Yes))] pub fn unstake_all_alpha(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_unstake_all_alpha(origin, hotkey) } @@ -1605,7 +1605,7 @@ mod dispatches { #[pallet::call_index(87)] #[pallet::weight(( Weight::from_parts(351_300_000, 0) - .saturating_add(T::DbWeight::get().reads(37_u64)) + .saturating_add(T::DbWeight::get().reads(36_u64)) .saturating_add(T::DbWeight::get().writes(24_u64)), DispatchClass::Normal, Pays::Yes @@ -1671,7 +1671,7 @@ mod dispatches { #[pallet::call_index(88)] #[pallet::weight((Weight::from_parts(402_900_000, 0) .saturating_add(T::DbWeight::get().reads(25_u64)) - .saturating_add(T::DbWeight::get().writes(16_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().writes(15_u64)), DispatchClass::Normal, Pays::Yes))] pub fn add_stake_limit( origin: OriginFor, hotkey: T::AccountId, @@ -1736,7 +1736,7 @@ mod dispatches { #[pallet::call_index(89)] #[pallet::weight((Weight::from_parts(377_400_000, 0) .saturating_add(T::DbWeight::get().reads(28_u64)) - .saturating_add(T::DbWeight::get().writes(14_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().writes(13_u64)), DispatchClass::Normal, Pays::Yes))] pub fn remove_stake_limit( origin: OriginFor, hotkey: T::AccountId, @@ -1779,8 +1779,8 @@ mod dispatches { #[pallet::call_index(90)] #[pallet::weight(( Weight::from_parts(411_500_000, 0) - .saturating_add(T::DbWeight::get().reads(37_u64)) - .saturating_add(T::DbWeight::get().writes(24_u64)), + .saturating_add(T::DbWeight::get().reads(36_u64)) + .saturating_add(T::DbWeight::get().writes(22_u64)), DispatchClass::Normal, Pays::Yes ))] @@ -1958,7 +1958,7 @@ mod dispatches { #[pallet::call_index(103)] #[pallet::weight((Weight::from_parts(395_300_000, 10142) .saturating_add(T::DbWeight::get().reads(28_u64)) - .saturating_add(T::DbWeight::get().writes(14_u64)), DispatchClass::Normal, Pays::Yes))] + .saturating_add(T::DbWeight::get().writes(13_u64)), DispatchClass::Normal, Pays::Yes))] pub fn remove_stake_full_limit( origin: T::RuntimeOrigin, hotkey: T::AccountId, @@ -2082,7 +2082,7 @@ mod dispatches { /// * commit_reveal_version (`u16`): /// - The client (bittensor-drand) version #[pallet::call_index(113)] - #[pallet::weight((Weight::from_parts(63_160_000, 0) + #[pallet::weight((Weight::from_parts(94_980_000, 0) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] pub fn commit_timelocked_weights( @@ -2556,7 +2556,7 @@ mod dispatches { #[pallet::weight(( Weight::from_parts(368_000_000, 8556) .saturating_add(T::DbWeight::get().reads(28_u64)) - .saturating_add(T::DbWeight::get().writes(17_u64)), + .saturating_add(T::DbWeight::get().writes(16_u64)), DispatchClass::Normal, Pays::Yes ))] From 69d77d7bf5f75118343d413cdb9bf49f7f076046 Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 4 Mar 2026 15:58:27 -0500 Subject: [PATCH 142/204] Fix swap_stake weight --- pallets/subtensor/src/macros/dispatches.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 96d61c21a2..93803cfc13 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -1606,7 +1606,7 @@ mod dispatches { #[pallet::weight(( Weight::from_parts(351_300_000, 0) .saturating_add(T::DbWeight::get().reads(36_u64)) - .saturating_add(T::DbWeight::get().writes(24_u64)), + .saturating_add(T::DbWeight::get().writes(22_u64)), DispatchClass::Normal, Pays::Yes ))] From a5820294f09c05b452a84e7b01364c99ab816c69 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 5 Mar 2026 10:06:46 +0800 Subject: [PATCH 143/204] reduce uncessary data copy --- precompiles/src/storage_query.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/precompiles/src/storage_query.rs b/precompiles/src/storage_query.rs index 796d1c8f04..455a9e81c1 100644 --- a/precompiles/src/storage_query.rs +++ b/precompiles/src/storage_query.rs @@ -103,12 +103,11 @@ where match sp_io::storage::get(input) { Some(value) => { - let result = value.to_vec(); - handle.record_db_read::(result.len())?; + handle.record_db_read::(value.len())?; Ok(PrecompileOutput { exit_status: ExitSucceed::Returned, - output: result, + output: value.to_vec(), }) } None => { From 5fca701124df1bd7d6aedffa80cbd307be7f6687 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 5 Mar 2026 10:08:02 +0800 Subject: [PATCH 144/204] bump 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 c5fd050fab..f27886e73c 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -263,7 +263,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: 386, + spec_version: 387, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 72ef608fff8eac852a3971a80cc10f79615a8aa0 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 12:24:35 +0100 Subject: [PATCH 145/204] - tests for: ParentKeys + Uid + AutoStakeDestination + SubnetOwnership --- .../src/tests/swap_hotkey_with_subnet.rs | 253 ++++++++++++++++-- 1 file changed, 226 insertions(+), 27 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 2c1fe21d50..81150e5dc7 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1680,25 +1680,173 @@ fn test_revert_hotkey_swap() { }); } -// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_parent_child_keys --exact --nocapture +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_parent_hotkey_childkey_maps --exact --nocapture #[test] -fn test_revert_hotkey_swap_parent_child_keys() { +fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let coldkey = U256::from(2); + let child = U256::from(3); + let child_other = U256::from(4); + let hk2 = U256::from(5); + + let netuid = add_dynamic_network(&hk1, &coldkey); + let netuid2 = add_dynamic_network(&hk1, &coldkey); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::create_account_if_non_existent(&coldkey, &hk1); + + mock_set_children(&coldkey, &hk1, netuid, &[(u64::MAX, child)]); + step_rate_limit(&TransactionType::SetChildren, netuid); + mock_schedule_children(&coldkey, &hk1, netuid, &[(u64::MAX, child_other)]); + + assert_eq!( + ParentKeys::::get(child, netuid), + vec![(u64::MAX, hk1)] + ); + assert_eq!( + ChildKeys::::get(hk1, netuid), + vec![(u64::MAX, child)] + ); + let existing_pending_child_keys = PendingChildKeys::::get(netuid, hk1); + assert_eq!(existing_pending_child_keys.0, vec![(u64::MAX, child_other)]); + + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + assert_eq!( + ParentKeys::::get(child, netuid), + vec![(u64::MAX, hk2)] + ); + assert_eq!( + ChildKeys::::get(hk2, netuid), + vec![(u64::MAX, child)] + ); + assert_eq!( + PendingChildKeys::::get(netuid, hk2), + existing_pending_child_keys + ); + assert!(ChildKeys::::get(hk1, netuid).is_empty()); + assert!(PendingChildKeys::::get(netuid, hk1).0.is_empty()); + + // Revert: hk2 -> hk1 + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + assert_eq!( + ParentKeys::::get(child, netuid), + vec![(u64::MAX, hk1)], + "ParentKeys must point back to hk1 after revert" + ); + assert_eq!( + ChildKeys::::get(hk1, netuid), + vec![(u64::MAX, child)], + "ChildKeys must be restored to hk1 after revert" + ); + assert_eq!( + PendingChildKeys::::get(netuid, hk1), + existing_pending_child_keys, + "PendingChildKeys must be restored to hk1 after revert" + ); + + assert!( + ChildKeys::::get(hk2, netuid).is_empty(), + "hk2 must have no ChildKeys after revert" + ); + assert!( + PendingChildKeys::::get(netuid, hk2).0.is_empty(), + "hk2 must have no PendingChildKeys after revert" + ); + }) +} +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_uids_and_keys --exact --nocapture +#[test] +fn test_revert_hotkey_swap_uids_and_keys() { + new_test_ext(1).execute_with(|| { + let uid = 5u16; let hk1 = U256::from(1); let hk2 = U256::from(2); let coldkey = U256::from(3); - let parent1 = U256::from(4); - let parent2 = U256::from(5); + let netuid = add_dynamic_network(&hk1, &coldkey); - let netuid2 = add_dynamic_network(&hk2, &coldkey); + let netuid2 = add_dynamic_network(&hk1, &coldkey); SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); - let parents = vec![(100u64, parent1), (200u64, parent2)]; + IsNetworkMember::::insert(hk1, netuid, true); + Uids::::insert(netuid, hk1, uid); + Keys::::insert(netuid, uid, hk1); - ParentKeys::::insert(hk1, netuid, parents.clone()); + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); - ChildKeys::::insert(parent1, netuid, vec![(100u64, hk1)]); - ChildKeys::::insert(parent2, netuid, vec![(200u64, hk1)]); + assert_eq!(Uids::::get(netuid, hk1), None); + assert_eq!(Uids::::get(netuid, hk2), Some(uid)); + assert_eq!(Keys::::get(netuid, uid), hk2); + + // Revert: hk2 -> hk1 + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + assert_eq!( + Uids::::get(netuid, hk2), + None, + "hk2 must have no uid after revert" + ); + assert_eq!( + Uids::::get(netuid, hk1), + Some(uid), + "hk1 must have its uid restored after revert" + ); + assert_eq!( + Keys::::get(netuid, uid), + hk1, + "Keys must point back to hk1 after revert" + ); + }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_auto_stake_destination --exact --nocapture +#[test] +fn test_revert_hotkey_swap_auto_stake_destination() { + new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + let netuid = NetUid::from(2u16); + let netuid2 = NetUid::from(3u16); + let staker1 = U256::from(4); + let staker2 = U256::from(5); + let coldkeys = vec![staker1, staker2, coldkey]; + + add_network(netuid, 1, 0); + add_network(netuid2, 1, 0); + register_ok_neuron(netuid, hk1, coldkey, 0); + register_ok_neuron(netuid2, hk1, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + + AutoStakeDestinationColdkeys::::insert(hk1, netuid, coldkeys.clone()); + AutoStakeDestination::::insert(coldkey, netuid, hk1); + AutoStakeDestination::::insert(staker1, netuid, hk1); + AutoStakeDestination::::insert(staker2, netuid, hk1); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); assert_ok!(SubtensorModule::do_swap_hotkey( @@ -1708,14 +1856,16 @@ fn test_revert_hotkey_swap_parent_child_keys() { Some(netuid) )); - // Verify ParentKeys swap - assert_eq!(ParentKeys::::get(hk2, netuid), parents); - assert!(ParentKeys::::get(hk1, netuid).is_empty()); - - // Verify ChildKeys update for parents - assert_eq!(ChildKeys::::get(parent1, netuid), vec![(100u64, hk2)]); - assert_eq!(ChildKeys::::get(parent2, netuid), vec![(200u64, hk2)]); + assert_eq!( + AutoStakeDestinationColdkeys::::get(hk2, netuid), + coldkeys + ); + assert!(AutoStakeDestinationColdkeys::::get(hk1, netuid).is_empty()); + assert_eq!(AutoStakeDestination::::get(coldkey, netuid), Some(hk2)); + assert_eq!(AutoStakeDestination::::get(staker1, netuid), Some(hk2)); + assert_eq!(AutoStakeDestination::::get(staker2, netuid), Some(hk2)); + // Revert: hk2 -> hk1 step_block(20); assert_ok!(SubtensorModule::do_swap_hotkey( RuntimeOrigin::signed(coldkey), @@ -1725,24 +1875,73 @@ fn test_revert_hotkey_swap_parent_child_keys() { )); assert_eq!( - ParentKeys::::get(hk1, netuid), - parents, - "ParentKeys must be restored to hk1 after revert" + AutoStakeDestinationColdkeys::::get(hk1, netuid), + coldkeys, + "AutoStakeDestinationColdkeys must be restored to hk1 after revert" ); assert!( - ParentKeys::::get(hk2, netuid).is_empty(), - "hk2 must have no ParentKeys after revert" + AutoStakeDestinationColdkeys::::get(hk2, netuid).is_empty(), + "hk2 must have no AutoStakeDestinationColdkeys after revert" + ); + assert_eq!( + AutoStakeDestination::::get(coldkey, netuid), + Some(hk1), + "coldkey AutoStakeDestination must point back to hk1 after revert" + ); + assert_eq!( + AutoStakeDestination::::get(staker1, netuid), + Some(hk1), + "staker1 AutoStakeDestination must point back to hk1 after revert" + ); + assert_eq!( + AutoStakeDestination::::get(staker2, netuid), + Some(hk1), + "staker2 AutoStakeDestination must point back to hk1 after revert" ); + }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_subnet_owner --exact --nocapture +#[test] +fn test_revert_hotkey_swap_subnet_owner() { + new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + + let netuid = add_dynamic_network(&hk1, &coldkey); + let netuid2 = add_dynamic_network(&hk1, &coldkey); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + + assert_eq!(SubnetOwnerHotkey::::get(netuid), hk1); + + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); assert_eq!( - ChildKeys::::get(parent1, netuid), - vec![(100u64, hk1)], - "parent1 ChildKeys must point back to hk1 after revert" + SubnetOwnerHotkey::::get(netuid), + hk2, + "hk2 must be subnet owner after swap" ); + + // Revert: hk2 -> hk1 + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + assert_eq!( - ChildKeys::::get(parent2, netuid), - vec![(200u64, hk1)], - "parent2 ChildKeys must point back to hk1 after revert" + SubnetOwnerHotkey::::get(netuid), + hk1, + "hk1 must be restored as subnet owner after revert" ); }); } \ No newline at end of file From 7bd2ca1889cf71ee92a87a21c5b89f29db87eb19 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 12:36:21 +0100 Subject: [PATCH 146/204] - tests for: Dividends --- .../src/tests/swap_hotkey_with_subnet.rs | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 81150e5dc7..5036659dbc 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1944,4 +1944,106 @@ fn test_revert_hotkey_swap_subnet_owner() { "hk1 must be restored as subnet owner after revert" ); }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap_dividends --exact --nocapture +#[test] +fn test_revert_hotkey_swap_dividends() { + new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let hk2 = U256::from(2); + let coldkey = U256::from(3); + + let netuid = add_dynamic_network(&hk1, &coldkey); + let netuid2 = add_dynamic_network(&hk1, &coldkey); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + + let amount = 10_000; + let shares = U64F64::from_num(123456); + + TotalHotkeyAlpha::::insert(hk1, netuid, AlphaCurrency::from(amount)); + TotalHotkeyAlphaLastEpoch::::insert(hk1, netuid, AlphaCurrency::from(amount * 2)); + TotalHotkeyShares::::insert(hk1, netuid, U64F64::from_num(shares)); + Alpha::::insert((hk1, coldkey, netuid), U64F64::from_num(amount)); + AlphaDividendsPerSubnet::::insert(netuid, hk1, AlphaCurrency::from(amount)); + + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + assert_eq!(TotalHotkeyAlpha::::get(hk1, netuid), AlphaCurrency::ZERO); + assert_eq!(TotalHotkeyAlpha::::get(hk2, netuid), AlphaCurrency::from(amount)); + assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), AlphaCurrency::ZERO); + assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), AlphaCurrency::from(amount * 2)); + assert_eq!(TotalHotkeyShares::::get(hk1, netuid), U64F64::from_num(0)); + assert_eq!(TotalHotkeyShares::::get(hk2, netuid), U64F64::from_num(shares)); + assert_eq!(Alpha::::get((hk1, coldkey, netuid)), U64F64::from_num(0)); + assert_eq!(Alpha::::get((hk2, coldkey, netuid)), U64F64::from_num(amount)); + assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk1), AlphaCurrency::ZERO); + assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk2), AlphaCurrency::from(amount)); + + // Revert: hk2 -> hk1 + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + assert_eq!( + TotalHotkeyAlpha::::get(hk2, netuid), + AlphaCurrency::ZERO, + "hk2 TotalHotkeyAlpha must be zero after revert" + ); + assert_eq!( + TotalHotkeyAlpha::::get(hk1, netuid), + AlphaCurrency::from(amount), + "hk1 TotalHotkeyAlpha must be restored after revert" + ); + assert_eq!( + TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), + AlphaCurrency::ZERO, + "hk2 TotalHotkeyAlphaLastEpoch must be zero after revert" + ); + assert_eq!( + TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), + AlphaCurrency::from(amount * 2), + "hk1 TotalHotkeyAlphaLastEpoch must be restored after revert" + ); + assert_eq!( + TotalHotkeyShares::::get(hk2, netuid), + U64F64::from_num(0), + "hk2 TotalHotkeyShares must be zero after revert" + ); + assert_eq!( + TotalHotkeyShares::::get(hk1, netuid), + U64F64::from_num(shares), + "hk1 TotalHotkeyShares must be restored after revert" + ); + assert_eq!( + Alpha::::get((hk2, coldkey, netuid)), + U64F64::from_num(0), + "hk2 Alpha must be zero after revert" + ); + assert_eq!( + Alpha::::get((hk1, coldkey, netuid)), + U64F64::from_num(amount), + "hk1 Alpha must be restored after revert" + ); + assert_eq!( + AlphaDividendsPerSubnet::::get(netuid, hk2), + AlphaCurrency::ZERO, + "hk2 AlphaDividendsPerSubnet must be zero after revert" + ); + assert_eq!( + AlphaDividendsPerSubnet::::get(netuid, hk1), + AlphaCurrency::from(amount), + "hk1 AlphaDividendsPerSubnet must be restored after revert" + ); + }); } \ No newline at end of file From 5ea427476c234c1c3bea497c7ffbdbc6f50ea24a Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Tue, 3 Mar 2026 15:03:44 +0300 Subject: [PATCH 147/204] Migrate to vitest --- e2e/pnpm-lock.yaml | 503 +----------------- e2e/staking/package.json | 10 +- e2e/staking/setup.ts | 14 +- e2e/staking/test/add-stake-limit.test.ts | 9 +- e2e/staking/test/add-stake.test.ts | 7 +- e2e/staking/test/claim-root.test.ts | 38 +- e2e/staking/test/move-stake.test.ts | 34 +- .../test/remove-stake-full-limit.test.ts | 16 +- e2e/staking/test/remove-stake-limit.test.ts | 13 +- e2e/staking/test/remove-stake.test.ts | 9 +- e2e/staking/test/swap-stake-limit.test.ts | 16 +- e2e/staking/test/swap-stake.test.ts | 23 +- e2e/staking/test/transfer-stake.test.ts | 36 +- e2e/staking/test/unstake-all-alpha.test.ts | 10 +- e2e/staking/test/unstake-all.test.ts | 60 ++- e2e/staking/tsconfig.json | 2 +- e2e/staking/vitest.config.ts | 22 + 17 files changed, 162 insertions(+), 660 deletions(-) create mode 100644 e2e/staking/vitest.config.ts diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index a6bc219540..8f84477ae0 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -116,19 +116,13 @@ importers: e2e-shared: specifier: workspace:* version: link:../shared - mocha: - specifier: ^11.1.0 - version: 11.7.5 - tsx: - specifier: ^4.21.0 - version: 4.21.0 devDependencies: - '@types/mocha': - specifier: ^10.0.10 - version: 10.0.10 '@types/node': specifier: 'catalog:' version: 24.10.13 + vitest: + specifier: 'catalog:' + version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) packages: @@ -457,10 +451,6 @@ packages: cpu: [x64] os: [win32] - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -494,10 +484,6 @@ packages: resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} engines: {node: '>= 20.19.0'} - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@polkadot-api/cli@0.18.1': resolution: {integrity: sha512-jPa8WSNPZWdy372sBAUnm0nU1XX5mLbmgkOOU39+zpYPSE12mYXyM3r7JuT5IHdAccEJr6qK2DplPFTeNSyq9A==} hasBin: true @@ -862,9 +848,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/mocha@10.0.10': - resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} - '@types/node@24.10.13': resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} @@ -911,44 +894,20 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} - any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bn.js@5.2.2: resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - - browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -959,18 +918,10 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -987,17 +938,6 @@ packages: resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} engines: {node: '>=18.20'} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - commander@14.0.3: resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} @@ -1026,10 +966,6 @@ packages: supports-color: optional: true - decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - deepmerge-ts@7.1.5: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} @@ -1038,19 +974,6 @@ packages: resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} engines: {node: '>=12.20'} - diff@7.0.0: - resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} - engines: {node: '>=0.3.1'} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} @@ -1064,14 +987,6 @@ packages: engines: {node: '>=18'} hasBin: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -1096,21 +1011,9 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - fs.promises.exists@1.1.4: resolution: {integrity: sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==} @@ -1119,10 +1022,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} @@ -1134,19 +1033,6 @@ packages: get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} - glob@10.5.0: - resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1167,22 +1053,10 @@ packages: resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} engines: {node: '>=18'} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - is-interactive@2.0.0: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -1191,10 +1065,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} @@ -1202,9 +1072,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -1212,10 +1079,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} - hasBin: true - lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -1227,17 +1090,9 @@ packages: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - log-symbols@7.0.1: resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} engines: {node: '>=18'} @@ -1256,14 +1111,6 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} - engines: {node: '>=16 || 14 >=14.17'} - mlkem@2.5.0: resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} engines: {node: '>=16.0.0'} @@ -1271,11 +1118,6 @@ packages: mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - mocha@11.7.5: - resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1314,17 +1156,6 @@ packages: resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} engines: {node: '>=20'} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - parse-json@8.3.0: resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} engines: {node: '>=18'} @@ -1333,10 +1164,6 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1345,10 +1172,6 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1407,9 +1230,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - read-pkg@10.1.0: resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} engines: {node: '>=20'} @@ -1422,10 +1242,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -1445,9 +1261,6 @@ packages: rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - scale-ts@1.6.1: resolution: {integrity: sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==} @@ -1456,9 +1269,6 @@ packages: engines: {node: '>=10'} hasBin: true - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1512,22 +1322,10 @@ packages: resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} engines: {node: '>=18'} - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - string-width@8.1.1: resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} engines: {node: '>=20'} - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - strip-ansi@7.1.2: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} @@ -1536,23 +1334,11 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - sucrase@3.35.1: resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - tagged-tag@1.0.0: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} @@ -1752,17 +1538,6 @@ packages: engines: {node: '>=8'} hasBin: true - workerpool@9.3.4: - resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - write-file-atomic@5.0.1: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -1787,26 +1562,6 @@ packages: utf-8-validate: optional: true - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - yoctocolors@2.1.2: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} @@ -1981,15 +1736,6 @@ snapshots: '@esbuild/win32-x64@0.27.3': optional: true - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -2018,9 +1764,6 @@ snapshots: '@noble/hashes@2.0.1': {} - '@pkgjs/parseargs@0.11.0': - optional: true - '@polkadot-api/cli@0.18.1(postcss@8.5.6)(tsx@4.21.0)': dependencies: '@commander-js/extra-typings': 14.0.0(commander@14.0.3) @@ -2441,8 +2184,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/mocha@10.0.10': {} - '@types/node@24.10.13': dependencies: undici-types: 7.16.0 @@ -2498,32 +2239,14 @@ snapshots: acorn@8.16.0: {} - ansi-regex@5.0.1: {} - ansi-regex@6.2.2: {} - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.3: {} - any-promise@1.3.0: {} - argparse@2.0.1: {} - assertion-error@2.0.1: {} - balanced-match@1.0.2: {} - bn.js@5.2.2: {} - brace-expansion@2.0.2: - dependencies: - balanced-match: 1.0.2 - - browser-stdout@1.3.1: {} - bundle-require@5.1.0(esbuild@0.25.12): dependencies: esbuild: 0.25.12 @@ -2531,15 +2254,8 @@ snapshots: cac@6.7.14: {} - camelcase@6.3.0: {} - chai@6.2.2: {} - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chalk@5.6.2: {} chokidar@4.0.3: @@ -2552,18 +2268,6 @@ snapshots: cli-spinners@3.4.0: {} - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - commander@14.0.3: {} commander@4.1.1: {} @@ -2578,26 +2282,14 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - debug@4.4.3(supports-color@8.1.1): + debug@4.4.3: dependencies: ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 - - decamelize@4.0.0: {} deepmerge-ts@7.1.5: {} detect-indent@7.0.2: {} - diff@7.0.0: {} - - eastasianwidth@0.2.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - es-module-lexer@1.7.0: {} esbuild@0.25.12: @@ -2658,10 +2350,6 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 - escalade@3.2.0: {} - - escape-string-regexp@4.0.0: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 @@ -2691,31 +2379,17 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - fix-dts-default-cjs-exports@1.0.1: dependencies: magic-string: 0.30.21 mlly: 1.8.0 rollup: 4.57.1 - flat@5.0.2: {} - - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - fs.promises.exists@1.1.4: {} fsevents@2.3.3: optional: true - get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} get-stream@9.0.1: @@ -2726,19 +2400,7 @@ snapshots: get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 - - glob@10.5.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.9 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - has-flag@4.0.0: {} - - he@1.2.0: {} + optional: true hosted-git-info@7.0.2: dependencies: @@ -2754,55 +2416,28 @@ snapshots: index-to-position@1.2.0: {} - is-fullwidth-code-point@3.0.0: {} - is-interactive@2.0.0: {} - is-path-inside@3.0.3: {} - - is-plain-obj@2.1.0: {} - is-plain-obj@4.1.0: {} is-stream@4.0.1: {} - is-unicode-supported@0.1.0: {} - is-unicode-supported@2.1.0: {} isexe@2.0.0: {} - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - joycon@3.1.1: {} js-tokens@4.0.0: {} - js-yaml@4.1.1: - dependencies: - argparse: 2.0.1 - lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} load-tsconfig@0.2.5: {} - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - lodash.sortby@4.7.0: {} - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - log-symbols@7.0.1: dependencies: is-unicode-supported: 2.1.0 @@ -2818,12 +2453,6 @@ snapshots: mimic-function@5.0.1: {} - minimatch@9.0.9: - dependencies: - brace-expansion: 2.0.2 - - minipass@7.1.3: {} - mlkem@2.5.0: {} mlly@1.8.0: @@ -2833,30 +2462,6 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.3 - mocha@11.7.5: - dependencies: - browser-stdout: 1.3.1 - chokidar: 4.0.3 - debug: 4.4.3(supports-color@8.1.1) - diff: 7.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 10.5.0 - he: 1.2.0 - is-path-inside: 3.0.3 - js-yaml: 4.1.1 - log-symbols: 4.1.0 - minimatch: 9.0.9 - ms: 2.1.3 - picocolors: 1.1.1 - serialize-javascript: 6.0.2 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 9.3.4 - yargs: 17.7.2 - yargs-parser: 21.1.1 - yargs-unparser: 2.0.0 - ms@2.1.3: {} mz@2.7.0: @@ -2903,16 +2508,6 @@ snapshots: stdin-discarder: 0.3.1 string-width: 8.1.1 - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - package-json-from-dist@1.0.1: {} - parse-json@8.3.0: dependencies: '@babel/code-frame': 7.29.0 @@ -2921,17 +2516,10 @@ snapshots: parse-ms@4.0.0: {} - path-exists@4.0.0: {} - path-key@3.1.1: {} path-key@4.0.0: {} - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.3 - pathe@2.0.3: {} picocolors@1.1.1: {} @@ -3000,10 +2588,6 @@ snapshots: punycode@2.3.1: {} - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - read-pkg@10.1.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -3022,11 +2606,10 @@ snapshots: readdirp@4.1.2: {} - require-directory@2.1.1: {} - resolve-from@5.0.0: {} - resolve-pkg-maps@1.0.0: {} + resolve-pkg-maps@1.0.0: + optional: true restore-cursor@5.1.0: dependencies: @@ -3068,16 +2651,10 @@ snapshots: dependencies: tslib: 2.8.1 - safe-buffer@5.2.1: {} - scale-ts@1.6.1: {} semver@7.7.4: {} - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -3125,35 +2702,17 @@ snapshots: stdin-discarder@0.3.1: {} - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.2 - string-width@8.1.1: dependencies: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - strip-ansi@7.1.2: dependencies: ansi-regex: 6.2.2 strip-final-newline@4.0.0: {} - strip-json-comments@3.1.1: {} - sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -3164,14 +2723,6 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - tagged-tag@1.0.0: {} thenify-all@1.6.0: @@ -3215,7 +2766,7 @@ snapshots: cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 - debug: 4.4.3(supports-color@8.1.1) + debug: 4.4.3 esbuild: 0.25.12 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 @@ -3243,6 +2794,7 @@ snapshots: get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 + optional: true type-fest@4.41.0: {} @@ -3336,20 +2888,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - workerpool@9.3.4: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.1.2 - write-file-atomic@5.0.1: dependencies: imurmurhash: 0.1.4 @@ -3372,27 +2910,4 @@ snapshots: ws@8.19.0: {} - y18n@5.0.8: {} - - yargs-parser@21.1.1: {} - - yargs-unparser@2.0.0: - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yocto-queue@0.1.0: {} - yoctocolors@2.1.2: {} diff --git a/e2e/staking/package.json b/e2e/staking/package.json index 5320fad9e3..80648d3d0f 100644 --- a/e2e/staking/package.json +++ b/e2e/staking/package.json @@ -4,16 +4,14 @@ "type": "module", "license": "ISC", "scripts": { - "test": "tsx node_modules/mocha/bin/mocha.js --timeout 999999 --retries 1 --file setup.ts --extension ts \"test/**/*.ts\"" + "test": "vitest run" }, "dependencies": { - "e2e-shared": "workspace:*", - "mocha": "^11.1.0", - "tsx": "^4.21.0" + "e2e-shared": "workspace:*" }, "devDependencies": { - "@types/mocha": "^10.0.10", - "@types/node": "catalog:" + "@types/node": "catalog:", + "vitest": "catalog:" }, "prettier": { "singleQuote": false, diff --git a/e2e/staking/setup.ts b/e2e/staking/setup.ts index 71c58ab0ca..51a3434559 100644 --- a/e2e/staking/setup.ts +++ b/e2e/staking/setup.ts @@ -83,10 +83,7 @@ async function stopNetwork() { nodeLog("Network stopped"); } -before(async function () { - // Increase timeout for network startup (2 minutes) - this.timeout(120000); - +export async function setup() { // Start the network await startNetwork(); @@ -98,15 +95,12 @@ before(async function () { // By default, the lock cost doubles with each subnet registration and decays over 14 days (100,800 blocks). // Without this, tests creating multiple subnets would fail with CannotAffordLockCost. await sudoSetLockReductionInterval(api, 1); -}); - -after(async function () { - // Increase timeout for cleanup - this.timeout(30000); +} +export async function teardown() { // Destroy the API client first destroyClient(); // Stop the network await stopNetwork(); -}); +} diff --git a/e2e/staking/test/add-stake-limit.test.ts b/e2e/staking/test/add-stake-limit.test.ts index 991cccc62c..63e1bb6ba0 100644 --- a/e2e/staking/test/add-stake-limit.test.ts +++ b/e2e/staking/test/add-stake-limit.test.ts @@ -1,11 +1,10 @@ -import * as assert from "assert"; +import { describe, it, expect, beforeAll } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, convertPublicKeyToSs58, forceSetBalance, addNewSubnetwork, - burnedRegister, startCall, addStakeLimit, getStake, @@ -20,7 +19,7 @@ describe("▶ add_stake_limit extrinsic", () => { const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; - before(async () => { + beforeAll(async () => { const api = await getDevnetApi(); await forceSetBalance(api, hotkeyAddress); await forceSetBalance(api, coldkeyAddress); @@ -41,7 +40,7 @@ describe("▶ add_stake_limit extrinsic", () => { // Verify stake increased const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); - assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + expect(stakeAfter, "Stake should increase").toBeGreaterThan(stakeBefore); log.info("✅ Successfully added stake with limit (allow partial)."); }); @@ -59,7 +58,7 @@ describe("▶ add_stake_limit extrinsic", () => { // Verify stake increased const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); - assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + expect(stakeAfter, "Stake should increase").toBeGreaterThan(stakeBefore); log.info("✅ Successfully added stake with limit (fill or kill)."); }); diff --git a/e2e/staking/test/add-stake.test.ts b/e2e/staking/test/add-stake.test.ts index 0a0cfe756c..fd3eecf052 100644 --- a/e2e/staking/test/add-stake.test.ts +++ b/e2e/staking/test/add-stake.test.ts @@ -1,11 +1,10 @@ -import * as assert from "assert"; +import { describe, it, expect, beforeAll } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, convertPublicKeyToSs58, forceSetBalance, addNewSubnetwork, - burnedRegister, startCall, addStake, getStake, @@ -20,7 +19,7 @@ describe("▶ add_stake extrinsic", () => { const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; - before(async () => { + beforeAll(async () => { const api = await getDevnetApi(); await forceSetBalance(api, hotkeyAddress); await forceSetBalance(api, coldkeyAddress); @@ -40,7 +39,7 @@ describe("▶ add_stake extrinsic", () => { // Verify stake increased const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); - assert.ok(stakeAfter > stakeBefore, `Stake should increase: before=${stakeBefore}, after=${stakeAfter}`); + expect(stakeAfter, "Stake should increase after adding stake").toBeGreaterThan(stakeBefore); log.info("✅ Successfully added stake."); }); diff --git a/e2e/staking/test/claim-root.test.ts b/e2e/staking/test/claim-root.test.ts index cd0d8fec8f..5f48f20b2b 100644 --- a/e2e/staking/test/claim-root.test.ts +++ b/e2e/staking/test/claim-root.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -15,14 +15,12 @@ import { addStake, getStake, claimRoot, - getTempo, sudoSetTempo, waitForBlocks, getRootClaimable, getRootClaimed, isSubtokenEnabled, sudoSetSubtokenEnabled, - isNetworkAdded, sudoSetAdminFreezeWindow, sudoSetEmaPriceHalvingPeriod, getSubnetTAO, @@ -56,7 +54,7 @@ describe("▶ set_root_claim_type extrinsic", () => { const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); log.info(`Root claim type after: ${claimTypeAfter}`); - assert.strictEqual(claimTypeAfter, "Keep", `Expected claim type to be Keep, got ${claimTypeAfter}`); + expect(claimTypeAfter).toBe("Keep"); log.info("✅ Successfully set root claim type to Keep."); }); @@ -73,7 +71,7 @@ describe("▶ set_root_claim_type extrinsic", () => { await setRootClaimType(api, coldkey, "Keep"); const claimTypeBefore = await getRootClaimType(api, coldkeyAddress); log.info(`Root claim type before: ${claimTypeBefore}`); - assert.strictEqual(claimTypeBefore, "Keep", "Should be Keep before changing to Swap"); + expect(claimTypeBefore).toBe("Keep"); // Set root claim type to Swap await setRootClaimType(api, coldkey, "Swap"); @@ -82,7 +80,7 @@ describe("▶ set_root_claim_type extrinsic", () => { const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); log.info(`Root claim type after: ${claimTypeAfter}`); - assert.strictEqual(claimTypeAfter, "Swap", `Expected claim type to be Swap, got ${claimTypeAfter}`); + expect(claimTypeAfter).toBe("Swap"); log.info("✅ Successfully set root claim type to Swap."); }); @@ -107,9 +105,9 @@ describe("▶ set_root_claim_type extrinsic", () => { const claimTypeAfter = await getRootClaimType(api, coldkeyAddress); log.info(`Root claim type after: ${JSON.stringify(claimTypeAfter)}`); - assert.strictEqual(typeof claimTypeAfter, "object", "Expected claim type to be an object"); - assert.strictEqual((claimTypeAfter as { type: string }).type, "KeepSubnets", "Expected type to be KeepSubnets"); - assert.deepStrictEqual((claimTypeAfter as { subnets: number[] }).subnets, subnetsToKeep, "Expected subnets to match"); + expect(typeof claimTypeAfter).toBe("object"); + expect((claimTypeAfter as { type: string }).type).toBe("KeepSubnets"); + expect((claimTypeAfter as { subnets: number[] }).subnets).toEqual(subnetsToKeep); log.info("✅ Successfully set root claim type to KeepSubnets."); }); @@ -131,7 +129,7 @@ describe("▶ sudo_set_num_root_claims extrinsic", () => { const numClaimsAfter = await getNumRootClaims(api); log.info(`Num root claims after: ${numClaimsAfter}`); - assert.strictEqual(numClaimsAfter, newValue, `Expected num root claims to be ${newValue}, got ${numClaimsAfter}`); + expect(numClaimsAfter).toBe(newValue); log.info("✅ Successfully set num root claims."); }); @@ -168,7 +166,7 @@ describe("▶ sudo_set_root_claim_threshold extrinsic", () => { log.info(`Root claim threshold after: ${thresholdAfter}`); const expectedStoredValue = newThreshold * (1n << 32n); // I96F32 encoding - assert.strictEqual(thresholdAfter, expectedStoredValue, `Expected threshold to be ${expectedStoredValue}, got ${thresholdAfter}`); + expect(thresholdAfter).toBe(expectedStoredValue); log.info("✅ Successfully set root claim threshold."); }); @@ -213,7 +211,7 @@ describe("▶ claim_root extrinsic", () => { await sudoSetSubtokenEnabled(api, ROOT_NETUID, true); const subtokenEnabledAfter = await isSubtokenEnabled(api, ROOT_NETUID); log.info(`ROOT subtoken enabled: ${subtokenEnabledAfter}`); - assert.strictEqual(subtokenEnabledAfter, true, "ROOT subtoken should be enabled"); + expect(subtokenEnabledAfter).toBe(true); } // Create TWO dynamic subnets - needed for root_sell_flag to become true @@ -258,7 +256,7 @@ describe("▶ claim_root extrinsic", () => { // Verify root stake was added const rootStake = await getStake(api, owner1HotkeyAddress, stakerColdkeyAddress, ROOT_NETUID); log.info(`Root stake: ${rootStake}`); - assert.ok(rootStake > 0n, "Should have stake on root subnet"); + expect(rootStake, "Should have stake on root subnet").toBeGreaterThan(0n); // Add stake to both dynamic subnets (owner stake to enable emissions flow) const subnetStakeAmount = tao(50); @@ -274,7 +272,7 @@ describe("▶ claim_root extrinsic", () => { await setRootClaimType(api, stakerColdkey, "Keep"); const claimType = await getRootClaimType(api, stakerColdkeyAddress); log.info(`Root claim type: ${claimType}`); - assert.strictEqual(claimType, "Keep", "Should have Keep claim type"); + expect(claimType).toBe("Keep"); // Wait for blocks to: // 1. Allow moving prices to converge (need sum > 1.0 for root_sell_flag) @@ -330,10 +328,7 @@ describe("▶ claim_root extrinsic", () => { log.info(`RootClaimed value: ${rootClaimed}`); // Verify dividends were claimed - assert.ok( - stakerSubnetStakeAfter > stakerSubnetStakeBefore, - `Stake should increase after claiming root dividends: before=${stakerSubnetStakeBefore}, after=${stakerSubnetStakeAfter}` - ); + expect(stakerSubnetStakeAfter, "Stake should increase after claiming root dividends").toBeGreaterThan(stakerSubnetStakeBefore); log.info(`✅ Root claim successful: stake increased from ${stakerSubnetStakeBefore} to ${stakerSubnetStakeAfter}`); }); @@ -414,7 +409,7 @@ describe("▶ claim_root extrinsic", () => { await setRootClaimType(api, stakerColdkey, "Swap"); const claimType = await getRootClaimType(api, stakerColdkeyAddress); log.info(`Root claim type: ${claimType}`); - assert.strictEqual(claimType, "Swap", "Should have Swap claim type"); + expect(claimType).toBe("Swap"); // Wait for blocks const blocksToWait = 25; @@ -449,10 +444,7 @@ describe("▶ claim_root extrinsic", () => { log.info(`RootClaimed value: ${rootClaimed}`); // With Swap type, ROOT stake should increase (not dynamic subnet stake) - assert.ok( - rootStakeAfter > rootStakeBefore, - `ROOT stake should increase after claiming with Swap type: before=${rootStakeBefore}, after=${rootStakeAfter}` - ); + expect(rootStakeAfter, "ROOT stake should increase after claiming with Swap type").toBeGreaterThan(rootStakeBefore); log.info(`✅ Root claim with Swap successful: ROOT stake increased from ${rootStakeBefore} to ${rootStakeAfter}`); }); diff --git a/e2e/staking/test/move-stake.test.ts b/e2e/staking/test/move-stake.test.ts index efe8e48a58..532ffce168 100644 --- a/e2e/staking/test/move-stake.test.ts +++ b/e2e/staking/test/move-stake.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -45,7 +45,7 @@ describe("▶ move_stake extrinsic", () => { // Get initial stakes (converted from U64F64 for display) const originStakeBefore = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid1); const destStakeBefore = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid2); - assert.ok(originStakeBefore > 0n, "Origin hotkey should have stake before move"); + expect(originStakeBefore, "Origin hotkey should have stake before move").toBeGreaterThan(0n); log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); @@ -53,15 +53,7 @@ describe("▶ move_stake extrinsic", () => { // Use raw U64F64 value for the extrinsic const originStakeRaw = await getStakeRaw(api, originHotkeyAddress, coldkeyAddress, netuid1); const moveAmount = originStakeRaw / 2n; - await moveStake( - api, - coldkey, - originHotkeyAddress, - destinationHotkeyAddress, - netuid1, - netuid2, - moveAmount - ); + await moveStake(api, coldkey, originHotkeyAddress, destinationHotkeyAddress, netuid1, netuid2, moveAmount); // Verify stakes changed const originStakeAfter = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid1); @@ -69,8 +61,8 @@ describe("▶ move_stake extrinsic", () => { log.info(`Origin stake (netuid1) after: ${originStakeAfter}, Destination stake (netuid2) after: ${destStakeAfter}`); - assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); - assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + expect(originStakeAfter, "Origin stake should decrease").toBeLessThan(originStakeBefore); + expect(destStakeAfter, "Destination stake should increase").toBeGreaterThan(destStakeBefore); log.info("✅ Successfully moved stake to another hotkey across subnets."); }); @@ -103,7 +95,7 @@ describe("▶ move_stake extrinsic", () => { // Get initial stakes (converted from U64F64 for display) const originStakeBefore = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid); const destStakeBefore = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid); - assert.ok(originStakeBefore > 0n, "Origin hotkey should have stake before move"); + expect(originStakeBefore, "Origin hotkey should have stake before move").toBeGreaterThan(0n); log.info(`Origin stake before: ${originStakeBefore}, Destination stake before: ${destStakeBefore}`); @@ -111,15 +103,7 @@ describe("▶ move_stake extrinsic", () => { // Use raw U64F64 value for the extrinsic const originStakeRaw = await getStakeRaw(api, originHotkeyAddress, coldkeyAddress, netuid); const moveAmount = originStakeRaw / 2n; - await moveStake( - api, - coldkey, - originHotkeyAddress, - destinationHotkeyAddress, - netuid, - netuid, - moveAmount - ); + await moveStake(api, coldkey, originHotkeyAddress, destinationHotkeyAddress, netuid, netuid, moveAmount); // Verify stakes changed const originStakeAfter = await getStake(api, originHotkeyAddress, coldkeyAddress, netuid); @@ -127,8 +111,8 @@ describe("▶ move_stake extrinsic", () => { log.info(`Origin stake after: ${originStakeAfter}, Destination stake after: ${destStakeAfter}`); - assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); - assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + expect(originStakeAfter, "Origin stake should decrease").toBeLessThan(originStakeBefore); + expect(destStakeAfter, "Destination stake should increase").toBeGreaterThan(destStakeBefore); log.info("✅ Successfully moved stake to another hotkey on the same subnet."); }); diff --git a/e2e/staking/test/remove-stake-full-limit.test.ts b/e2e/staking/test/remove-stake-full-limit.test.ts index 782864c82e..7e8538ed30 100644 --- a/e2e/staking/test/remove-stake-full-limit.test.ts +++ b/e2e/staking/test/remove-stake-full-limit.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect, beforeAll } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -21,7 +21,7 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; - before(async () => { + beforeAll(async () => { const api = await getDevnetApi(); await forceSetBalance(api, hotkeyAddress); await forceSetBalance(api, coldkeyAddress); @@ -39,7 +39,7 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); - assert.ok(stakeBefore > 0n, "Should have stake before removal"); + expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove all stake with a reasonable limit price (low limit to avoid slippage rejection) // Using a low limit price (0.09 TAO per alpha) allows the transaction to succeed @@ -51,8 +51,8 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const balanceAfter = await getBalance(api, coldkeyAddress); log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); - assert.strictEqual(stakeAfter, 0n, `Stake should be zero after full removal, got ${stakeAfter}`); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + expect(stakeAfter, "Stake should be zero after full removal").toBe(0n); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully removed all stake with price limit."); }); @@ -67,7 +67,7 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); - assert.ok(stakeBefore > 0n, "Should have stake before removal"); + expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove all stake without limit price (undefined = no slippage protection) await removeStakeFullLimit(api, coldkey, hotkeyAddress, netuid, undefined); @@ -77,8 +77,8 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const balanceAfter = await getBalance(api, coldkeyAddress); log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); - assert.strictEqual(stakeAfter, 0n, `Stake should be zero after full removal, got ${stakeAfter}`); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + expect(stakeAfter, "Stake should be zero after full removal").toBe(0n); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully removed all stake without price limit."); }); diff --git a/e2e/staking/test/remove-stake-limit.test.ts b/e2e/staking/test/remove-stake-limit.test.ts index addc8c717d..9578fb8e3f 100644 --- a/e2e/staking/test/remove-stake-limit.test.ts +++ b/e2e/staking/test/remove-stake-limit.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect, beforeAll } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -6,7 +6,6 @@ import { forceSetBalance, getBalance, addNewSubnetwork, - burnedRegister, startCall, addStake, removeStakeLimit, @@ -22,7 +21,7 @@ describe("▶ remove_stake_limit extrinsic", () => { const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; - before(async () => { + beforeAll(async () => { const api = await getDevnetApi(); await forceSetBalance(api, hotkeyAddress); await forceSetBalance(api, coldkeyAddress); @@ -40,7 +39,7 @@ describe("▶ remove_stake_limit extrinsic", () => { const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); - assert.ok(stakeBefore > 0n, "Should have stake before removal"); + expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove stake with limit price and allow partial fills const unstakeAmount = tao(30); @@ -49,7 +48,7 @@ describe("▶ remove_stake_limit extrinsic", () => { // Verify balance increased (received TAO from unstaking) const balanceAfter = await getBalance(api, coldkeyAddress); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully removed stake with limit (allow partial)."); }); @@ -64,7 +63,7 @@ describe("▶ remove_stake_limit extrinsic", () => { const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); - assert.ok(stakeBefore > 0n, "Should have stake before removal"); + expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove stake with limit price (fill or kill mode) const unstakeAmount = tao(30); @@ -73,7 +72,7 @@ describe("▶ remove_stake_limit extrinsic", () => { // Verify balance increased (received TAO from unstaking) const balanceAfter = await getBalance(api, coldkeyAddress); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully removed stake with limit (fill or kill)."); }); diff --git a/e2e/staking/test/remove-stake.test.ts b/e2e/staking/test/remove-stake.test.ts index a863c3042c..db9f5aa150 100644 --- a/e2e/staking/test/remove-stake.test.ts +++ b/e2e/staking/test/remove-stake.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect, beforeAll } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -6,7 +6,6 @@ import { forceSetBalance, getBalance, addNewSubnetwork, - burnedRegister, startCall, addStake, removeStake, @@ -23,7 +22,7 @@ describe("▶ remove_stake extrinsic", () => { const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; - before(async () => { + beforeAll(async () => { const api = await getDevnetApi(); await forceSetBalance(api, hotkeyAddress); await forceSetBalance(api, coldkeyAddress); @@ -40,7 +39,7 @@ describe("▶ remove_stake extrinsic", () => { // Get initial stake and balance (converted from U64F64 for display) const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); - assert.ok(stakeBefore > 0n, "Should have stake before removal"); + expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove stake (amount is in alpha units - use raw U64F64 value) const stakeRaw = await getStakeRaw(api, hotkeyAddress, coldkeyAddress, netuid); @@ -49,7 +48,7 @@ describe("▶ remove_stake extrinsic", () => { // Verify balance increased (received TAO from unstaking) const balanceAfter = await getBalance(api, coldkeyAddress); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully removed stake."); }); diff --git a/e2e/staking/test/swap-stake-limit.test.ts b/e2e/staking/test/swap-stake-limit.test.ts index d52b1e411e..316ddff051 100644 --- a/e2e/staking/test/swap-stake-limit.test.ts +++ b/e2e/staking/test/swap-stake-limit.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -48,7 +48,7 @@ describe("▶ swap_stake_limit extrinsic", () => { // Get initial stakes (converted from U64F64 for display) const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); const stake2Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); - assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + expect(stake1Before, "Should have stake on subnet1 before swap").toBeGreaterThan(0n); log.info(`Stake on netuid1 before: ${stake1Before}, Stake on netuid2 before: ${stake2Before}`); @@ -56,7 +56,7 @@ describe("▶ swap_stake_limit extrinsic", () => { // Use raw U64F64 value for the extrinsic const stake1Raw = await getStakeRaw(api, hotkey1Address, coldkeyAddress, netuid1); const swapAmount = stake1Raw / 2n; - const limitPrice = tao(1) * 99n / 100n; // 0.99 TAO + const limitPrice = (tao(1) * 99n) / 100n; // 0.99 TAO await swapStakeLimit(api, coldkey, hotkey1Address, netuid1, netuid2, swapAmount, limitPrice, true); // Verify stakes changed @@ -65,8 +65,8 @@ describe("▶ swap_stake_limit extrinsic", () => { log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); - assert.ok(stake1After < stake1Before, `Stake on subnet1 should decrease: before=${stake1Before}, after=${stake1After}`); - assert.ok(stake2After > stake2Before, `Stake on subnet2 should increase: before=${stake2Before}, after=${stake2After}`); + expect(stake1After, "Stake on subnet1 should decrease").toBeLessThan(stake1Before); + expect(stake2After, "Stake on subnet2 should increase").toBeGreaterThan(stake2Before); log.info("✅ Successfully swapped stake with price limit (allow partial)."); }); @@ -103,7 +103,7 @@ describe("▶ swap_stake_limit extrinsic", () => { // Get initial stakes (converted from U64F64 for display) const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); const stake2Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); - assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + expect(stake1Before, "Should have stake on subnet1 before swap").toBeGreaterThan(0n); log.info(`Stake on netuid1 before: ${stake1Before}, Stake on netuid2 before: ${stake2Before}`); @@ -120,8 +120,8 @@ describe("▶ swap_stake_limit extrinsic", () => { log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); - assert.ok(stake1After < stake1Before, `Stake on subnet1 should decrease: before=${stake1Before}, after=${stake1After}`); - assert.ok(stake2After > stake2Before, `Stake on subnet2 should increase: before=${stake2Before}, after=${stake2After}`); + expect(stake1After, "Stake on subnet1 should decrease").toBeLessThan(stake1Before); + expect(stake2After, "Stake on subnet2 should increase").toBeGreaterThan(stake2Before); log.info("✅ Successfully swapped stake with price limit (fill or kill)."); }); diff --git a/e2e/staking/test/swap-stake.test.ts b/e2e/staking/test/swap-stake.test.ts index 5d6b9329cc..44a818dd81 100644 --- a/e2e/staking/test/swap-stake.test.ts +++ b/e2e/staking/test/swap-stake.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -16,7 +16,7 @@ import { } from "e2e-shared"; describe("▶ swap_stake extrinsic", () => { - it("should swap full stake from one subnet to another", async () => { + it("should swap stake from one subnet to another", async () => { const api = await getDevnetApi(); // Setup accounts @@ -45,16 +45,18 @@ describe("▶ swap_stake extrinsic", () => { // Add stake to hotkey1 on subnet1 await addStake(api, coldkey, hotkey1Address, netuid1, tao(100)); - // Get initial stake (converted from U64F64 for display) + // Get initial stakes const stake1Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); - assert.ok(stake1Before > 0n, "Should have stake on subnet1 before swap"); + const stake2Before = await getStake(api, hotkey1Address, coldkeyAddress, netuid2); + expect(stake1Before, "Should have stake on subnet1 before swap").toBeGreaterThan(0n); - log.info(`Stake on netuid1 before: ${stake1Before}`); + log.info(`Stake on netuid1 before: ${stake1Before}, Stake on netuid2 before: ${stake2Before}`); - // Swap full stake from subnet1 to subnet2 + // Swap half the stake from subnet1 to subnet2 // Use raw U64F64 value for the extrinsic const stake1Raw = await getStakeRaw(api, hotkey1Address, coldkeyAddress, netuid1); - await swapStake(api, coldkey, hotkey1Address, netuid1, netuid2, stake1Raw); + const swapAmount = stake1Raw / 2n; + await swapStake(api, coldkey, hotkey1Address, netuid1, netuid2, swapAmount); // Verify stakes changed const stake1After = await getStake(api, hotkey1Address, coldkeyAddress, netuid1); @@ -62,9 +64,10 @@ describe("▶ swap_stake extrinsic", () => { log.info(`Stake on netuid1 after: ${stake1After}, Stake on netuid2 after: ${stake2After}`); - assert.strictEqual(stake1After, 0n, `Stake on subnet1 should be zero after full swap, got ${stake1After}`); - assert.ok(stake2After > 0n, `Stake on subnet2 should be non-zero after swap`); + // Note: hotkey1 is the owner of netuid1, so minimum owner stake may be retained + expect(stake1After, "Stake on subnet1 should decrease after swap").toBeLessThan(stake1Before); + expect(stake2After, "Stake on subnet2 should increase after swap").toBeGreaterThan(stake2Before); - log.info("✅ Successfully swapped full stake from one subnet to another."); + log.info("✅ Successfully swapped stake from one subnet to another."); }); }); diff --git a/e2e/staking/test/transfer-stake.test.ts b/e2e/staking/test/transfer-stake.test.ts index 3a34a76ea5..8cac7a5413 100644 --- a/e2e/staking/test/transfer-stake.test.ts +++ b/e2e/staking/test/transfer-stake.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -47,7 +47,7 @@ describe("▶ transfer_stake extrinsic", () => { // Get initial stakes (converted from U64F64 for display) const originStakeBefore = await getStake(api, hotkey1Address, originColdkeyAddress, netuid1); const destStakeBefore = await getStake(api, hotkey1Address, destinationColdkeyAddress, netuid2); - assert.ok(originStakeBefore > 0n, "Origin should have stake before transfer"); + expect(originStakeBefore, "Origin should have stake before transfer").toBeGreaterThan(0n); log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); @@ -55,15 +55,7 @@ describe("▶ transfer_stake extrinsic", () => { // Use raw U64F64 value for the extrinsic const originStakeRaw = await getStakeRaw(api, hotkey1Address, originColdkeyAddress, netuid1); const transferAmount = originStakeRaw / 2n; - await transferStake( - api, - originColdkey, - destinationColdkeyAddress, - hotkey1Address, - netuid1, - netuid2, - transferAmount - ); + await transferStake(api, originColdkey, destinationColdkeyAddress, hotkey1Address, netuid1, netuid2, transferAmount); // Verify stakes changed const originStakeAfter = await getStake(api, hotkey1Address, originColdkeyAddress, netuid1); @@ -71,8 +63,8 @@ describe("▶ transfer_stake extrinsic", () => { log.info(`Origin stake (netuid1) after: ${originStakeAfter}, Destination stake (netuid2) after: ${destStakeAfter}`); - assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease: before=${originStakeBefore}, after=${originStakeAfter}`); - assert.ok(destStakeAfter > destStakeBefore, `Destination stake should increase: before=${destStakeBefore}, after=${destStakeAfter}`); + expect(originStakeAfter, "Origin stake should decrease").toBeLessThan(originStakeBefore); + expect(destStakeAfter, "Destination stake should increase").toBeGreaterThan(destStakeBefore); log.info("✅ Successfully transferred stake to another coldkey across subnets."); }); @@ -102,21 +94,15 @@ describe("▶ transfer_stake extrinsic", () => { // Get initial stake (converted from U64F64 for display) const originStakeBefore = await getStake(api, hotkeyAddress, originColdkeyAddress, netuid); - assert.ok(originStakeBefore > 0n, "Origin should have stake before transfer"); + expect(originStakeBefore, "Origin should have stake before transfer").toBeGreaterThan(0n); log.info(`Origin stake before: ${originStakeBefore}`); + // Transfer stake to destination coldkey + // Use raw U64F64 value for the extrinsic, transfer half to avoid AmountTooLow error const originStakeRaw = await getStakeRaw(api, hotkeyAddress, originColdkeyAddress, netuid); const transferAmount = originStakeRaw / 2n; - await transferStake( - api, - originColdkey, - destinationColdkeyAddress, - hotkeyAddress, - netuid, - netuid, - transferAmount - ); + await transferStake(api, originColdkey, destinationColdkeyAddress, hotkeyAddress, netuid, netuid, transferAmount); // Verify destination received stake const originStakeAfter = await getStake(api, hotkeyAddress, originColdkeyAddress, netuid); @@ -124,8 +110,8 @@ describe("▶ transfer_stake extrinsic", () => { log.info(`Origin stake after: ${originStakeAfter}, Destination stake after: ${destStakeAfter}`); - assert.ok(originStakeAfter < originStakeBefore, `Origin stake should decrease after transfer`); - assert.ok(destStakeAfter > 0n, `Destination stake should be non-zero after transfer`); + expect(originStakeAfter, "Origin stake should decrease after transfer").toBeLessThan(originStakeBefore); + expect(destStakeAfter, "Destination stake should be non-zero after transfer").toBeGreaterThan(0n); log.info("✅ Successfully transferred stake to another coldkey."); }); diff --git a/e2e/staking/test/unstake-all-alpha.test.ts b/e2e/staking/test/unstake-all-alpha.test.ts index 93146aa196..7392a5f65e 100644 --- a/e2e/staking/test/unstake-all-alpha.test.ts +++ b/e2e/staking/test/unstake-all-alpha.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -56,8 +56,8 @@ describe("▶ unstake_all_alpha extrinsic", () => { const stake1Before = await getStake(api, stakerAddress, coldkeyAddress, netuid1); const stake2Before = await getStake(api, stakerAddress, coldkeyAddress, netuid2); - assert.ok(stake1Before > 0n, "Should have stake in subnet 1 before unstake_all_alpha"); - assert.ok(stake2Before > 0n, "Should have stake in subnet 2 before unstake_all_alpha"); + expect(stake1Before, "Should have stake in subnet 1 before unstake_all_alpha").toBeGreaterThan(0n); + expect(stake2Before, "Should have stake in subnet 2 before unstake_all_alpha").toBeGreaterThan(0n); log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}`); // Unstake all alpha - this removes stake from dynamic subnets and restakes to root @@ -70,8 +70,8 @@ describe("▶ unstake_all_alpha extrinsic", () => { log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}`); // Since stakerHotkey is not the owner of either subnet, all stake should be removed - assert.strictEqual(stake1After, 0n, `Stake1 should be zero after unstake_all_alpha, got ${stake1After}`); - assert.strictEqual(stake2After, 0n, `Stake2 should be zero after unstake_all_alpha, got ${stake2After}`); + expect(stake1After, "Stake1 should be zero after unstake_all_alpha").toBe(0n); + expect(stake2After, "Stake2 should be zero after unstake_all_alpha").toBe(0n); log.info("✅ Successfully unstaked all alpha from multiple subnets to root."); }); diff --git a/e2e/staking/test/unstake-all.test.ts b/e2e/staking/test/unstake-all.test.ts index 599dc32bc0..d0359acc1b 100644 --- a/e2e/staking/test/unstake-all.test.ts +++ b/e2e/staking/test/unstake-all.test.ts @@ -1,4 +1,4 @@ -import * as assert from "assert"; +import { describe, it, expect } from "vitest"; import { getDevnetApi, getRandomSubstrateKeypair, @@ -6,6 +6,7 @@ import { forceSetBalance, getBalance, addNewSubnetwork, + burnedRegister, startCall, addStake, unstakeAll, @@ -19,51 +20,62 @@ describe("▶ unstake_all extrinsic", () => { const api = await getDevnetApi(); // Setup accounts - const hotkey = getRandomSubstrateKeypair(); + // - owner1Hotkey/coldkey: owns subnet 1 + // - owner2Hotkey/coldkey: owns subnet 2 + // - stakerHotkey: staker (not owner) on both subnets - used for testing unstake_all + const owner1Hotkey = getRandomSubstrateKeypair(); + const owner2Hotkey = getRandomSubstrateKeypair(); + const stakerHotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); - const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const owner1Address = convertPublicKeyToSs58(owner1Hotkey.publicKey); + const owner2Address = convertPublicKeyToSs58(owner2Hotkey.publicKey); + const stakerAddress = convertPublicKeyToSs58(stakerHotkey.publicKey); const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); - const hotkey2 = getRandomSubstrateKeypair(); - const hotkeyAddress2 = convertPublicKeyToSs58(hotkey2.publicKey); - await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, owner1Address); + await forceSetBalance(api, owner2Address); + await forceSetBalance(api, stakerAddress); await forceSetBalance(api, coldkeyAddress); - await forceSetBalance(api, hotkeyAddress2); - // Create first subnet - const netuid1 = await addNewSubnetwork(api, hotkey, coldkey); + // Create first subnet with owner1 + const netuid1 = await addNewSubnetwork(api, owner1Hotkey, coldkey); await startCall(api, netuid1, coldkey); - // Create second subnet - const netuid2 = await addNewSubnetwork(api, hotkey2, coldkey); + // Create second subnet with owner2 + const netuid2 = await addNewSubnetwork(api, owner2Hotkey, coldkey); await startCall(api, netuid2, coldkey); - // Add stake to both subnets - await addStake(api, coldkey, hotkeyAddress, netuid1, tao(100)); - await addStake(api, coldkey, hotkeyAddress, netuid2, tao(50)); + // Register stakerHotkey on both subnets (it's not the owner) + await burnedRegister(api, netuid1, stakerAddress, coldkey); + await burnedRegister(api, netuid2, stakerAddress, coldkey); + + // Add stake to both subnets using stakerHotkey (not the owner) + await addStake(api, coldkey, stakerAddress, netuid1, tao(100)); + await addStake(api, coldkey, stakerAddress, netuid2, tao(50)); // Verify stake was added to both subnets - const stake1Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); - const stake2Before = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const stake1Before = await getStake(api, stakerAddress, coldkeyAddress, netuid1); + const stake2Before = await getStake(api, stakerAddress, coldkeyAddress, netuid2); const balanceBefore = await getBalance(api, coldkeyAddress); - assert.ok(stake1Before > 0n, "Should have stake in subnet 1 before unstake_all"); - assert.ok(stake2Before > 0n, "Should have stake in subnet 2 before unstake_all"); + expect(stake1Before, "Should have stake in subnet 1 before unstake_all").toBeGreaterThan(0n); + expect(stake2Before, "Should have stake in subnet 2 before unstake_all").toBeGreaterThan(0n); log.info(`Stake1 before: ${stake1Before}, Stake2 before: ${stake2Before}, Balance before: ${balanceBefore}`); // Unstake all - await unstakeAll(api, coldkey, hotkeyAddress); + await unstakeAll(api, coldkey, stakerAddress); // Verify stakes are removed from both subnets and balance increased - const stake1After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid1); - const stake2After = await getStake(api, hotkeyAddress, coldkeyAddress, netuid2); + const stake1After = await getStake(api, stakerAddress, coldkeyAddress, netuid1); + const stake2After = await getStake(api, stakerAddress, coldkeyAddress, netuid2); const balanceAfter = await getBalance(api, coldkeyAddress); log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}, Balance after: ${balanceAfter}`); - assert.strictEqual(stake1After, 0n, `Stake1 should be zero after unstake_all, got ${stake1After}`); - assert.strictEqual(stake2After, 0n, `Stake2 should be zero after unstake_all, got ${stake2After}`); - assert.ok(balanceAfter > balanceBefore, `Balance should increase: before=${balanceBefore}, after=${balanceAfter}`); + // Since stakerHotkey is not the owner of either subnet, all stake should be removed + expect(stake1After, "Stake1 should be zero after unstake_all").toBe(0n); + expect(stake2After, "Stake2 should be zero after unstake_all").toBe(0n); + expect(balanceAfter, "Balance should increase after unstaking").toBeGreaterThan(balanceBefore); log.info("✅ Successfully unstaked all from multiple subnets."); }); diff --git a/e2e/staking/tsconfig.json b/e2e/staking/tsconfig.json index a414aaf914..c2f86d9e2c 100644 --- a/e2e/staking/tsconfig.json +++ b/e2e/staking/tsconfig.json @@ -6,6 +6,6 @@ "esModuleInterop": true, "strict": true, "skipLibCheck": true, - "types": ["node", "mocha"] + "types": ["node", "vitest/globals"] } } diff --git a/e2e/staking/vitest.config.ts b/e2e/staking/vitest.config.ts new file mode 100644 index 0000000000..c33905bdbe --- /dev/null +++ b/e2e/staking/vitest.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; +import { BaseSequencer, type TestSpecification } from "vitest/node"; + +class AlphabeticalSequencer extends BaseSequencer { + async sort(files: TestSpecification[]): Promise { + return files.sort((a, b) => a.moduleId.localeCompare(b.moduleId)); + } +} + +export default defineConfig({ + test: { + globals: true, + testTimeout: 120_000, + hookTimeout: 300_000, + fileParallelism: false, + globalSetup: "./setup.ts", + include: ["test/**/*.test.ts"], + sequence: { + sequencer: AlphabeticalSequencer, + }, + }, +}); From df3f2e8b98cd65b1e0971a394dd13b5b37e6cd6b Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 12:50:18 +0100 Subject: [PATCH 148/204] - tests for: VotingPower --- .../src/tests/swap_hotkey_with_subnet.rs | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 5036659dbc..0de65866d9 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -2046,4 +2046,39 @@ fn test_revert_hotkey_swap_dividends() { "hk1 AlphaDividendsPerSubnet must be restored after revert" ); }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_voting_power_transfers_on_hotkey_swap --exact --nocapture +#[test] +fn test_revert_voting_power_transfers_on_hotkey_swap() { + new_test_ext(1).execute_with(|| { + let hk1 = U256::from(1); + let hk2 = U256::from(99); + let coldkey = U256::from(2); + let netuid = add_dynamic_network(&hk1, &coldkey); + let voting_power_value = 5_000_000_000_000_u64; + + VotingPower::::insert(netuid, hk1, voting_power_value); + assert_eq!(SubtensorModule::get_voting_power(netuid, &hk1), voting_power_value); + assert_eq!(SubtensorModule::get_voting_power(netuid, &hk2), 0); + + SubtensorModule::swap_voting_power_for_hotkey(&hk1, &hk2, netuid); + + assert_eq!(SubtensorModule::get_voting_power(netuid, &hk1), 0); + assert_eq!(SubtensorModule::get_voting_power(netuid, &hk2), voting_power_value); + + // Revert: hk2 -> hk1 + SubtensorModule::swap_voting_power_for_hotkey(&hk2, &hk1, netuid); + + assert_eq!( + SubtensorModule::get_voting_power(netuid, &hk1), + voting_power_value, + "hk1 voting power must be fully restored after revert" + ); + assert_eq!( + SubtensorModule::get_voting_power(netuid, &hk2), + 0, + "hk2 must have no voting power after revert" + ); + }); } \ No newline at end of file From 4be737a6ff4c3804520a116751ff2407d902d220 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 13:07:32 +0100 Subject: [PATCH 149/204] - tests for: RootClaimed + RootClaimable --- .../src/tests/swap_hotkey_with_subnet.rs | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 0de65866d9..9c5b7d3eeb 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -11,7 +11,9 @@ use super::mock::*; use crate::*; use sp_core::{Get, H160, H256, U256}; use sp_runtime::SaturatedConversion; +use std::collections::BTreeSet; use substrate_fixed::types::U64F64; + // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --test swap_hotkey_with_subnet -- test_swap_owner --exact --nocapture #[test] fn test_swap_owner() { @@ -2081,4 +2083,123 @@ fn test_revert_voting_power_transfers_on_hotkey_swap() { "hk2 must have no voting power after revert" ); }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_claim_root_with_swap_hotkey --exact --nocapture +#[test] +fn test_revert_claim_root_with_swap_hotkey() { + new_test_ext(1).execute_with(|| { + let owner_coldkey = U256::from(1001); + let hk1 = U256::from(1002); + let hk2 = U256::from(1003); + let coldkey = U256::from(1004); + + let netuid = add_dynamic_network(&hk1, &owner_coldkey); + let netuid2 = add_dynamic_network(&hk1, &owner_coldkey); + + SubtensorModule::add_balance_to_coldkey_account(&owner_coldkey, u64::MAX); + SubtensorModule::set_tao_weight(u64::MAX); + + let root_stake = 2_000_000u64; + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &coldkey, + NetUid::ROOT, + root_stake.into(), + ); + + let initial_total_hotkey_alpha = 10_000_000u64; + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &hk1, + &owner_coldkey, + netuid, + initial_total_hotkey_alpha.into(), + ); + + let pending_root_alpha = 1_000_000u64; + SubtensorModule::distribute_emission( + netuid, + AlphaCurrency::ZERO, + AlphaCurrency::ZERO, + pending_root_alpha.into(), + AlphaCurrency::ZERO, + ); + + assert_ok!(SubtensorModule::set_root_claim_type( + RuntimeOrigin::signed(coldkey), + RootClaimTypeEnum::Keep + )); + assert_ok!(SubtensorModule::claim_root( + RuntimeOrigin::signed(coldkey), + BTreeSet::from([netuid]) + )); + + let stake_after_claim: u64 = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid) + .into(); + + let hk1_root_claimed = RootClaimed::::get((netuid, &hk1, &coldkey)); + let hk1_claimable = *RootClaimable::::get(hk1) + .get(&netuid) + .expect("claimable must exist before swap"); + + assert_eq!(u128::from(stake_after_claim), hk1_root_claimed); + assert!(!RootClaimable::::get(hk2).contains_key(&netuid)); + + System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(owner_coldkey), + &hk1, + &hk2, + Some(netuid) + )); + + assert_eq!( + RootClaimed::::get((netuid, &hk1, &coldkey)), + 0u128, + "hk1 RootClaimed must be zero after swap" + ); + assert_eq!( + RootClaimed::::get((netuid, &hk2, &coldkey)), + hk1_root_claimed, + "hk2 must have hk1's RootClaimed after swap" + ); + assert!(!RootClaimable::::get(hk1).contains_key(&netuid)); + assert_eq!( + *RootClaimable::::get(hk2) + .get(&netuid) + .expect("claimable must exist on hk2 after swap"), + hk1_claimable, + "hk2 must have hk1's RootClaimable after swap" + ); + + // Revert: hk2 -> hk1 + step_block(20); + assert_ok!(SubtensorModule::do_swap_hotkey( + RuntimeOrigin::signed(owner_coldkey), + &hk2, + &hk1, + Some(netuid) + )); + + assert_eq!( + RootClaimed::::get((netuid, &hk2, &coldkey)), + 0u128, + "hk2 RootClaimed must be zero after revert" + ); + assert_eq!( + RootClaimed::::get((netuid, &hk1, &coldkey)), + hk1_root_claimed, + "hk1 RootClaimed must be restored after revert" + ); + + assert!(!RootClaimable::::get(hk2).contains_key(&netuid)); + assert_eq!( + *RootClaimable::::get(hk1) + .get(&netuid) + .expect("claimable must exist on hk1 after revert"), + hk1_claimable, + "hk1 RootClaimable must be restored after revert" + ); + }); } \ No newline at end of file From 29a4a0ffac696812a7240201593db75fc1343eb2 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Thu, 5 Mar 2026 18:29:08 +0300 Subject: [PATCH 150/204] Fix remove_stake_full_limit test --- .../test/remove-stake-full-limit.test.ts | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/e2e/staking/test/remove-stake-full-limit.test.ts b/e2e/staking/test/remove-stake-full-limit.test.ts index 7e8538ed30..2efec03ca9 100644 --- a/e2e/staking/test/remove-stake-full-limit.test.ts +++ b/e2e/staking/test/remove-stake-full-limit.test.ts @@ -6,6 +6,7 @@ import { forceSetBalance, getBalance, addNewSubnetwork, + burnedRegister, startCall, addStake, removeStakeFullLimit, @@ -15,28 +16,34 @@ import { } from "e2e-shared"; describe("▶ remove_stake_full_limit extrinsic", () => { - const hotkey = getRandomSubstrateKeypair(); + // Separate owner and staker hotkeys to avoid minimum owner stake retention + const ownerHotkey = getRandomSubstrateKeypair(); + const stakerHotkey = getRandomSubstrateKeypair(); const coldkey = getRandomSubstrateKeypair(); - const hotkeyAddress = convertPublicKeyToSs58(hotkey.publicKey); + const ownerAddress = convertPublicKeyToSs58(ownerHotkey.publicKey); + const stakerAddress = convertPublicKeyToSs58(stakerHotkey.publicKey); const coldkeyAddress = convertPublicKeyToSs58(coldkey.publicKey); let netuid: number; beforeAll(async () => { const api = await getDevnetApi(); - await forceSetBalance(api, hotkeyAddress); + await forceSetBalance(api, ownerAddress); + await forceSetBalance(api, stakerAddress); await forceSetBalance(api, coldkeyAddress); - netuid = await addNewSubnetwork(api, hotkey, coldkey); + netuid = await addNewSubnetwork(api, ownerHotkey, coldkey); await startCall(api, netuid, coldkey); + // Register staker hotkey (not the owner) + await burnedRegister(api, netuid, stakerAddress, coldkey); }); it("should remove all stake with price limit", async () => { const api = await getDevnetApi(); // Add stake first - await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + await addStake(api, coldkey, stakerAddress, netuid, tao(100)); // Get initial stake and balance - const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const stakeBefore = await getStake(api, stakerAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); @@ -44,10 +51,10 @@ describe("▶ remove_stake_full_limit extrinsic", () => { // Remove all stake with a reasonable limit price (low limit to avoid slippage rejection) // Using a low limit price (0.09 TAO per alpha) allows the transaction to succeed const limitPrice = tao(1) / 10n; // 0.1 TAO - await removeStakeFullLimit(api, coldkey, hotkeyAddress, netuid, limitPrice); + await removeStakeFullLimit(api, coldkey, stakerAddress, netuid, limitPrice); - // Verify stake is zero - const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + // Verify stake is zero (staker is not owner, so all stake can be removed) + const stakeAfter = await getStake(api, stakerAddress, coldkeyAddress, netuid); const balanceAfter = await getBalance(api, coldkeyAddress); log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); @@ -61,19 +68,19 @@ describe("▶ remove_stake_full_limit extrinsic", () => { const api = await getDevnetApi(); // Add stake first - await addStake(api, coldkey, hotkeyAddress, netuid, tao(100)); + await addStake(api, coldkey, stakerAddress, netuid, tao(100)); // Get initial stake and balance - const stakeBefore = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + const stakeBefore = await getStake(api, stakerAddress, coldkeyAddress, netuid); const balanceBefore = await getBalance(api, coldkeyAddress); log.info(`Stake before: ${stakeBefore}, Balance before: ${balanceBefore}`); expect(stakeBefore, "Should have stake before removal").toBeGreaterThan(0n); // Remove all stake without limit price (undefined = no slippage protection) - await removeStakeFullLimit(api, coldkey, hotkeyAddress, netuid, undefined); + await removeStakeFullLimit(api, coldkey, stakerAddress, netuid, undefined); - // Verify stake is zero - const stakeAfter = await getStake(api, hotkeyAddress, coldkeyAddress, netuid); + // Verify stake is zero (staker is not owner, so all stake can be removed) + const stakeAfter = await getStake(api, stakerAddress, coldkeyAddress, netuid); const balanceAfter = await getBalance(api, coldkeyAddress); log.info(`Stake after: ${stakeAfter}, Balance after: ${balanceAfter}`); From 71f983c97c0849397ca65caef2ceb6fe5587109e Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Thu, 5 Mar 2026 19:24:41 +0300 Subject: [PATCH 151/204] Fix unstake-all-alpha test. --- e2e/staking/test/unstake-all-alpha.test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/e2e/staking/test/unstake-all-alpha.test.ts b/e2e/staking/test/unstake-all-alpha.test.ts index 7392a5f65e..ea8acda171 100644 --- a/e2e/staking/test/unstake-all-alpha.test.ts +++ b/e2e/staking/test/unstake-all-alpha.test.ts @@ -70,8 +70,11 @@ describe("▶ unstake_all_alpha extrinsic", () => { log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}`); // Since stakerHotkey is not the owner of either subnet, all stake should be removed - expect(stake1After, "Stake1 should be zero after unstake_all_alpha").toBe(0n); - expect(stake2After, "Stake2 should be zero after unstake_all_alpha").toBe(0n); + // Allow small epsilon for emissions that may accumulate during test execution + // Observed residual: ~0.01 TAO from emissions during test + const epsilon = tao(1) / 10n; // 0.1 TAO tolerance + expect(stake1After, "Stake1 should be approximately zero after unstake_all_alpha").toBeLessThan(epsilon); + expect(stake2After, "Stake2 should be approximately zero after unstake_all_alpha").toBeLessThan(epsilon); log.info("✅ Successfully unstaked all alpha from multiple subnets to root."); }); From 5391b4da58d8b7c5c26388c79bfe227ce0b14ad1 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Thu, 5 Mar 2026 19:29:01 +0300 Subject: [PATCH 152/204] Change tempo for some tests --- e2e/staking/test/remove-stake-full-limit.test.ts | 3 +++ e2e/staking/test/unstake-all-alpha.test.ts | 13 ++++++++----- e2e/staking/test/unstake-all.test.ts | 5 +++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/e2e/staking/test/remove-stake-full-limit.test.ts b/e2e/staking/test/remove-stake-full-limit.test.ts index 2efec03ca9..47af798512 100644 --- a/e2e/staking/test/remove-stake-full-limit.test.ts +++ b/e2e/staking/test/remove-stake-full-limit.test.ts @@ -11,6 +11,7 @@ import { addStake, removeStakeFullLimit, getStake, + sudoSetTempo, tao, log, } from "e2e-shared"; @@ -32,6 +33,8 @@ describe("▶ remove_stake_full_limit extrinsic", () => { await forceSetBalance(api, coldkeyAddress); netuid = await addNewSubnetwork(api, ownerHotkey, coldkey); await startCall(api, netuid, coldkey); + // Set high tempo to prevent emissions during test + await sudoSetTempo(api, netuid, 10000); // Register staker hotkey (not the owner) await burnedRegister(api, netuid, stakerAddress, coldkey); }); diff --git a/e2e/staking/test/unstake-all-alpha.test.ts b/e2e/staking/test/unstake-all-alpha.test.ts index ea8acda171..dd71a27192 100644 --- a/e2e/staking/test/unstake-all-alpha.test.ts +++ b/e2e/staking/test/unstake-all-alpha.test.ts @@ -10,6 +10,7 @@ import { addStake, unstakeAllAlpha, getStake, + sudoSetTempo, tao, log, } from "e2e-shared"; @@ -44,6 +45,10 @@ describe("▶ unstake_all_alpha extrinsic", () => { const netuid2 = await addNewSubnetwork(api, owner2Hotkey, coldkey); await startCall(api, netuid2, coldkey); + // Set very high tempo to prevent emissions during test + await sudoSetTempo(api, netuid1, 10000); + await sudoSetTempo(api, netuid2, 10000); + // Register stakerHotkey on both subnets (it's not the owner) await burnedRegister(api, netuid1, stakerAddress, coldkey); await burnedRegister(api, netuid2, stakerAddress, coldkey); @@ -70,11 +75,9 @@ describe("▶ unstake_all_alpha extrinsic", () => { log.info(`Stake1 after: ${stake1After}, Stake2 after: ${stake2After}`); // Since stakerHotkey is not the owner of either subnet, all stake should be removed - // Allow small epsilon for emissions that may accumulate during test execution - // Observed residual: ~0.01 TAO from emissions during test - const epsilon = tao(1) / 10n; // 0.1 TAO tolerance - expect(stake1After, "Stake1 should be approximately zero after unstake_all_alpha").toBeLessThan(epsilon); - expect(stake2After, "Stake2 should be approximately zero after unstake_all_alpha").toBeLessThan(epsilon); + // High tempo prevents emissions during test, so expect exact zero + expect(stake1After, "Stake1 should be zero after unstake_all_alpha").toBe(0n); + expect(stake2After, "Stake2 should be zero after unstake_all_alpha").toBe(0n); log.info("✅ Successfully unstaked all alpha from multiple subnets to root."); }); diff --git a/e2e/staking/test/unstake-all.test.ts b/e2e/staking/test/unstake-all.test.ts index d0359acc1b..146a2c3225 100644 --- a/e2e/staking/test/unstake-all.test.ts +++ b/e2e/staking/test/unstake-all.test.ts @@ -11,6 +11,7 @@ import { addStake, unstakeAll, getStake, + sudoSetTempo, tao, log, } from "e2e-shared"; @@ -45,6 +46,10 @@ describe("▶ unstake_all extrinsic", () => { const netuid2 = await addNewSubnetwork(api, owner2Hotkey, coldkey); await startCall(api, netuid2, coldkey); + // Set high tempo to prevent emissions during test + await sudoSetTempo(api, netuid1, 10000); + await sudoSetTempo(api, netuid2, 10000); + // Register stakerHotkey on both subnets (it's not the owner) await burnedRegister(api, netuid1, stakerAddress, coldkey); await burnedRegister(api, netuid2, stakerAddress, coldkey); From d3cb527b79bd80f00ef3a9f614b0e1c3443388d9 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 18:15:32 +0100 Subject: [PATCH 153/204] commit Cargo.lock --- .../src/tests/swap_hotkey_with_subnet.rs | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index ffcc60ecd4..8b7f51a34a 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1575,7 +1575,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { add_network(netuid2, tempo, 0); register_ok_neuron(netuid, hk1, coldkey, 0); register_ok_neuron(netuid2, hk1, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost.into()); let hk1_stake_before_increase = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); @@ -1658,7 +1658,7 @@ fn test_revert_hotkey_swap() { add_network(netuid2, tempo, 0); register_ok_neuron(netuid, old_hotkey, coldkey, 0); register_ok_neuron(netuid2, old_hotkey, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost.into()); step_block(20); // Perform the first swap (only on netuid) @@ -1694,7 +1694,7 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { let netuid = add_dynamic_network(&hk1, &coldkey); let netuid2 = add_dynamic_network(&hk1, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); SubtensorModule::create_account_if_non_existent(&coldkey, &hk1); mock_set_children(&coldkey, &hk1, netuid, &[(u64::MAX, child)]); @@ -1781,7 +1781,7 @@ fn test_revert_hotkey_swap_uids_and_keys() { let netuid = add_dynamic_network(&hk1, &coldkey); let netuid2 = add_dynamic_network(&hk1, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); IsNetworkMember::::insert(hk1, netuid, true); Uids::::insert(netuid, hk1, uid); @@ -1843,7 +1843,7 @@ fn test_revert_hotkey_swap_auto_stake_destination() { add_network(netuid2, 1, 0); register_ok_neuron(netuid, hk1, coldkey, 0); register_ok_neuron(netuid2, hk1, coldkey, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); AutoStakeDestinationColdkeys::::insert(hk1, netuid, coldkeys.clone()); AutoStakeDestination::::insert(coldkey, netuid, hk1); @@ -1913,7 +1913,7 @@ fn test_revert_hotkey_swap_subnet_owner() { let netuid = add_dynamic_network(&hk1, &coldkey); let netuid2 = add_dynamic_network(&hk1, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); assert_eq!(SubnetOwnerHotkey::::get(netuid), hk1); @@ -1958,16 +1958,16 @@ fn test_revert_hotkey_swap_dividends() { let netuid = add_dynamic_network(&hk1, &coldkey); let netuid2 = add_dynamic_network(&hk1, &coldkey); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, u64::MAX.into()); let amount = 10_000; let shares = U64F64::from_num(123456); - TotalHotkeyAlpha::::insert(hk1, netuid, AlphaCurrency::from(amount)); - TotalHotkeyAlphaLastEpoch::::insert(hk1, netuid, AlphaCurrency::from(amount * 2)); + TotalHotkeyAlpha::::insert(hk1, netuid, AlphaBalance::from(amount).into()); + TotalHotkeyAlphaLastEpoch::::insert(hk1, netuid, AlphaBalance::from(amount * 2)); TotalHotkeyShares::::insert(hk1, netuid, U64F64::from_num(shares)); Alpha::::insert((hk1, coldkey, netuid), U64F64::from_num(amount)); - AlphaDividendsPerSubnet::::insert(netuid, hk1, AlphaCurrency::from(amount)); + AlphaDividendsPerSubnet::::insert(netuid, hk1, AlphaBalance::from(amount)); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); assert_ok!(SubtensorModule::do_swap_hotkey( @@ -1977,16 +1977,16 @@ fn test_revert_hotkey_swap_dividends() { Some(netuid) )); - assert_eq!(TotalHotkeyAlpha::::get(hk1, netuid), AlphaCurrency::ZERO); - assert_eq!(TotalHotkeyAlpha::::get(hk2, netuid), AlphaCurrency::from(amount)); - assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), AlphaCurrency::ZERO); - assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), AlphaCurrency::from(amount * 2)); + assert_eq!(TotalHotkeyAlpha::::get(hk1, netuid), AlphaBalance::ZERO); + assert_eq!(TotalHotkeyAlpha::::get(hk2, netuid), AlphaBalance::from(amount)); + assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), AlphaBalance::ZERO); + assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), AlphaBalance::from(amount * 2)); assert_eq!(TotalHotkeyShares::::get(hk1, netuid), U64F64::from_num(0)); assert_eq!(TotalHotkeyShares::::get(hk2, netuid), U64F64::from_num(shares)); assert_eq!(Alpha::::get((hk1, coldkey, netuid)), U64F64::from_num(0)); assert_eq!(Alpha::::get((hk2, coldkey, netuid)), U64F64::from_num(amount)); - assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk1), AlphaCurrency::ZERO); - assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk2), AlphaCurrency::from(amount)); + assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk1), AlphaBalance::ZERO); + assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk2), AlphaBalance::from(amount)); // Revert: hk2 -> hk1 step_block(20); @@ -1999,22 +1999,22 @@ fn test_revert_hotkey_swap_dividends() { assert_eq!( TotalHotkeyAlpha::::get(hk2, netuid), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, "hk2 TotalHotkeyAlpha must be zero after revert" ); assert_eq!( TotalHotkeyAlpha::::get(hk1, netuid), - AlphaCurrency::from(amount), + AlphaBalance::from(amount), "hk1 TotalHotkeyAlpha must be restored after revert" ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, "hk2 TotalHotkeyAlphaLastEpoch must be zero after revert" ); assert_eq!( TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), - AlphaCurrency::from(amount * 2), + AlphaBalance::from(amount * 2), "hk1 TotalHotkeyAlphaLastEpoch must be restored after revert" ); assert_eq!( @@ -2039,12 +2039,12 @@ fn test_revert_hotkey_swap_dividends() { ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, hk2), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, "hk2 AlphaDividendsPerSubnet must be zero after revert" ); assert_eq!( AlphaDividendsPerSubnet::::get(netuid, hk1), - AlphaCurrency::from(amount), + AlphaBalance::from(amount), "hk1 AlphaDividendsPerSubnet must be restored after revert" ); }); @@ -2097,7 +2097,7 @@ fn test_revert_claim_root_with_swap_hotkey() { let netuid = add_dynamic_network(&hk1, &owner_coldkey); let netuid2 = add_dynamic_network(&hk1, &owner_coldkey); - SubtensorModule::add_balance_to_coldkey_account(&owner_coldkey, u64::MAX); + SubtensorModule::add_balance_to_coldkey_account(&owner_coldkey, u64::MAX.into()); SubtensorModule::set_tao_weight(u64::MAX); let root_stake = 2_000_000u64; @@ -2119,10 +2119,10 @@ fn test_revert_claim_root_with_swap_hotkey() { let pending_root_alpha = 1_000_000u64; SubtensorModule::distribute_emission( netuid, - AlphaCurrency::ZERO, - AlphaCurrency::ZERO, + AlphaBalance::ZERO, + AlphaBalance::ZERO, pending_root_alpha.into(), - AlphaCurrency::ZERO, + AlphaBalance::ZERO, ); assert_ok!(SubtensorModule::set_root_claim_type( From 1cc064432613a3f2fb5f7b16fe2d7228f910f318 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 18:16:22 +0100 Subject: [PATCH 154/204] commit Cargo.lock --- pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 8b7f51a34a..f1933adcb8 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1963,7 +1963,7 @@ fn test_revert_hotkey_swap_dividends() { let amount = 10_000; let shares = U64F64::from_num(123456); - TotalHotkeyAlpha::::insert(hk1, netuid, AlphaBalance::from(amount).into()); + TotalHotkeyAlpha::::insert(hk1, netuid, AlphaBalance::from(amount)); TotalHotkeyAlphaLastEpoch::::insert(hk1, netuid, AlphaBalance::from(amount * 2)); TotalHotkeyShares::::insert(hk1, netuid, U64F64::from_num(shares)); Alpha::::insert((hk1, coldkey, netuid), U64F64::from_num(amount)); From a7154538eb71d326f13ea5f2f8da738fb9e06696 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 18:18:22 +0100 Subject: [PATCH 155/204] cargo clippy --- 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 ad13c51ad4..b21af85162 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1116,7 +1116,7 @@ parameter_types! { // 0 days pub const InitialStartCallDelay: u64 = 0; pub const SubtensorInitialKeySwapOnSubnetCost: TaoBalance = TaoBalance::new(1_000_000); // 0.001 TAO - pub const HotkeySwapOnSubnetInterval : BlockNumber = 1 * 24 * 60 * 60 / 12; // 1 day + pub const HotkeySwapOnSubnetInterval : BlockNumber = 24 * 60 * 60 / 12; // 1 day pub const LeaseDividendsDistributionInterval: BlockNumber = 100; // 100 blocks pub const MaxImmuneUidsPercentage: Percent = Percent::from_percent(80); pub const EvmKeyAssociateRateLimit: u64 = EVM_KEY_ASSOCIATE_RATELIMIT; From 5e85bb37f566d44b99c4b12d545e26119830f07a Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Thu, 5 Mar 2026 18:19:44 +0100 Subject: [PATCH 156/204] cargo fmt --- .../src/tests/swap_hotkey_with_subnet.rs | 107 +++++++++++++----- 1 file changed, 79 insertions(+), 28 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index f1933adcb8..48ccfabda7 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1579,7 +1579,10 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { let hk1_stake_before_increase = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - assert!(hk1_stake_before_increase == 0.into(), "hk1 should have empty stake"); + assert!( + hk1_stake_before_increase == 0.into(), + "hk1 should have empty stake" + ); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( &hk1, @@ -1590,7 +1593,10 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { let hk1_stake_before_swap = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet(&hk1, &coldkey, netuid); - assert!(hk1_stake_before_swap == 1_000_000_000.into(), "hk1 should have stake before swap"); + assert!( + hk1_stake_before_swap == 1_000_000_000.into(), + "hk1 should have stake before swap" + ); step_block(20); @@ -1636,7 +1642,11 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { ); // hk2 should be empty - assert_eq!(hk2_stake_after_revert, 0.into(), "hk2 should have no stake after revert"); + assert_eq!( + hk2_stake_after_revert, + 0.into(), + "hk2 should have no stake after revert" + ); }); } @@ -1669,7 +1679,9 @@ fn test_revert_hotkey_swap() { Some(netuid) )); - assert!(SubtensorModule::is_hotkey_registered_on_any_network(&old_hotkey)); + assert!(SubtensorModule::is_hotkey_registered_on_any_network( + &old_hotkey + )); step_block(20); @@ -1705,10 +1717,7 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { ParentKeys::::get(child, netuid), vec![(u64::MAX, hk1)] ); - assert_eq!( - ChildKeys::::get(hk1, netuid), - vec![(u64::MAX, child)] - ); + assert_eq!(ChildKeys::::get(hk1, netuid), vec![(u64::MAX, child)]); let existing_pending_child_keys = PendingChildKeys::::get(netuid, hk1); assert_eq!(existing_pending_child_keys.0, vec![(u64::MAX, child_other)]); @@ -1724,10 +1733,7 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { ParentKeys::::get(child, netuid), vec![(u64::MAX, hk2)] ); - assert_eq!( - ChildKeys::::get(hk2, netuid), - vec![(u64::MAX, child)] - ); + assert_eq!(ChildKeys::::get(hk2, netuid), vec![(u64::MAX, child)]); assert_eq!( PendingChildKeys::::get(netuid, hk2), existing_pending_child_keys @@ -1863,9 +1869,18 @@ fn test_revert_hotkey_swap_auto_stake_destination() { coldkeys ); assert!(AutoStakeDestinationColdkeys::::get(hk1, netuid).is_empty()); - assert_eq!(AutoStakeDestination::::get(coldkey, netuid), Some(hk2)); - assert_eq!(AutoStakeDestination::::get(staker1, netuid), Some(hk2)); - assert_eq!(AutoStakeDestination::::get(staker2, netuid), Some(hk2)); + assert_eq!( + AutoStakeDestination::::get(coldkey, netuid), + Some(hk2) + ); + assert_eq!( + AutoStakeDestination::::get(staker1, netuid), + Some(hk2) + ); + assert_eq!( + AutoStakeDestination::::get(staker2, netuid), + Some(hk2) + ); // Revert: hk2 -> hk1 step_block(20); @@ -1977,16 +1992,46 @@ fn test_revert_hotkey_swap_dividends() { Some(netuid) )); - assert_eq!(TotalHotkeyAlpha::::get(hk1, netuid), AlphaBalance::ZERO); - assert_eq!(TotalHotkeyAlpha::::get(hk2, netuid), AlphaBalance::from(amount)); - assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), AlphaBalance::ZERO); - assert_eq!(TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), AlphaBalance::from(amount * 2)); - assert_eq!(TotalHotkeyShares::::get(hk1, netuid), U64F64::from_num(0)); - assert_eq!(TotalHotkeyShares::::get(hk2, netuid), U64F64::from_num(shares)); - assert_eq!(Alpha::::get((hk1, coldkey, netuid)), U64F64::from_num(0)); - assert_eq!(Alpha::::get((hk2, coldkey, netuid)), U64F64::from_num(amount)); - assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk1), AlphaBalance::ZERO); - assert_eq!(AlphaDividendsPerSubnet::::get(netuid, hk2), AlphaBalance::from(amount)); + assert_eq!( + TotalHotkeyAlpha::::get(hk1, netuid), + AlphaBalance::ZERO + ); + assert_eq!( + TotalHotkeyAlpha::::get(hk2, netuid), + AlphaBalance::from(amount) + ); + assert_eq!( + TotalHotkeyAlphaLastEpoch::::get(hk1, netuid), + AlphaBalance::ZERO + ); + assert_eq!( + TotalHotkeyAlphaLastEpoch::::get(hk2, netuid), + AlphaBalance::from(amount * 2) + ); + assert_eq!( + TotalHotkeyShares::::get(hk1, netuid), + U64F64::from_num(0) + ); + assert_eq!( + TotalHotkeyShares::::get(hk2, netuid), + U64F64::from_num(shares) + ); + assert_eq!( + Alpha::::get((hk1, coldkey, netuid)), + U64F64::from_num(0) + ); + assert_eq!( + Alpha::::get((hk2, coldkey, netuid)), + U64F64::from_num(amount) + ); + assert_eq!( + AlphaDividendsPerSubnet::::get(netuid, hk1), + AlphaBalance::ZERO + ); + assert_eq!( + AlphaDividendsPerSubnet::::get(netuid, hk2), + AlphaBalance::from(amount) + ); // Revert: hk2 -> hk1 step_block(20); @@ -2061,13 +2106,19 @@ fn test_revert_voting_power_transfers_on_hotkey_swap() { let voting_power_value = 5_000_000_000_000_u64; VotingPower::::insert(netuid, hk1, voting_power_value); - assert_eq!(SubtensorModule::get_voting_power(netuid, &hk1), voting_power_value); + assert_eq!( + SubtensorModule::get_voting_power(netuid, &hk1), + voting_power_value + ); assert_eq!(SubtensorModule::get_voting_power(netuid, &hk2), 0); SubtensorModule::swap_voting_power_for_hotkey(&hk1, &hk2, netuid); assert_eq!(SubtensorModule::get_voting_power(netuid, &hk1), 0); - assert_eq!(SubtensorModule::get_voting_power(netuid, &hk2), voting_power_value); + assert_eq!( + SubtensorModule::get_voting_power(netuid, &hk2), + voting_power_value + ); // Revert: hk2 -> hk1 SubtensorModule::swap_voting_power_for_hotkey(&hk2, &hk1, netuid); @@ -2202,4 +2253,4 @@ fn test_revert_claim_root_with_swap_hotkey() { "hk1 RootClaimable must be restored after revert" ); }); -} \ No newline at end of file +} From 75bffe9804edabfa5b2200c21198c880466fafc0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 15:17:28 -0300 Subject: [PATCH 157/204] added three to localnet --- node/src/chain_spec/localnet.rs | 5 +++++ scripts/localnet.sh | 35 ++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/node/src/chain_spec/localnet.rs b/node/src/chain_spec/localnet.rs index 02ea8896b5..64b599af33 100644 --- a/node/src/chain_spec/localnet.rs +++ b/node/src/chain_spec/localnet.rs @@ -39,6 +39,7 @@ pub fn localnet_config(single_authority: bool) -> Result { vec![ authority_keys_from_seed("One"), authority_keys_from_seed("Two"), + authority_keys_from_seed("Three"), ] }, // Pre-funded accounts @@ -85,6 +86,10 @@ fn localnet_genesis( get_account_id_from_seed::("Two"), 2000000000000u128, ), + ( + get_account_id_from_seed::("Three"), + 2000000000000u128, + ), // ETH ( // Alith - 0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac diff --git a/scripts/localnet.sh b/scripts/localnet.sh index 868079aee1..b6bb683602 100755 --- a/scripts/localnet.sh +++ b/scripts/localnet.sh @@ -89,6 +89,7 @@ echo "*** Chainspec built and output to file" # Generate node keys "$BUILD_DIR/release/node-subtensor" key generate-node-key --chain="$FULL_PATH" --base-path /tmp/one "$BUILD_DIR/release/node-subtensor" key generate-node-key --chain="$FULL_PATH" --base-path /tmp/two +"$BUILD_DIR/release/node-subtensor" key generate-node-key --chain="$FULL_PATH" --base-path /tmp/three if [ $NO_PURGE -eq 1 ]; then echo "*** Purging previous state skipped..." @@ -96,6 +97,7 @@ else echo "*** Purging previous state..." "$BUILD_DIR/release/node-subtensor" purge-chain -y --base-path /tmp/two --chain="$FULL_PATH" >/dev/null 2>&1 "$BUILD_DIR/release/node-subtensor" purge-chain -y --base-path /tmp/one --chain="$FULL_PATH" >/dev/null 2>&1 + "$BUILD_DIR/release/node-subtensor" purge-chain -y --base-path /tmp/three --chain="$FULL_PATH" >/dev/null 2>&1 echo "*** Previous chainstate purged" fi @@ -130,17 +132,48 @@ if [ $BUILD_ONLY -eq 0 ]; then --unsafe-force-node-key-generation ) + # Insert //Three keys manually (no --three shorthand exists in Substrate) + "$BUILD_DIR/release/node-subtensor" key insert \ + --base-path /tmp/three \ + --chain="$FULL_PATH" \ + --scheme Sr25519 \ + --suri "//Three" \ + --key-type aura + "$BUILD_DIR/release/node-subtensor" key insert \ + --base-path /tmp/three \ + --chain="$FULL_PATH" \ + --scheme Ed25519 \ + --suri "//Three" \ + --key-type gran + + three_start=( + "$BUILD_DIR/release/node-subtensor" + --base-path /tmp/three + --chain="$FULL_PATH" + --name Three + --port 30336 + --rpc-port 9946 + --validator + --rpc-cors=all + --allow-private-ipv4 + --discover-local + --unsafe-force-node-key-generation + ) + # Provide RUN_IN_DOCKER local environment variable if run script in the docker image if [ "${RUN_IN_DOCKER}" == "1" ]; then one_start+=(--unsafe-rpc-external) two_start+=(--unsafe-rpc-external) + three_start+=(--unsafe-rpc-external) fi trap 'pkill -P $$' EXIT SIGINT SIGTERM ( + export RUST_LOG=basic_authorship=debug,txpool=debug ("${one_start[@]}" 2>&1) & - ("${two_start[@]}" 2>&1) + ("${two_start[@]}" 2>&1) & + ("${three_start[@]}" 2>&1) wait ) fi From 7a80b64776ad15c61e89c8050bbd8bc8c9134b2c Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 19:14:05 -0300 Subject: [PATCH 158/204] simplify shield transaction extension and check in proposer --- pallets/shield/src/extension.rs | 108 ++++++-------------------------- 1 file changed, 20 insertions(+), 88 deletions(-) diff --git a/pallets/shield/src/extension.rs b/pallets/shield/src/extension.rs index e055444a56..5e5a85f7af 100644 --- a/pallets/shield/src/extension.rs +++ b/pallets/shield/src/extension.rs @@ -1,15 +1,14 @@ -use crate::{Call, Config, CurrentKey, NextKey, ShieldedTransaction}; +use crate::{Call, Config, ShieldedTransaction}; use codec::{Decode, DecodeWithMemTracking, Encode}; use frame_support::pallet_prelude::*; use frame_support::traits::IsSubType; use scale_info::TypeInfo; -use sp_io::hashing::twox_128; use sp_runtime::impl_tx_ext_default; use sp_runtime::traits::{ AsSystemOriginSigner, DispatchInfoOf, Dispatchable, Implication, TransactionExtension, ValidateResult, }; -use sp_runtime::transaction_validity::{TransactionSource, ValidTransaction}; +use sp_runtime::transaction_validity::TransactionSource; use subtensor_macros::freeze_struct; use subtensor_runtime_common::CustomTransactionError; @@ -41,7 +40,13 @@ where type Val = (); type Pre = (); - impl_tx_ext_default!(::RuntimeCall; weight prepare); + impl_tx_ext_default!(::RuntimeCall; prepare); + + fn weight(&self, _call: &::RuntimeCall) -> Weight { + // Some arbitrary weight added to account for the cost + // of reading the PendingKey from the proposer. + Weight::from_parts(1_000_000, 0).saturating_add(T::DbWeight::get().reads(1)) + } fn validate( &self, @@ -51,7 +56,7 @@ where _len: usize, _self_implicit: Self::Implicit, _inherited_implication: &impl Implication, - source: TransactionSource, + _source: TransactionSource, ) -> ValidateResult::RuntimeCall> { // Ensure the transaction is signed, else we just skip the extension. let Some(_who) = origin.as_system_origin_signer() else { @@ -65,36 +70,11 @@ where }; // Reject malformed ciphertext regardless of source. - let Some(ShieldedTransaction { key_hash, .. }) = ShieldedTransaction::parse(ciphertext) - else { + let Some(ShieldedTransaction { .. }) = ShieldedTransaction::parse(ciphertext) else { return Err(CustomTransactionError::FailedShieldedTxParsing.into()); }; - // Only enforce the key_hash check during block building/import. - // The fork-aware tx pool validates against multiple views (recent block states), - // and stale views may not contain the key the tx was encrypted with, - // causing spurious rejections. Pool validation only checks structure above. - if source == TransactionSource::InBlock { - let matches_any = [CurrentKey::::get(), NextKey::::get()] - .iter() - .any(|k| k.as_ref().is_some_and(|k| twox_128(&k[..]) == key_hash)); - - if !matches_any { - return Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()); - } - } - - // Shielded txs get a short longevity so they are evicted from the pool - // if not included within a few blocks. Keys rotate every block, so a tx - // encrypted against a key that has rotated out of the 2-key window - // (CurrentKey + NextKey) will never be included — without this it would - // stay in the pool indefinitely since pool revalidation skips the key check. - let validity = ValidTransaction { - longevity: 3, - ..Default::default() - }; - - Ok((validity, (), origin)) + Ok((Default::default(), (), origin)) } } @@ -130,14 +110,6 @@ mod tests { }) } - fn set_current_key(pk: &[u8]) { - CurrentKey::::put(BoundedVec::>::truncate_from(pk.to_vec())); - } - - fn set_next_key(pk: &[u8]) { - NextKey::::put(BoundedVec::>::truncate_from(pk.to_vec())); - } - fn validate_ext( who: Option, call: &RuntimeCall, @@ -153,15 +125,11 @@ mod tests { .map(|(validity, _, _)| validity) } - const PK_A: [u8; 32] = [0x11; 32]; - const PK_B: [u8; 32] = [0x22; 32]; - #[test] fn non_shield_call_passes_through() { new_test_ext().execute_with(|| { let call = RuntimeCall::System(frame_system::Call::remark { remark: vec![] }); let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); - // Non-shield calls get default (max) longevity. assert_eq!(validity.longevity, u64::MAX); }); } @@ -202,65 +170,29 @@ mod tests { } #[test] - fn inblock_matches_current_key() { - new_test_ext().execute_with(|| { - set_current_key(&PK_A); - let call = make_submit_call(twox_128(&PK_A)); - let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); - assert_eq!(validity.longevity, 3); - }); - } - - #[test] - fn inblock_matches_next_key() { + fn wellformed_ciphertext_accepted_inblock() { new_test_ext().execute_with(|| { - set_next_key(&PK_B); - let call = make_submit_call(twox_128(&PK_B)); + let call = make_submit_call([0xFF; 16]); let validity = validate_ext(Some(1), &call, TransactionSource::InBlock).unwrap(); - assert_eq!(validity.longevity, 3); + assert_eq!(validity, ValidTransaction::default()); }); } #[test] - fn inblock_no_match_rejected() { + fn wellformed_ciphertext_accepted_external() { new_test_ext().execute_with(|| { - set_current_key(&PK_A); - set_next_key(&PK_B); let call = make_submit_call([0xFF; 16]); - assert_eq!( - validate_ext(Some(1), &call, TransactionSource::InBlock), - Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()) - ); - }); - } - - #[test] - fn inblock_no_keys_set_rejected() { - new_test_ext().execute_with(|| { - let call = make_submit_call(twox_128(&PK_A)); - assert_eq!( - validate_ext(Some(1), &call, TransactionSource::InBlock), - Err(CustomTransactionError::InvalidShieldedTxPubKeyHash.into()) - ); + let validity = validate_ext(Some(1), &call, TransactionSource::External).unwrap(); + assert_eq!(validity, ValidTransaction::default()); }); } #[test] - fn pool_local_skips_key_check() { + fn wellformed_ciphertext_accepted_local() { new_test_ext().execute_with(|| { let call = make_submit_call([0xFF; 16]); let validity = validate_ext(Some(1), &call, TransactionSource::Local).unwrap(); - // Pool sources skip key check but still get short longevity. - assert_eq!(validity.longevity, 3); - }); - } - - #[test] - fn pool_external_skips_key_check() { - new_test_ext().execute_with(|| { - let call = make_submit_call([0xFF; 16]); - let validity = validate_ext(Some(1), &call, TransactionSource::External).unwrap(); - assert_eq!(validity.longevity, 3); + assert_eq!(validity, ValidTransaction::default()); }); } } From 54512d2c7514e87a2e423c240a77ba7046701002 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 19:26:48 -0300 Subject: [PATCH 159/204] wrap CheckMortality extension with 64 block max for MEV tx --- node/src/benchmarking.rs | 8 +- runtime/Cargo.toml | 4 +- runtime/src/check_mortality.rs | 216 +++++++++++++++++++++++++++++++++ runtime/src/lib.rs | 5 +- 4 files changed, 224 insertions(+), 9 deletions(-) create mode 100644 runtime/src/check_mortality.rs diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 7edff9149b..d0c0ac9a40 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -5,7 +5,7 @@ use crate::client::FullClient; use node_subtensor_runtime as runtime; -use node_subtensor_runtime::{check_nonce, transaction_payment_wrapper}; +use node_subtensor_runtime::{check_mortality, check_nonce, transaction_payment_wrapper}; use node_subtensor_runtime::{pallet_subtensor, sudo_wrapper}; use runtime::{BalancesCall, SystemCall}; use sc_cli::Result; @@ -124,16 +124,14 @@ pub fn create_benchmark_extrinsic( .checked_next_power_of_two() .map(|c| c / 2) .unwrap_or(2) as u64; + let era = sp_runtime::generic::Era::mortal(period, best_block.saturated_into()); let extra: runtime::TxExtension = ( ( frame_system::CheckNonZeroSender::::new(), frame_system::CheckSpecVersion::::new(), frame_system::CheckTxVersion::::new(), frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(sp_runtime::generic::Era::mortal( - period, - best_block.saturated_into(), - )), + check_mortality::CheckMortality::::from(era), check_nonce::CheckNonce::::from(nonce), frame_system::CheckWeight::::new(), ), diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 668d2910f1..2d7b2250d6 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -59,7 +59,7 @@ sp-version.workspace = true sp-authority-discovery.workspace = true subtensor-runtime-common.workspace = true subtensor-precompiles.workspace = true -sp-debug-derive = { workspace = true, features = [] } +sp-weights.workspace = true # Temporary sudo pallet-sudo.workspace = true @@ -279,7 +279,7 @@ std = [ "ethereum/std", "pallet-shield/std", "stp-shield/std", - "sp-debug-derive/std", + "sp-weights/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs new file mode 100644 index 0000000000..e7f6358081 --- /dev/null +++ b/runtime/src/check_mortality.rs @@ -0,0 +1,216 @@ +use codec::{Decode, DecodeWithMemTracking, Encode}; +use core::marker::PhantomData; +use frame_support::pallet_prelude::TypeInfo; +use frame_support::traits::IsSubType; +use frame_system::CheckMortality as CheckMortalitySubstrate; +use pallet_shield::Call as ShieldCall; +use sp_runtime::{ + generic::Era, + traits::{DispatchInfoOf, Dispatchable, Implication, TransactionExtension, ValidateResult}, + transaction_validity::{InvalidTransaction, TransactionSource, TransactionValidityError}, +}; + +/// Maximum allowed Era period (in blocks) for `submit_encrypted` transactions. +/// +/// Substrate's minimum mortal Era is 4 blocks (smallest power-of-two ≥ 4). +/// Limiting encrypted txs to this value ensures stuck transactions evict from +/// the fork-aware tx pool within a handful of blocks. +const MAX_SHIELD_ERA_PERIOD: u64 = 64; + +/// A transparent wrapper around [`frame_system::CheckMortality`] that additionally +/// enforces a short Era period for [`pallet_shield::Call::submit_encrypted`] transactions. +/// +/// Drop-in replacement for `frame_system::CheckMortality` in the runtime's +/// transaction extension pipeline. Shares the same `IDENTIFIER = "CheckMortality"` +/// and identical SCALE encoding, so existing clients require no changes. +/// +/// Any `submit_encrypted` call signed with an immortal Era or a mortal Era period +/// longer than [`MAX_SHIELD_ERA_PERIOD`] is rejected immediately at pool submission +/// with `InvalidTransaction::Stale`, preventing pool bloat from long-lived +/// encrypted transactions that can never be decrypted. +#[derive(Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] +#[scale_info(skip_type_params(T))] +pub struct CheckMortality(pub Era, PhantomData); + +impl CheckMortality { + pub fn from(era: Era) -> Self { + Self(era, PhantomData) + } +} + +impl core::fmt::Debug for CheckMortality { + #[cfg(feature = "std")] + fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { + write!(f, "CheckMortality({:?})", self.0) + } + + #[cfg(not(feature = "std"))] + fn fmt(&self, _: &mut core::fmt::Formatter) -> core::fmt::Result { + Ok(()) + } +} + +impl TransactionExtension + for CheckMortality +where + T::RuntimeCall: Dispatchable + IsSubType>, + T: pallet_shield::Config, +{ + const IDENTIFIER: &'static str = "CheckMortality"; + + type Implicit = as TransactionExtension>::Implicit; + type Val = as TransactionExtension>::Val; + type Pre = as TransactionExtension>::Pre; + + fn implicit(&self) -> Result { + CheckMortalitySubstrate::::from(self.0).implicit() + } + + fn weight(&self, call: &T::RuntimeCall) -> sp_weights::Weight { + CheckMortalitySubstrate::::from(self.0).weight(call) + } + + fn validate( + &self, + origin: T::RuntimeOrigin, + call: &T::RuntimeCall, + info: &DispatchInfoOf, + len: usize, + self_implicit: Self::Implicit, + inherited_implication: &impl Implication, + source: TransactionSource, + ) -> ValidateResult { + if let Some(ShieldCall::submit_encrypted { .. }) = + IsSubType::>::is_sub_type(call) + { + let era_too_long = match self.0 { + Era::Immortal => true, + Era::Mortal(period, _) => period > MAX_SHIELD_ERA_PERIOD, + }; + if era_too_long { + return Err(InvalidTransaction::Stale.into()); + } + } + + CheckMortalitySubstrate::::from(self.0).validate( + origin, + call, + info, + len, + self_implicit, + inherited_implication, + source, + ) + } + + fn prepare( + self, + val: Self::Val, + origin: &T::RuntimeOrigin, + call: &T::RuntimeCall, + info: &DispatchInfoOf, + len: usize, + ) -> Result { + CheckMortalitySubstrate::::from(self.0).prepare(val, origin, call, info, len) + } +} + +#[cfg(test)] +mod tests { + use super::*; + use frame_support::dispatch::GetDispatchInfo; + use frame_support::pallet_prelude::{BoundedVec, ConstU32}; + use sp_runtime::traits::TxBaseImplication; + use sp_runtime::transaction_validity::InvalidTransaction; + + use crate::{Runtime, RuntimeCall, RuntimeOrigin, System}; + use sp_runtime::BuildStorage; + + fn new_test_ext() -> sp_io::TestExternalities { + let mut ext: sp_io::TestExternalities = crate::RuntimeGenesisConfig { + sudo: pallet_sudo::GenesisConfig { key: None }, + ..Default::default() + } + .build_storage() + .unwrap() + .into(); + ext.execute_with(|| System::set_block_number(1)); + ext + } + + fn submit_encrypted_call() -> RuntimeCall { + RuntimeCall::MevShield(pallet_shield::Call::submit_encrypted { + ciphertext: BoundedVec::>::truncate_from(vec![0xAA; 64]), + }) + } + + fn remark_call() -> RuntimeCall { + RuntimeCall::System(frame_system::Call::remark { remark: vec![] }) + } + + /// Only tests the early-return path (era check). Does NOT call into + /// CheckMortalitySubstrate which needs real block hashes. + fn validate_era_check(era: Era, call: &RuntimeCall) -> Result<(), TransactionValidityError> { + if let Some(ShieldCall::submit_encrypted { .. }) = + IsSubType::>::is_sub_type(call) + { + let era_too_long = match era { + Era::Immortal => true, + Era::Mortal(period, _) => period > MAX_SHIELD_ERA_PERIOD, + }; + if era_too_long { + return Err(InvalidTransaction::Stale.into()); + } + } + Ok(()) + } + + #[test] + fn shield_tx_with_immortal_era_rejected() { + new_test_ext().execute_with(|| { + assert_eq!( + validate_era_check(Era::Immortal, &submit_encrypted_call()), + Err(InvalidTransaction::Stale.into()) + ); + }); + } + + #[test] + fn shield_tx_with_era_too_long_rejected() { + new_test_ext().execute_with(|| { + // Period 128 > MAX_SHIELD_ERA_PERIOD (64) + assert_eq!( + validate_era_check(Era::mortal(128, 1), &submit_encrypted_call()), + Err(InvalidTransaction::Stale.into()) + ); + }); + } + + #[test] + fn shield_tx_with_max_allowed_era_accepted() { + new_test_ext().execute_with(|| { + assert!(validate_era_check(Era::mortal(64, 1), &submit_encrypted_call()).is_ok()); + }); + } + + #[test] + fn shield_tx_with_short_era_accepted() { + new_test_ext().execute_with(|| { + assert!(validate_era_check(Era::mortal(4, 1), &submit_encrypted_call()).is_ok()); + }); + } + + #[test] + fn non_shield_tx_with_immortal_era_passes_through() { + new_test_ext().execute_with(|| { + assert!(validate_era_check(Era::Immortal, &remark_call()).is_ok()); + }); + } + + #[test] + fn non_shield_tx_with_long_era_passes_through() { + new_test_ext().execute_with(|| { + assert!(validate_era_check(Era::mortal(256, 1), &remark_call()).is_ok()); + }); + } +} diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index e554ce0b25..91a333c6e0 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -10,6 +10,7 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); use core::num::NonZeroU64; +pub mod check_mortality; pub mod check_nonce; mod migrations; pub mod sudo_wrapper; @@ -193,7 +194,7 @@ impl frame_system::offchain::CreateSignedTransaction frame_system::CheckSpecVersion::::new(), frame_system::CheckTxVersion::::new(), frame_system::CheckGenesis::::new(), - frame_system::CheckEra::::from(Era::Immortal), + check_mortality::CheckMortality::::from(Era::Immortal), check_nonce::CheckNonce::::from(nonce).into(), frame_system::CheckWeight::::new(), ), @@ -1670,7 +1671,7 @@ pub type SystemTxExtension = ( frame_system::CheckSpecVersion, frame_system::CheckTxVersion, frame_system::CheckGenesis, - frame_system::CheckEra, + check_mortality::CheckMortality, check_nonce::CheckNonce, frame_system::CheckWeight, ); From f540449843413804d907a2963498817dd230546b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 19:53:10 -0300 Subject: [PATCH 160/204] PendingKey is n+1 block author key and Next is n+2 --- pallets/shield/src/lib.rs | 86 +++++++++++++-------- pallets/shield/src/mock.rs | 14 +++- pallets/shield/src/tests.rs | 145 +++++++++++++++++++++++++++++++----- runtime/src/lib.rs | 12 +++ 4 files changed, 205 insertions(+), 52 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index e361501381..83101ab201 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -13,6 +13,7 @@ use ml_kem::{ Ciphertext, EncodedSizeUser, MlKem768, MlKem768Params, kem::{Decapsulate, DecapsulationKey}, }; +use sp_io::hashing::twox_128; use sp_runtime::traits::{Applyable, Block as BlockT, Checkable, Hash}; use stp_shield::{ INHERENT_IDENTIFIER, InherentType, LOG_TARGET, ShieldPublicKey, ShieldedTransaction, @@ -60,22 +61,19 @@ pub mod pallet { #[pallet::pallet] pub struct Pallet(_); - // Current block author ML‑KEM‑768 public key bytes. - // - // Note: Do not use this to encrypt transactions as this - // is only used to validate transactions in the extension. - // Use `NextKey` instead. + /// Current block author's ML-KEM-768 public key (internal, not for encryption). #[pallet::storage] pub type CurrentKey = StorageValue<_, ShieldPublicKey, OptionQuery>; - // Next block author ML‑KEM‑768 public key bytes. - // - // This is the key that should be used to encrypt transactions. + /// Next block author's key, staged here before promoting to `CurrentKey`. + #[pallet::storage] + pub type PendingKey = StorageValue<_, ShieldPublicKey, OptionQuery>; + + /// Key users should encrypt with (N+2 author's key). #[pallet::storage] pub type NextKey = StorageValue<_, ShieldPublicKey, OptionQuery>; - /// Latest announced ML‑KEM‑768 public key per block author. - /// This is the key the author will use for decapsulation in their next slot. + /// Per-author ML-KEM-768 public key, updated each time the author produces a block. #[pallet::storage] pub type AuthorKeys = StorageMap<_, Twox64Concat, T::AuthorityId, ShieldPublicKey, OptionQuery>; @@ -115,13 +113,16 @@ pub mod pallet { #[pallet::call] impl Pallet { - /// Announce the ML‑KEM public key that will become `CurrentKey` in - /// the next block the current author will produce. + /// Rotate the key chain and announce the current author's ML-KEM public key. /// - /// Note: The public key can be `None` if the author failed to include the key in the - /// inherent data (which should never happen except node failure). In that case, we - /// store the next key as `None` to reflect that this author will not be able - /// handle encrypted transactions in his next block. + /// Called as an inherent every block. `public_key` is `None` on node failure, + /// which removes the author from future shielded tx eligibility. + /// + /// Key rotation order (using pre-update AuthorKeys): + /// 1. CurrentKey ← PendingKey + /// 2. PendingKey ← next author's key + /// 3. NextKey ← next-next author's key (user-facing) + /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(23_190_000, 0) .saturating_add(T::DbWeight::get().reads(2_u64)) @@ -132,15 +133,34 @@ pub mod pallet { ) -> DispatchResult { ensure_none(origin)?; - let author = T::FindAuthors::find_current_author() - // This should never happen as we are in an inherent. - .ok_or(Error::::Unreachable)?; + let author = T::FindAuthors::find_current_author().ok_or(Error::::Unreachable)?; - // Shift the key chain: Current ← NextKey. - // NextKey was set in the previous block to be the current author's key, - // so this naturally tracks the last 2 keys users may have encrypted with. - CurrentKey::::set(NextKey::::get()); + // 1. CurrentKey ← PendingKey + if let Some(pending_key) = PendingKey::::take() { + CurrentKey::::put(pending_key); + } else { + CurrentKey::::kill(); + } + + // 2. PendingKey ← next author's key + if let Some(next_author) = T::FindAuthors::find_next_author() + && let Some(key) = AuthorKeys::::get(&next_author) + { + PendingKey::::put(key); + } else { + PendingKey::::kill(); + } + + // 3. NextKey ← next-next author's key + if let Some(next_next_author) = T::FindAuthors::find_next_next_author() + && let Some(key) = AuthorKeys::::get(&next_next_author) + { + NextKey::::put(key); + } else { + NextKey::::kill(); + } + // 4. Update AuthorKeys after rotations for consistent reads above. if let Some(public_key) = &public_key { ensure!( public_key.len() == MLKEM768_PK_LEN, @@ -148,19 +168,9 @@ pub mod pallet { ); AuthorKeys::::insert(&author, public_key.clone()); } else { - // If the author did not announce a key, remove his old key from storage, - // he will not be able to accept shielded transactions in his next block. AuthorKeys::::remove(&author); } - // Expose the next block author's key so users can encrypt for them. - NextKey::::kill(); - if let Some(next_author) = T::FindAuthors::find_next_author() - && let Some(key) = AuthorKeys::::get(&next_author) - { - NextKey::::put(key); - } - Ok(()) } @@ -259,6 +269,12 @@ impl Pallet { ShieldedTransaction::parse(ciphertext) } + pub fn is_shielded_using_current_key(key_hash: &[u8; 16]) -> bool { + let pending = PendingKey::::get(); + let pending_hash = pending.as_ref().map(|k| twox_128(&k[..])); + pending_hash.as_ref() == Some(key_hash) + } + pub fn try_unshield_tx( dec_key_bytes: alloc::vec::Vec, shielded_tx: ShieldedTransaction, @@ -281,6 +297,7 @@ impl Pallet { pub trait FindAuthors { fn find_current_author() -> Option; fn find_next_author() -> Option; + fn find_next_next_author() -> Option; } impl FindAuthors for () { @@ -290,6 +307,9 @@ impl FindAuthors for () { fn find_next_author() -> Option { None } + fn find_next_next_author() -> Option { + None + } } /// Decrypt a shielded transaction using the raw decapsulation key bytes. diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 7ef95a3aca..3a4cf2e2c3 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -61,6 +61,7 @@ impl pallet_subtensor_utility::Config for Test { thread_local! { static MOCK_CURRENT: RefCell> = const { RefCell::new(None) }; static MOCK_NEXT: RefCell>> = const { RefCell::new(None) }; + static MOCK_NEXT_NEXT: RefCell>> = const { RefCell::new(None) }; } pub struct MockFindAuthors; @@ -74,6 +75,7 @@ impl pallet_shield::FindAuthors for MockFindAuthors { auths.get(*slot as usize % auths.len()).cloned() }) } + fn find_next_author() -> Option { // If thread-local was set, use it (Some(None) = explicitly no next). if let Some(val) = MOCK_NEXT.with(|n| n.borrow().clone()) { @@ -84,6 +86,15 @@ impl pallet_shield::FindAuthors for MockFindAuthors { let auths = pallet_aura::Authorities::::get().into_inner(); auths.get(next_slot as usize % auths.len()).cloned() } + + fn find_next_next_author() -> Option { + if let Some(val) = MOCK_NEXT_NEXT.with(|n| n.borrow().clone()) { + return val; + } + let slot = Aura::current_slot_from_digests()?.checked_add(2)?; + let auths = pallet_aura::Authorities::::get().into_inner(); + auths.get(slot as usize % auths.len()).cloned() + } } impl pallet_shield::Config for Test { @@ -115,9 +126,10 @@ pub fn author(n: u8) -> AuraId { AuraId::from(sr25519::Public::from_raw([n; 32])) } -pub fn set_authors(current: Option, next: Option) { +pub fn set_authors(current: Option, next: Option, next_next: Option) { MOCK_CURRENT.with(|c| *c.borrow_mut() = current); MOCK_NEXT.with(|n| *n.borrow_mut() = Some(next)); + MOCK_NEXT_NEXT.with(|n| *n.borrow_mut() = Some(next_next)); } pub fn nest_call(call: RuntimeCall, depth: usize) -> RuntimeCall { diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 02f5623eaa..9d90fc8d1c 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,5 +1,5 @@ use crate::mock::*; -use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey}; +use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey, PendingKey}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; @@ -21,7 +21,7 @@ use stc_shield::MemoryShieldKeystore; #[test] fn announce_rejects_signed_origin() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); + set_authors(Some(author(1)), None, None); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), sp_runtime::DispatchError::BadOrigin @@ -30,26 +30,26 @@ fn announce_rejects_signed_origin() { } #[test] -fn announce_shifts_next_into_current() { +fn announce_shifts_pending_into_current() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2))); + set_authors(Some(author(1)), Some(author(2)), None); - let old_next = valid_pk_b(); - NextKey::::put(old_next.clone()); + let old_pending = valid_pk_b(); + PendingKey::::put(old_pending.clone()); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), Some(valid_pk()), )); - assert_eq!(CurrentKey::::get(), Some(old_next)); + assert_eq!(CurrentKey::::get(), Some(old_pending)); }); } #[test] fn announce_stores_key_in_author_keys() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); + set_authors(Some(author(1)), None, None); let pk = valid_pk(); assert_ok!(MevShield::announce_next_key( @@ -62,12 +62,12 @@ fn announce_stores_key_in_author_keys() { } #[test] -fn announce_sets_next_key_from_next_author() { +fn announce_sets_next_key_from_next_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2))); + set_authors(Some(author(1)), Some(author(2)), Some(author(3))); let pk_b = valid_pk_b(); - AuthorKeys::::insert(author(2), pk_b.clone()); + AuthorKeys::::insert(author(3), pk_b.clone()); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -79,9 +79,9 @@ fn announce_sets_next_key_from_next_author() { } #[test] -fn announce_next_key_none_when_next_author_has_no_key() { +fn announce_next_key_none_when_next_next_author_has_no_key() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2))); + set_authors(Some(author(1)), Some(author(2)), Some(author(3))); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -93,9 +93,9 @@ fn announce_next_key_none_when_next_author_has_no_key() { } #[test] -fn announce_next_key_none_when_no_next_author() { +fn announce_next_key_none_when_no_next_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); + set_authors(Some(author(1)), Some(author(2)), None); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -109,7 +109,7 @@ fn announce_next_key_none_when_no_next_author() { #[test] fn announce_rejects_bad_pk_length() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); + set_authors(Some(author(1)), None, None); let bad_pk: ShieldPublicKey = BoundedVec::truncate_from(vec![0x01; 100]); assert_noop!( @@ -122,7 +122,7 @@ fn announce_rejects_bad_pk_length() { #[test] fn announce_none_pk_removes_author_key() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); + set_authors(Some(author(1)), None, None); AuthorKeys::::insert(author(1), valid_pk()); assert_ok!(MevShield::announce_next_key(RuntimeOrigin::none(), None)); @@ -134,7 +134,7 @@ fn announce_none_pk_removes_author_key() { #[test] fn announce_fails_when_no_current_author() { new_test_ext().execute_with(|| { - set_authors(None, None); + set_authors(None, None, None); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::none(), Some(valid_pk())), @@ -143,6 +143,78 @@ fn announce_fails_when_no_current_author() { }); } +#[test] +fn announce_stages_next_author_key_into_pending() { + new_test_ext().execute_with(|| { + set_authors(Some(author(1)), Some(author(2)), Some(author(3))); + + let pk_next = valid_pk_b(); + AuthorKeys::::insert(author(2), pk_next.clone()); + + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(valid_pk()), + )); + + assert_eq!(PendingKey::::get(), Some(pk_next)); + }); +} + +#[test] +fn announce_kills_pending_when_no_next_author() { + new_test_ext().execute_with(|| { + set_authors(Some(author(1)), None, None); + PendingKey::::put(valid_pk()); + + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(valid_pk()), + )); + + assert!(PendingKey::::get().is_none()); + }); +} + +#[test] +fn announce_kills_pending_when_next_author_has_no_key() { + new_test_ext().execute_with(|| { + set_authors(Some(author(1)), Some(author(2)), None); + PendingKey::::put(valid_pk()); + + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(valid_pk()), + )); + + assert!(PendingKey::::get().is_none()); + }); +} + +#[test] +fn announce_rotations_use_pre_update_author_keys() { + new_test_ext().execute_with(|| { + // Author(1) is current, author(2) is next, author(1) is next_next + // (round-robin with 2 validators). + set_authors(Some(author(1)), Some(author(2)), Some(author(1))); + + let old_pk = valid_pk(); + let new_pk = valid_pk_b(); + AuthorKeys::::insert(author(1), old_pk.clone()); + + // Announce a NEW key for author(1). The rotation into NextKey should + // use the OLD key (snapshot before update). + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(new_pk.clone()), + )); + + // NextKey used old_pk (pre-update snapshot of author(1)'s key). + assert_eq!(NextKey::::get(), Some(old_pk)); + // AuthorKeys now holds the newly announced key. + assert_eq!(AuthorKeys::::get(author(1)), Some(new_pk)); + }); +} + #[test] fn submit_encrypted_emits_event() { new_test_ext().execute_with(|| { @@ -323,6 +395,43 @@ fn try_unshield_tx_decrypts_extrinsic() { assert_eq!(decoded.encode(), inner_uxt.encode()); } +#[test] +fn is_shielded_using_current_key_matches_pending_key() { + new_test_ext().execute_with(|| { + let pk = valid_pk(); + PendingKey::::put(pk.clone()); + + let hash = sp_io::hashing::twox_128(&pk[..]); + assert!(MevShield::is_shielded_using_current_key(&hash)); + }); +} + +#[test] +fn is_shielded_using_current_key_ignores_current_key() { + new_test_ext().execute_with(|| { + let pk = valid_pk(); + CurrentKey::::put(pk.clone()); + // PendingKey is empty — should NOT match. + let hash = sp_io::hashing::twox_128(&pk[..]); + assert!(!MevShield::is_shielded_using_current_key(&hash)); + }); +} + +#[test] +fn is_shielded_using_current_key_returns_false_when_no_pending() { + new_test_ext().execute_with(|| { + assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); + }); +} + +#[test] +fn is_shielded_using_current_key_rejects_wrong_hash() { + new_test_ext().execute_with(|| { + PendingKey::::put(valid_pk()); + assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); + }); +} + // --------------------------------------------------------------------------- // Migration tests // --------------------------------------------------------------------------- diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 91a333c6e0..29c04f998b 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -144,6 +144,14 @@ impl pallet_shield::FindAuthors for FindAuraAuthors { authorities.get(next_author_index as usize).cloned() } + + fn find_next_next_author() -> Option { + let slot = Aura::current_slot_from_digests()?.checked_add(2)?; + let authorities = pallet_aura::Authorities::::get().into_inner(); + let author_index = slot % authorities.len() as u64; + + authorities.get(author_index as usize).cloned() + } } impl pallet_shield::Config for Runtime { @@ -2652,6 +2660,10 @@ impl_runtime_apis! { MevShield::try_decode_shielded_tx::(uxt) } + fn is_shielded_using_current_key(key_hash: &[u8; 16]) -> bool { + MevShield::is_shielded_using_current_key(key_hash) + } + fn try_unshield_tx(dec_key_bytes: Vec, shielded_tx: ShieldedTransaction) -> Option<::Extrinsic> { MevShield::try_unshield_tx::(dec_key_bytes, shielded_tx) } From 05faeab9967ff1edcc11b951eaa49873e851b6bb Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 19:53:23 -0300 Subject: [PATCH 161/204] update deps --- Cargo.lock | 820 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 270 +++++++++--------- 2 files changed, 545 insertions(+), 545 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index caa4f5a194..0e856f119f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,7 +1056,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1435,7 +1435,7 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "hash-db", "log", @@ -1704,7 +1704,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-messages", "bp-runtime", @@ -1770,7 +1770,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-messages", @@ -1788,7 +1788,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -1811,7 +1811,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1831,7 +1831,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-messages", "bp-runtime", @@ -1848,7 +1848,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1879,7 +1879,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-messages", @@ -2742,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -2768,7 +2768,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "clap", "parity-scale-codec", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2808,7 +2808,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2855,7 +2855,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "anyhow", "async-trait", @@ -2902,7 +2902,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2925,7 +2925,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2962,7 +2962,7 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sc-consensus-babe", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -2973,7 +2973,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -3041,7 +3041,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3058,7 +3058,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -3075,7 +3075,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -3112,7 +3112,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3123,7 +3123,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3151,7 +3151,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3185,7 +3185,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "approx", "bounded-collections 0.2.4", @@ -3210,7 +3210,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-api", "sp-consensus-aura", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -3251,7 +3251,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3265,7 +3265,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -3275,7 +3275,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -3292,7 +3292,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3309,7 +3309,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -3337,7 +3337,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3357,7 +3357,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -3393,7 +3393,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3434,7 +3434,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-relay-chain-interface", "futures", @@ -3448,7 +3448,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4230,7 +4230,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "alloy-core", ] @@ -4447,7 +4447,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "async-trait", "fp-storage", @@ -4459,7 +4459,7 @@ dependencies = [ [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fc-rpc", "fp-storage", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fc-rpc", "sc-client-api", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "async-trait", "fp-consensus", @@ -4507,7 +4507,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "async-trait", "ethereum", @@ -4537,7 +4537,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fc-db", "fc-storage", @@ -4560,7 +4560,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -4611,7 +4611,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -4620,13 +4620,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -4791,7 +4791,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", ] @@ -4818,7 +4818,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "hex", "impl-serde", @@ -4836,7 +4836,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "parity-scale-codec", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -4859,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "environmental", "evm", @@ -4875,7 +4875,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -4891,7 +4891,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "frame-support", "parity-scale-codec", @@ -4903,7 +4903,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "parity-scale-codec", "serde", @@ -4918,7 +4918,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-support-procedural", @@ -4942,7 +4942,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -5007,7 +5007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -5035,7 +5035,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5046,7 +5046,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5063,7 +5063,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "aquamarine", "frame-support", @@ -5116,7 +5116,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5132,7 +5132,7 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -5146,7 +5146,7 @@ dependencies = [ [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -5187,7 +5187,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "Inflector", "cfg-expr", @@ -5200,7 +5200,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "syn 2.0.106", ] @@ -5220,7 +5220,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support-procedural-tools-derive 12.0.0", "proc-macro-crate 3.4.0", @@ -5243,7 +5243,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro2", "quote", @@ -5253,7 +5253,7 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cfg-if", "docify", @@ -5272,7 +5272,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -5286,7 +5286,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "parity-scale-codec", @@ -5296,7 +5296,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "parity-scale-codec", @@ -7880,7 +7880,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "log", @@ -7899,7 +7899,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8427,7 +8427,6 @@ dependencies = [ "sp-consensus-grandpa", "sp-consensus-slots", "sp-core", - "sp-debug-derive", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -8441,6 +8440,7 @@ dependencies = [ "sp-tracing", "sp-transaction-pool", "sp-version", + "sp-weights", "stp-shield", "substrate-fixed", "substrate-wasm-builder", @@ -8842,7 +8842,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -8854,7 +8854,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-io", "sp-runtime", ] @@ -8862,7 +8862,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8880,7 +8880,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8898,7 +8898,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8913,7 +8913,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8927,7 +8927,7 @@ dependencies = [ [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8945,7 +8945,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -8961,7 +8961,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ethereum-standards", "frame-benchmarking", @@ -8979,7 +8979,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "pallet-assets", @@ -8991,7 +8991,7 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9006,7 +9006,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9016,7 +9016,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9032,7 +9032,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9047,7 +9047,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9060,7 +9060,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9083,7 +9083,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "aquamarine", "docify", @@ -9104,7 +9104,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -9120,7 +9120,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "frame-support", @@ -9134,7 +9134,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9153,7 +9153,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9178,7 +9178,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9195,7 +9195,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9214,7 +9214,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-messages", @@ -9233,7 +9233,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9253,7 +9253,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-header-chain", "bp-messages", @@ -9276,7 +9276,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "frame-benchmarking", @@ -9294,7 +9294,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9312,7 +9312,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9331,7 +9331,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -9348,7 +9348,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9389,7 +9389,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "environmental", "frame-benchmarking", @@ -9420,7 +9420,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9451,7 +9451,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro2", "quote", @@ -9461,7 +9461,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9472,7 +9472,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9488,7 +9488,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9526,7 +9526,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9541,7 +9541,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -9607,7 +9607,7 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9625,7 +9625,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9646,7 +9646,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9667,7 +9667,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9680,7 +9680,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9698,7 +9698,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "ethereum", "ethereum-types", @@ -9721,7 +9721,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -9746,7 +9746,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "frame-support", "frame-system", @@ -9757,7 +9757,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "sp-core", @@ -9767,7 +9767,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "frame-support", @@ -9779,7 +9779,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "num", @@ -9788,7 +9788,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "tiny-keccak", @@ -9797,7 +9797,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "fp-evm", "ripemd", @@ -9807,7 +9807,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -9825,7 +9825,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -9843,7 +9843,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9865,7 +9865,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "frame-benchmarking", "frame-support", @@ -9880,7 +9880,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "enumflags2", "frame-benchmarking", @@ -9896,7 +9896,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9915,7 +9915,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9930,7 +9930,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9941,7 +9941,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9954,7 +9954,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -9970,7 +9970,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "environmental", "frame-benchmarking", @@ -9989,7 +9989,7 @@ dependencies = [ [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10007,7 +10007,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10026,7 +10026,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -10040,7 +10040,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -10052,7 +10052,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -10063,7 +10063,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "pallet-assets", @@ -10076,7 +10076,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10093,7 +10093,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10103,7 +10103,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -10114,7 +10114,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10132,7 +10132,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10152,7 +10152,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10162,7 +10162,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10177,7 +10177,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10200,7 +10200,7 @@ dependencies = [ [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10218,7 +10218,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "parity-scale-codec", @@ -10229,7 +10229,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10246,7 +10246,7 @@ dependencies = [ [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10264,7 +10264,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10280,7 +10280,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10290,7 +10290,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10308,7 +10308,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10318,7 +10318,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10353,7 +10353,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10368,7 +10368,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "alloy-core", "derive_more 0.99.20", @@ -10414,7 +10414,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "anyhow", "cargo_metadata", @@ -10428,7 +10428,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro2", "quote", @@ -10438,7 +10438,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10450,7 +10450,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10466,7 +10466,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10479,7 +10479,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "pallet-balances", @@ -10493,7 +10493,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "pallet-ranked-collective", @@ -10505,7 +10505,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10522,7 +10522,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10535,7 +10535,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10556,7 +10556,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10602,7 +10602,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10614,7 +10614,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10631,7 +10631,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10653,7 +10653,7 @@ dependencies = [ [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10676,7 +10676,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10695,7 +10695,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10712,7 +10712,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10723,7 +10723,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "sp-arithmetic", @@ -10732,7 +10732,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "sp-api", @@ -10742,7 +10742,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10758,7 +10758,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", @@ -10917,7 +10917,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10932,7 +10932,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -10950,7 +10950,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10968,7 +10968,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -10983,7 +10983,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -10999,7 +10999,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -11011,7 +11011,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -11030,7 +11030,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -11049,7 +11049,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "parity-scale-codec", @@ -11060,7 +11060,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -11074,7 +11074,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -11089,7 +11089,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -11104,7 +11104,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -11118,7 +11118,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11128,7 +11128,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bounded-collections 0.2.4", "frame-benchmarking", @@ -11154,7 +11154,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-benchmarking", "frame-support", @@ -11171,7 +11171,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-messages", "bp-runtime", @@ -11193,7 +11193,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11213,7 +11213,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11552,7 +11552,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "futures-timer", @@ -11570,7 +11570,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "futures-timer", @@ -11585,7 +11585,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fatality", "futures", @@ -11608,7 +11608,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "fatality", @@ -11641,7 +11641,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11665,7 +11665,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "fatality", @@ -11688,7 +11688,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -11699,7 +11699,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fatality", "futures", @@ -11721,7 +11721,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -11735,7 +11735,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "futures-timer", @@ -11748,7 +11748,7 @@ dependencies = [ "sc-network", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-keystore", "tracing-gum", ] @@ -11756,7 +11756,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "always-assert", "async-trait", @@ -11779,7 +11779,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "parity-scale-codec", @@ -11797,7 +11797,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "bitvec", @@ -11829,7 +11829,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -11853,7 +11853,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "futures", @@ -11872,7 +11872,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "fatality", @@ -11893,7 +11893,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "polkadot-node-subsystem", @@ -11908,7 +11908,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -11930,7 +11930,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "polkadot-node-metrics", @@ -11944,7 +11944,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "futures-timer", @@ -11960,7 +11960,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fatality", "futures", @@ -11978,7 +11978,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -11995,7 +11995,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fatality", "futures", @@ -12009,7 +12009,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "fatality", @@ -12026,7 +12026,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -12054,7 +12054,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12067,7 +12067,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cpu-time", "futures", @@ -12082,7 +12082,7 @@ dependencies = [ "sc-executor-wasmtime", "seccompiler", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-externalities", "sp-io", "sp-tracing", @@ -12093,7 +12093,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "polkadot-node-metrics", @@ -12108,7 +12108,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bs58", "futures", @@ -12125,7 +12125,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12150,7 +12150,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "bounded-vec", @@ -12174,7 +12174,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12183,7 +12183,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12211,7 +12211,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fatality", "futures", @@ -12242,7 +12242,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "clap", @@ -12328,7 +12328,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -12348,7 +12348,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", @@ -12364,7 +12364,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "bounded-collections 0.2.4", @@ -12393,7 +12393,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -12426,7 +12426,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "frame-benchmarking", @@ -12476,7 +12476,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bs58", "frame-benchmarking", @@ -12488,7 +12488,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12536,7 +12536,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "assets-common", "bridge-hub-common", @@ -12694,7 +12694,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-benchmarking", @@ -12729,7 +12729,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "frame-benchmarking", @@ -12837,7 +12837,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitvec", "fatality", @@ -12857,7 +12857,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -13130,7 +13130,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "derive_more 1.0.0", "environmental", @@ -13159,14 +13159,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=f008de12ac55c0df5b8cacf763c79b6270504ac9#f008de12ac55c0df5b8cacf763c79b6270504ac9" +source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "syn 2.0.106", ] @@ -13348,7 +13348,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "syn 2.0.106", ] @@ -13995,7 +13995,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14093,7 +14093,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "polkadot-primitives", @@ -14489,7 +14489,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "sp-core", @@ -14500,7 +14500,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -14531,7 +14531,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "log", @@ -14553,7 +14553,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "sp-api", @@ -14568,7 +14568,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "clap", @@ -14584,7 +14584,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -14595,7 +14595,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14606,7 +14606,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14648,7 +14648,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fnv", "futures", @@ -14674,7 +14674,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "hash-db", "kvdb", @@ -14702,7 +14702,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -14725,7 +14725,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -14754,7 +14754,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "fork-tree", @@ -14779,7 +14779,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-inherents", "sp-keystore", "sp-runtime", @@ -14790,7 +14790,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "jsonrpsee", @@ -14812,7 +14812,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -14846,7 +14846,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "jsonrpsee", @@ -14866,7 +14866,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "fork-tree", "parity-scale-codec", @@ -14879,7 +14879,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -14913,7 +14913,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -14923,7 +14923,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "finality-grandpa", "futures", @@ -14943,7 +14943,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "assert_matches", "async-trait", @@ -14978,7 +14978,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -15001,7 +15001,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -15024,7 +15024,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "polkavm 0.24.0", "sc-allocator", @@ -15037,7 +15037,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "polkavm 0.24.0", @@ -15048,7 +15048,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "anyhow", "log", @@ -15064,7 +15064,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "console", "futures", @@ -15080,7 +15080,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", @@ -15094,7 +15094,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -15122,7 +15122,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15172,7 +15172,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -15182,7 +15182,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ahash", "futures", @@ -15201,7 +15201,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15222,7 +15222,7 @@ dependencies = [ [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15242,7 +15242,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15277,7 +15277,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15296,7 +15296,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bs58", "bytes", @@ -15317,7 +15317,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bytes", "fnv", @@ -15351,7 +15351,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -15360,7 +15360,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "jsonrpsee", @@ -15392,7 +15392,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15412,7 +15412,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -15436,7 +15436,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15469,13 +15469,13 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "sc-executor", "sc-executor-common", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-state-machine", "sp-wasm-interface", "thiserror 1.0.69", @@ -15484,7 +15484,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "directories", @@ -15548,7 +15548,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -15559,7 +15559,7 @@ dependencies = [ [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-db", @@ -15578,7 +15578,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "clap", "fs4", @@ -15591,7 +15591,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15610,7 +15610,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "derive_more 0.99.20", "futures", @@ -15623,14 +15623,14 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-io", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "chrono", "futures", @@ -15649,7 +15649,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "chrono", "console", @@ -15677,7 +15677,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -15688,7 +15688,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -15705,7 +15705,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -15719,7 +15719,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -15736,7 +15736,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-channel 1.9.0", "futures", @@ -16454,7 +16454,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "enumn", "parity-scale-codec", @@ -16717,7 +16717,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bp-relayers", "frame-support", @@ -16801,7 +16801,7 @@ dependencies = [ [[package]] name = "sp-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "hash-db", @@ -16823,7 +16823,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "Inflector", "blake2 0.10.6", @@ -16837,7 +16837,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -16849,7 +16849,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "integer-sqrt", @@ -16863,7 +16863,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -16875,7 +16875,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-api", "sp-inherents", @@ -16885,7 +16885,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "futures", "parity-scale-codec", @@ -16904,7 +16904,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "futures", @@ -16918,7 +16918,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "parity-scale-codec", @@ -16934,7 +16934,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "parity-scale-codec", @@ -16952,7 +16952,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -16960,7 +16960,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -16972,7 +16972,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "finality-grandpa", "log", @@ -16989,7 +16989,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17000,7 +17000,7 @@ dependencies = [ [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -17031,7 +17031,7 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -17048,7 +17048,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -17082,7 +17082,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "blake2b_simd", "byteorder", @@ -17095,17 +17095,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -17114,7 +17114,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "proc-macro2", "quote", @@ -17124,7 +17124,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "environmental", "parity-scale-codec", @@ -17134,7 +17134,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17146,7 +17146,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -17159,7 +17159,7 @@ dependencies = [ [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bytes", "docify", @@ -17171,7 +17171,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -17185,7 +17185,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-core", "sp-runtime", @@ -17195,7 +17195,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -17206,7 +17206,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -17215,7 +17215,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -17225,7 +17225,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17236,7 +17236,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "log", "parity-scale-codec", @@ -17253,7 +17253,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17266,7 +17266,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-api", "sp-core", @@ -17276,7 +17276,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "backtrace", "regex", @@ -17285,7 +17285,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -17295,7 +17295,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "binary-merkle-tree", "docify", @@ -17324,7 +17324,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -17343,7 +17343,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "Inflector", "expander", @@ -17356,7 +17356,7 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17370,7 +17370,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -17383,7 +17383,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "hash-db", "log", @@ -17403,7 +17403,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17416,7 +17416,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -17427,12 +17427,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17444,7 +17444,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "parity-scale-codec", @@ -17456,7 +17456,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "tracing", @@ -17467,7 +17467,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "sp-api", "sp-runtime", @@ -17476,7 +17476,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "async-trait", "parity-scale-codec", @@ -17490,7 +17490,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17515,7 +17515,7 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17532,7 +17532,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -17544,7 +17544,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -17556,7 +17556,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", @@ -17730,7 +17730,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "clap", "docify", @@ -17743,7 +17743,7 @@ dependencies = [ [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "clap", "parity-scale-codec", @@ -17761,7 +17761,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -17774,7 +17774,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", @@ -17795,7 +17795,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "environmental", "frame-support", @@ -17819,7 +17819,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "environmental", "frame-benchmarking", @@ -17873,7 +17873,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "anyhow", "async-trait", @@ -17894,7 +17894,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "parity-scale-codec", "scale-info", @@ -17964,7 +17964,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -17989,7 +17989,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" [[package]] name = "substrate-fixed" @@ -18005,7 +18005,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -18025,7 +18025,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -18039,7 +18039,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -18066,7 +18066,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -19100,7 +19100,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "coarsetime", "polkadot-primitives", @@ -19111,7 +19111,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -20105,7 +20105,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "binary-merkle-tree", "bitvec", @@ -20212,7 +20212,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "polkadot-primitives", @@ -20853,7 +20853,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "Inflector", "proc-macro2", @@ -20864,7 +20864,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "parity-scale-codec", @@ -20878,7 +20878,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05#6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 165d570e17..c92cf64542 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,8 +73,8 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -126,158 +126,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "f008de12ac55c0df5b8cacf763c79b6270504ac9", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "6a3ec6d0b125846a7606e9e27da01ffb9c4c2d05", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From e848d40a358e77c12a94726584c5e80624c25935 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Thu, 5 Mar 2026 20:01:21 -0300 Subject: [PATCH 162/204] remove env variable from localnet --- scripts/localnet.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/localnet.sh b/scripts/localnet.sh index b6bb683602..5a67e8f3bc 100755 --- a/scripts/localnet.sh +++ b/scripts/localnet.sh @@ -170,7 +170,6 @@ if [ $BUILD_ONLY -eq 0 ]; then trap 'pkill -P $$' EXIT SIGINT SIGTERM ( - export RUST_LOG=basic_authorship=debug,txpool=debug ("${one_start[@]}" 2>&1) & ("${two_start[@]}" 2>&1) & ("${three_start[@]}" 2>&1) From 893bfb0009d40c2112188da41b52909767008b59 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Fri, 6 Mar 2026 10:56:27 +0100 Subject: [PATCH 163/204] Add check for `is_hotkey_registered_on_specific_network` when `netuid` is `Some` --- pallets/subtensor/src/swap/swap_hotkey.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index 00008cb439..c2d7c54567 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -65,6 +65,14 @@ impl Pallet { ); } + // 7.1. Ensure the hotkey is not registered on the network before, if netuid is provided + if let Some(netuid) = netuid { + ensure!( + !Self::is_hotkey_registered_on_specific_network(new_hotkey, netuid), + Error::::HotKeyAlreadyRegisteredInSubNet + ); + } + // 8. Swap LastTxBlock let last_tx_block: u64 = Self::get_last_tx_block(old_hotkey); Self::set_last_tx_block(new_hotkey, last_tx_block); From c62a01d008baf29b1ea7f69b8546c0509d01f2e5 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Fri, 6 Mar 2026 11:22:04 +0100 Subject: [PATCH 164/204] - Fix for clippy --- pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 48ccfabda7..be2895941c 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -2192,7 +2192,7 @@ fn test_revert_claim_root_with_swap_hotkey() { let hk1_root_claimed = RootClaimed::::get((netuid, &hk1, &coldkey)); let hk1_claimable = *RootClaimable::::get(hk1) .get(&netuid) - .expect("claimable must exist before swap"); + .unwrap(); assert_eq!(u128::from(stake_after_claim), hk1_root_claimed); assert!(!RootClaimable::::get(hk2).contains_key(&netuid)); @@ -2219,7 +2219,7 @@ fn test_revert_claim_root_with_swap_hotkey() { assert_eq!( *RootClaimable::::get(hk2) .get(&netuid) - .expect("claimable must exist on hk2 after swap"), + .unwrap(), hk1_claimable, "hk2 must have hk1's RootClaimable after swap" ); @@ -2248,7 +2248,7 @@ fn test_revert_claim_root_with_swap_hotkey() { assert_eq!( *RootClaimable::::get(hk1) .get(&netuid) - .expect("claimable must exist on hk1 after revert"), + .unwrap(), hk1_claimable, "hk1 RootClaimable must be restored after revert" ); From 1851b6467426e275cdc0220d0917daaa6ce66a53 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 08:35:10 -0300 Subject: [PATCH 165/204] cargo clippy --- runtime/src/check_mortality.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs index e7f6358081..63b4758cb2 100644 --- a/runtime/src/check_mortality.rs +++ b/runtime/src/check_mortality.rs @@ -118,12 +118,12 @@ where #[cfg(test)] mod tests { use super::*; - use frame_support::dispatch::GetDispatchInfo; + use frame_support::pallet_prelude::{BoundedVec, ConstU32}; - use sp_runtime::traits::TxBaseImplication; + use sp_runtime::transaction_validity::InvalidTransaction; - use crate::{Runtime, RuntimeCall, RuntimeOrigin, System}; + use crate::{Runtime, RuntimeCall, System}; use sp_runtime::BuildStorage; fn new_test_ext() -> sp_io::TestExternalities { From 88ee35b37d2d7040df6e33cc6a206ef315e9e3f9 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 08:36:00 -0300 Subject: [PATCH 166/204] cargo fmt --- runtime/src/check_mortality.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs index 63b4758cb2..bd41d80264 100644 --- a/runtime/src/check_mortality.rs +++ b/runtime/src/check_mortality.rs @@ -118,9 +118,9 @@ where #[cfg(test)] mod tests { use super::*; - + use frame_support::pallet_prelude::{BoundedVec, ConstU32}; - + use sp_runtime::transaction_validity::InvalidTransaction; use crate::{Runtime, RuntimeCall, System}; From 2834c6db7b426c2a171fc8cfba915ef1081bab73 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 11:29:04 -0300 Subject: [PATCH 167/204] fix clippy --- runtime/src/check_mortality.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs index bd41d80264..5f63eea0ea 100644 --- a/runtime/src/check_mortality.rs +++ b/runtime/src/check_mortality.rs @@ -9,6 +9,7 @@ use sp_runtime::{ traits::{DispatchInfoOf, Dispatchable, Implication, TransactionExtension, ValidateResult}, transaction_validity::{InvalidTransaction, TransactionSource, TransactionValidityError}, }; +use subtensor_macros::freeze_struct; /// Maximum allowed Era period (in blocks) for `submit_encrypted` transactions. /// @@ -28,6 +29,7 @@ const MAX_SHIELD_ERA_PERIOD: u64 = 64; /// longer than [`MAX_SHIELD_ERA_PERIOD`] is rejected immediately at pool submission /// with `InvalidTransaction::Stale`, preventing pool bloat from long-lived /// encrypted transactions that can never be decrypted. +#[freeze_struct("3cb7a665d55d00e5")] #[derive(Encode, Decode, DecodeWithMemTracking, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct CheckMortality(pub Era, PhantomData); From c0c8da4ca41e779c7e1a6fffebe5496f11e67743 Mon Sep 17 00:00:00 2001 From: Shamil Gadelshin Date: Fri, 6 Mar 2026 17:32:07 +0300 Subject: [PATCH 168/204] chore: re-trigger CI From dbb7f6817b06edbf9fe10711acc8b3a6a62ce14e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 13:32:55 -0300 Subject: [PATCH 169/204] remove find_next_author, fix benchmarks and tests --- pallets/shield/src/benchmarking.rs | 44 ++++++++++++---------- pallets/shield/src/lib.rs | 14 ++----- pallets/shield/src/mock.rs | 15 +------- pallets/shield/src/tests.rs | 59 +++++++++++------------------- runtime/src/lib.rs | 8 ---- 5 files changed, 51 insertions(+), 89 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 69b5cc4bd0..35d0044482 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -93,41 +93,45 @@ fn build_max_encrypted_payload() -> (Vec, DecapsulationKey) mod benches { use super::*; - /// Worst-case `announce_next_key`: both current and next author exist, - /// NextKey is populated (shift to CurrentKey), and the next author has a - /// stored key (triggers NextKey write). + /// Worst-case `announce_next_key`: all 4 rotation steps write storage. + /// 1. CurrentKey ← PendingKey (pre-populated) + /// 2. PendingKey ← NextKey (pre-populated) + /// 3. NextKey ← charlie's AuthorKey (next-next author) + /// 4. AuthorKeys[alice] ← announced key #[benchmark] fn announce_next_key() { let alice = sr25519_generate(KeyTypeId(*b"aura"), Some("//Alice".as_bytes().to_vec())); let bob = sr25519_generate(KeyTypeId(*b"aura"), Some("//Bob".as_bytes().to_vec())); + let charlie = + sr25519_generate(KeyTypeId(*b"aura"), Some("//Charlie".as_bytes().to_vec())); - // Seed Aura with [alice, bob]. - seed_aura_authorities::(&[alice, bob]); + // Seed Aura with [alice, bob, charlie]. + seed_aura_authorities::(&[alice, bob, charlie]); - // Slot 0 → current = authorities[0 % 2] = alice, - // next = authorities[1 % 2] = bob. + // Slot 0 → current=alice, next_next=charlie. deposit_slot_digest::(0); - // Pre-populate NextKey so the shift (CurrentKey ← NextKey) writes. - let old_next_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]); - NextKey::::put(old_next_key); + // Pre-populate PendingKey so CurrentKey ← PendingKey writes. + let old_pending: ShieldPublicKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]); + PendingKey::::put(old_pending.clone()); - // Pre-populate AuthorKeys for the next author (bob) so NextKey gets set. - let bob_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x77; MLKEM768_PK_LEN]); - let bob_id: ::AuthorityId = bob.into(); - AuthorKeys::::insert(&bob_id, bob_key); + // Pre-populate NextKey so PendingKey ← NextKey writes. + let old_next: ShieldPublicKey = BoundedVec::truncate_from(vec![0x77; MLKEM768_PK_LEN]); + NextKey::::put(old_next.clone()); + + // Pre-populate AuthorKeys for charlie (next-next) so NextKey gets set. + let charlie_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x55; MLKEM768_PK_LEN]); + let charlie_id: ::AuthorityId = charlie.into(); + AuthorKeys::::insert(&charlie_id, charlie_key.clone()); - // Valid 1184-byte ML-KEM-768 public key. let public_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x42; MLKEM768_PK_LEN]); #[extrinsic_call] announce_next_key(RawOrigin::None, Some(public_key.clone())); - // CurrentKey was shifted from old NextKey. - assert!(CurrentKey::::get().is_some()); - // NextKey was set from bob's AuthorKeys entry. - assert!(NextKey::::get().is_some()); - // Alice's AuthorKeys was updated. + assert_eq!(CurrentKey::::get(), Some(old_pending)); + assert_eq!(PendingKey::::get(), Some(old_next)); + assert_eq!(NextKey::::get(), Some(charlie_key)); let alice_id: ::AuthorityId = alice.into(); assert_eq!(AuthorKeys::::get(&alice_id), Some(public_key)); } diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 83101ab201..c4cee0049b 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -120,7 +120,7 @@ pub mod pallet { /// /// Key rotation order (using pre-update AuthorKeys): /// 1. CurrentKey ← PendingKey - /// 2. PendingKey ← next author's key + /// 2. PendingKey ← NextKey /// 3. NextKey ← next-next author's key (user-facing) /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] @@ -142,11 +142,9 @@ pub mod pallet { CurrentKey::::kill(); } - // 2. PendingKey ← next author's key - if let Some(next_author) = T::FindAuthors::find_next_author() - && let Some(key) = AuthorKeys::::get(&next_author) - { - PendingKey::::put(key); + // 2. PendingKey ← NextKey (what was N+2 last block is now N+1) + if let Some(next_key) = NextKey::::take() { + PendingKey::::put(next_key); } else { PendingKey::::kill(); } @@ -296,7 +294,6 @@ impl Pallet { pub trait FindAuthors { fn find_current_author() -> Option; - fn find_next_author() -> Option; fn find_next_next_author() -> Option; } @@ -304,9 +301,6 @@ impl FindAuthors for () { fn find_current_author() -> Option { None } - fn find_next_author() -> Option { - None - } fn find_next_next_author() -> Option { None } diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 3a4cf2e2c3..6288b404f2 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -60,7 +60,6 @@ impl pallet_subtensor_utility::Config for Test { thread_local! { static MOCK_CURRENT: RefCell> = const { RefCell::new(None) }; - static MOCK_NEXT: RefCell>> = const { RefCell::new(None) }; static MOCK_NEXT_NEXT: RefCell>> = const { RefCell::new(None) }; } @@ -76,17 +75,6 @@ impl pallet_shield::FindAuthors for MockFindAuthors { }) } - fn find_next_author() -> Option { - // If thread-local was set, use it (Some(None) = explicitly no next). - if let Some(val) = MOCK_NEXT.with(|n| n.borrow().clone()) { - return val; - } - // Aura fallback for benchmarks. - let next_slot = Aura::current_slot_from_digests()?.checked_add(1)?; - let auths = pallet_aura::Authorities::::get().into_inner(); - auths.get(next_slot as usize % auths.len()).cloned() - } - fn find_next_next_author() -> Option { if let Some(val) = MOCK_NEXT_NEXT.with(|n| n.borrow().clone()) { return val; @@ -126,9 +114,8 @@ pub fn author(n: u8) -> AuraId { AuraId::from(sr25519::Public::from_raw([n; 32])) } -pub fn set_authors(current: Option, next: Option, next_next: Option) { +pub fn set_authors(current: Option, next_next: Option) { MOCK_CURRENT.with(|c| *c.borrow_mut() = current); - MOCK_NEXT.with(|n| *n.borrow_mut() = Some(next)); MOCK_NEXT_NEXT.with(|n| *n.borrow_mut() = Some(next_next)); } diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 9d90fc8d1c..9ac015abbc 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -21,7 +21,7 @@ use stc_shield::MemoryShieldKeystore; #[test] fn announce_rejects_signed_origin() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None, None); + set_authors(Some(author(1)), None); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), sp_runtime::DispatchError::BadOrigin @@ -32,7 +32,7 @@ fn announce_rejects_signed_origin() { #[test] fn announce_shifts_pending_into_current() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), None); + set_authors(Some(author(1)), None); let old_pending = valid_pk_b(); PendingKey::::put(old_pending.clone()); @@ -49,7 +49,7 @@ fn announce_shifts_pending_into_current() { #[test] fn announce_stores_key_in_author_keys() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None, None); + set_authors(Some(author(1)), None); let pk = valid_pk(); assert_ok!(MevShield::announce_next_key( @@ -64,7 +64,7 @@ fn announce_stores_key_in_author_keys() { #[test] fn announce_sets_next_key_from_next_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), Some(author(3))); + set_authors(Some(author(1)), Some(author(3))); let pk_b = valid_pk_b(); AuthorKeys::::insert(author(3), pk_b.clone()); @@ -81,7 +81,7 @@ fn announce_sets_next_key_from_next_next_author() { #[test] fn announce_next_key_none_when_next_next_author_has_no_key() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), Some(author(3))); + set_authors(Some(author(1)), Some(author(3))); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -95,7 +95,7 @@ fn announce_next_key_none_when_next_next_author_has_no_key() { #[test] fn announce_next_key_none_when_no_next_next_author() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), None); + set_authors(Some(author(1)), None); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -109,7 +109,7 @@ fn announce_next_key_none_when_no_next_next_author() { #[test] fn announce_rejects_bad_pk_length() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None, None); + set_authors(Some(author(1)), None); let bad_pk: ShieldPublicKey = BoundedVec::truncate_from(vec![0x01; 100]); assert_noop!( @@ -122,7 +122,7 @@ fn announce_rejects_bad_pk_length() { #[test] fn announce_none_pk_removes_author_key() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None, None); + set_authors(Some(author(1)), None); AuthorKeys::::insert(author(1), valid_pk()); assert_ok!(MevShield::announce_next_key(RuntimeOrigin::none(), None)); @@ -134,7 +134,7 @@ fn announce_none_pk_removes_author_key() { #[test] fn announce_fails_when_no_current_author() { new_test_ext().execute_with(|| { - set_authors(None, None, None); + set_authors(None, None); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::none(), Some(valid_pk())), @@ -144,42 +144,28 @@ fn announce_fails_when_no_current_author() { } #[test] -fn announce_stages_next_author_key_into_pending() { +fn announce_shifts_next_key_into_pending() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), Some(author(3))); + set_authors(Some(author(1)), None); - let pk_next = valid_pk_b(); - AuthorKeys::::insert(author(2), pk_next.clone()); + let next_key = valid_pk_b(); + NextKey::::put(next_key.clone()); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), Some(valid_pk()), )); - assert_eq!(PendingKey::::get(), Some(pk_next)); + assert_eq!(PendingKey::::get(), Some(next_key)); }); } #[test] -fn announce_kills_pending_when_no_next_author() { +fn announce_kills_pending_when_no_next_key() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None, None); - PendingKey::::put(valid_pk()); - - assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::none(), - Some(valid_pk()), - )); - - assert!(PendingKey::::get().is_none()); - }); -} - -#[test] -fn announce_kills_pending_when_next_author_has_no_key() { - new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(2)), None); + set_authors(Some(author(1)), None); PendingKey::::put(valid_pk()); + // NextKey is not set. assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), @@ -193,22 +179,21 @@ fn announce_kills_pending_when_next_author_has_no_key() { #[test] fn announce_rotations_use_pre_update_author_keys() { new_test_ext().execute_with(|| { - // Author(1) is current, author(2) is next, author(1) is next_next - // (round-robin with 2 validators). - set_authors(Some(author(1)), Some(author(2)), Some(author(1))); + // Author(1) is current and also next_next (2-validator round-robin). + set_authors(Some(author(1)), Some(author(1))); let old_pk = valid_pk(); let new_pk = valid_pk_b(); AuthorKeys::::insert(author(1), old_pk.clone()); - // Announce a NEW key for author(1). The rotation into NextKey should - // use the OLD key (snapshot before update). + // Announce a NEW key for author(1). NextKey should use the OLD key + // because AuthorKeys is updated after rotations. assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), Some(new_pk.clone()), )); - // NextKey used old_pk (pre-update snapshot of author(1)'s key). + // NextKey read pre-update AuthorKeys[author(1)]. assert_eq!(NextKey::::get(), Some(old_pk)); // AuthorKeys now holds the newly announced key. assert_eq!(AuthorKeys::::get(author(1)), Some(new_pk)); diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 29c04f998b..16e49fdaae 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -137,14 +137,6 @@ impl pallet_shield::FindAuthors for FindAuraAuthors { authorities.get(author_index as usize).cloned() } - fn find_next_author() -> Option { - let next_slot = Aura::current_slot_from_digests()?.checked_add(1)?; - let authorities = pallet_aura::Authorities::::get().into_inner(); - let next_author_index = next_slot % authorities.len() as u64; - - authorities.get(next_author_index as usize).cloned() - } - fn find_next_next_author() -> Option { let slot = Aura::current_slot_from_digests()?.checked_add(2)?; let authorities = pallet_aura::Authorities::::get().into_inner(); From 8e47d0809404edd7656e77cdb0b9fa5f092abe48 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 14:00:55 -0300 Subject: [PATCH 170/204] renaming from public key to encapsulation key --- pallets/shield/README.md | 12 ++++----- pallets/shield/src/benchmarking.rs | 12 ++++----- pallets/shield/src/lib.rs | 42 +++++++++++++++--------------- pallets/shield/src/mock.rs | 12 ++++----- pallets/shield/src/tests.rs | 6 ++--- 5 files changed, 42 insertions(+), 42 deletions(-) diff --git a/pallets/shield/README.md b/pallets/shield/README.md index 5c4129860d..4e229f40e7 100644 --- a/pallets/shield/README.md +++ b/pallets/shield/README.md @@ -4,19 +4,19 @@ FRAME pallet for opt-in, per-block ephemeral-key encrypted transactions (MEV shi ## Overview -Block authors rotate ML-KEM-768 key pairs every slot via a mandatory inherent. Users encrypt their extrinsics to the next block author's public key, preventing front-running and sandwich attacks. +Block authors rotate ML-KEM-768 key pairs every slot via a mandatory inherent. Users encrypt their extrinsics to the next block author's encapsulation key, preventing front-running and sandwich attacks. ### Key rotation Each block includes an `announce_next_key` inherent that: 1. Shifts `NextKey` into `CurrentKey` (so the previous key is still accepted during the transition). -2. Stores the current author's freshly generated public key in `AuthorKeys`. +2. Stores the current author's freshly generated encapsulation key in `AuthorKeys`. 3. Looks up the *next* author's key from `AuthorKeys` and exposes it as `NextKey`. ### Encrypted transaction flow -1. User reads `NextKey` from storage (ML-KEM-768 public key, 1184 bytes). +1. User reads `NextKey` from storage (ML-KEM-768 encapsulation key, 1184 bytes). 2. User encrypts a signed extrinsic with ML-KEM-768 + XChaCha20-Poly1305, producing: ``` @@ -38,10 +38,10 @@ Each block includes an `announce_next_key` inherent that: | Item | Description | |------|-------------| | `CurrentKey` | Previous block's `NextKey`, kept for one-block grace period | -| `NextKey` | Public key users should encrypt to | -| `AuthorKeys` | Per-authority latest announced public key | +| `NextKey` | Encapsulation key users should encrypt to | +| `AuthorKeys` | Per-authority latest announced encapsulation key | ## Dependencies -- [`stp-shield`](https://github.com/opentensor/polkadot-sdk) — shared types (`ShieldedTransaction`, `ShieldPublicKey`, `InherentType`) +- [`stp-shield`](https://github.com/opentensor/polkadot-sdk) — shared types (`ShieldedTransaction`, `ShieldEncKey`, `InherentType`) - `ml-kem` / `chacha20poly1305` — cryptographic primitives for in-WASM decryption diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 35d0044482..2ce4d45df2 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -112,28 +112,28 @@ mod benches { deposit_slot_digest::(0); // Pre-populate PendingKey so CurrentKey ← PendingKey writes. - let old_pending: ShieldPublicKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]); + let old_pending: ShieldEncKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]); PendingKey::::put(old_pending.clone()); // Pre-populate NextKey so PendingKey ← NextKey writes. - let old_next: ShieldPublicKey = BoundedVec::truncate_from(vec![0x77; MLKEM768_PK_LEN]); + let old_next: ShieldEncKey = BoundedVec::truncate_from(vec![0x77; MLKEM768_ENC_KEY_LEN]); NextKey::::put(old_next.clone()); // Pre-populate AuthorKeys for charlie (next-next) so NextKey gets set. - let charlie_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x55; MLKEM768_PK_LEN]); + let charlie_key: ShieldEncKey = BoundedVec::truncate_from(vec![0x55; MLKEM768_ENC_KEY_LEN]); let charlie_id: ::AuthorityId = charlie.into(); AuthorKeys::::insert(&charlie_id, charlie_key.clone()); - let public_key: ShieldPublicKey = BoundedVec::truncate_from(vec![0x42; MLKEM768_PK_LEN]); + let enc_key: ShieldEncKey = BoundedVec::truncate_from(vec![0x42; MLKEM768_ENC_KEY_LEN]); #[extrinsic_call] - announce_next_key(RawOrigin::None, Some(public_key.clone())); + announce_next_key(RawOrigin::None, Some(enc_key.clone())); assert_eq!(CurrentKey::::get(), Some(old_pending)); assert_eq!(PendingKey::::get(), Some(old_next)); assert_eq!(NextKey::::get(), Some(charlie_key)); let alice_id: ::AuthorityId = alice.into(); - assert_eq!(AuthorKeys::::get(&alice_id), Some(public_key)); + assert_eq!(AuthorKeys::::get(&alice_id), Some(enc_key)); } /// Worst-case `submit_encrypted`: max-size ciphertext (8192 bytes) with diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index c4cee0049b..3712ea016a 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -16,7 +16,8 @@ use ml_kem::{ use sp_io::hashing::twox_128; use sp_runtime::traits::{Applyable, Block as BlockT, Checkable, Hash}; use stp_shield::{ - INHERENT_IDENTIFIER, InherentType, LOG_TARGET, ShieldPublicKey, ShieldedTransaction, + INHERENT_IDENTIFIER, InherentType, LOG_TARGET, MLKEM768_ENC_KEY_LEN, ShieldEncKey, + ShieldedTransaction, }; use alloc::vec; @@ -42,7 +43,6 @@ type ExtrinsicOf = ::Extrinsic; type CheckedOf = >::Checked; type ApplyableCallOf = ::Call; -const MLKEM768_PK_LEN: usize = 1184; const MAX_EXTRINSIC_DEPTH: u32 = 8; #[frame_support::pallet] @@ -61,22 +61,22 @@ pub mod pallet { #[pallet::pallet] pub struct Pallet(_); - /// Current block author's ML-KEM-768 public key (internal, not for encryption). + /// Current block author's ML-KEM-768 encapsulation key (internal, not for encryption). #[pallet::storage] - pub type CurrentKey = StorageValue<_, ShieldPublicKey, OptionQuery>; + pub type CurrentKey = StorageValue<_, ShieldEncKey, OptionQuery>; /// Next block author's key, staged here before promoting to `CurrentKey`. #[pallet::storage] - pub type PendingKey = StorageValue<_, ShieldPublicKey, OptionQuery>; + pub type PendingKey = StorageValue<_, ShieldEncKey, OptionQuery>; /// Key users should encrypt with (N+2 author's key). #[pallet::storage] - pub type NextKey = StorageValue<_, ShieldPublicKey, OptionQuery>; + pub type NextKey = StorageValue<_, ShieldEncKey, OptionQuery>; - /// Per-author ML-KEM-768 public key, updated each time the author produces a block. + /// Per-author ML-KEM-768 encapsulation key, updated each time the author produces a block. #[pallet::storage] pub type AuthorKeys = - StorageMap<_, Twox64Concat, T::AuthorityId, ShieldPublicKey, OptionQuery>; + StorageMap<_, Twox64Concat, T::AuthorityId, ShieldEncKey, OptionQuery>; /// Stores whether some migration has been run. #[pallet::storage] @@ -92,8 +92,8 @@ pub mod pallet { #[pallet::error] pub enum Error { - /// The announced ML‑KEM public key length is invalid. - BadPublicKeyLen, + /// The announced ML‑KEM encapsulation key length is invalid. + BadEncKeyLen, /// Unreachable. Unreachable, } @@ -113,9 +113,9 @@ pub mod pallet { #[pallet::call] impl Pallet { - /// Rotate the key chain and announce the current author's ML-KEM public key. + /// Rotate the key chain and announce the current author's ML-KEM encapsulation key. /// - /// Called as an inherent every block. `public_key` is `None` on node failure, + /// Called as an inherent every block. `enc_key` is `None` on node failure, /// which removes the author from future shielded tx eligibility. /// /// Key rotation order (using pre-update AuthorKeys): @@ -129,7 +129,7 @@ pub mod pallet { .saturating_add(T::DbWeight::get().writes(3_u64)))] pub fn announce_next_key( origin: OriginFor, - public_key: Option, + enc_key: Option, ) -> DispatchResult { ensure_none(origin)?; @@ -159,12 +159,12 @@ pub mod pallet { } // 4. Update AuthorKeys after rotations for consistent reads above. - if let Some(public_key) = &public_key { + if let Some(enc_key) = &enc_key { ensure!( - public_key.len() == MLKEM768_PK_LEN, - Error::::BadPublicKeyLen + enc_key.len() == MLKEM768_ENC_KEY_LEN, + Error::::BadEncKeyLen ); - AuthorKeys::::insert(&author, public_key.clone()); + AuthorKeys::::insert(&author, enc_key.clone()); } else { AuthorKeys::::remove(&author); } @@ -176,7 +176,7 @@ pub mod pallet { /// /// Client‑side: /// - /// 1. Read `NextKey` (ML‑KEM public key bytes) from storage. + /// 1. Read `NextKey` (ML‑KEM encapsulation key bytes) from storage. /// 2. Sign your extrinsic so that it can be executed when added to the pool, /// i.e. you may need to increment the nonce if you submit using the same account. /// 3. Encrypt: @@ -216,13 +216,13 @@ pub mod pallet { const INHERENT_IDENTIFIER: InherentIdentifier = INHERENT_IDENTIFIER; fn create_inherent(data: &InherentData) -> Option { - let public_key = data + let enc_key = data .get_data::(&INHERENT_IDENTIFIER) .inspect_err( - |e| log::debug!(target: LOG_TARGET, "Failed to get shielded public key inherent data: {:?}", e), + |e| log::debug!(target: LOG_TARGET, "Failed to get shielded enc key inherent data: {:?}", e), ) .ok()??; - Some(Call::announce_next_key { public_key }) + Some(Call::announce_next_key { enc_key }) } fn is_inherent(call: &Self::Call) -> bool { diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 6288b404f2..5a2aef7d80 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -1,5 +1,5 @@ use crate as pallet_shield; -use crate::MLKEM768_PK_LEN; +use stp_shield::MLKEM768_ENC_KEY_LEN; use frame_support::traits::{ConstBool, ConstU64}; use frame_support::{BoundedVec, construct_runtime, derive_impl, parameter_types}; @@ -7,7 +7,7 @@ use sp_consensus_aura::sr25519::AuthorityId as AuraId; use sp_core::sr25519; use sp_runtime::{BuildStorage, generic, testing::TestSignature}; use std::cell::RefCell; -use stp_shield::ShieldPublicKey; +use stp_shield::ShieldEncKey; pub type Block = frame_system::mocking::MockBlock; @@ -101,12 +101,12 @@ pub fn new_test_ext() -> sp_io::TestExternalities { ext } -pub fn valid_pk() -> ShieldPublicKey { - BoundedVec::truncate_from(vec![0x42; MLKEM768_PK_LEN]) +pub fn valid_pk() -> ShieldEncKey { + BoundedVec::truncate_from(vec![0x42; MLKEM768_ENC_KEY_LEN]) } -pub fn valid_pk_b() -> ShieldPublicKey { - BoundedVec::truncate_from(vec![0x99; MLKEM768_PK_LEN]) +pub fn valid_pk_b() -> ShieldEncKey { + BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]) } /// Create a deterministic `AuraId` from a simple index for tests. diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 9ac015abbc..c44a573c10 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -5,7 +5,7 @@ use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; use sp_runtime::testing::TestSignature; use sp_runtime::traits::{Block as BlockT, Hash}; -use stp_shield::{ShieldKeystore, ShieldPublicKey, ShieldedTransaction}; +use stp_shield::{ShieldEncKey, ShieldKeystore, ShieldedTransaction}; use chacha20poly1305::{ KeyInit, XChaCha20Poly1305, XNonce, @@ -110,11 +110,11 @@ fn announce_next_key_none_when_no_next_next_author() { fn announce_rejects_bad_pk_length() { new_test_ext().execute_with(|| { set_authors(Some(author(1)), None); - let bad_pk: ShieldPublicKey = BoundedVec::truncate_from(vec![0x01; 100]); + let bad_pk: ShieldEncKey = BoundedVec::truncate_from(vec![0x01; 100]); assert_noop!( MevShield::announce_next_key(RuntimeOrigin::none(), Some(bad_pk)), - Error::::BadPublicKeyLen + Error::::BadEncKeyLen ); }); } From 62c18b054dc5ba2864ef89125292d4e952e3b04f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 14:18:47 -0300 Subject: [PATCH 171/204] upgrade psdk hash with renaming --- Cargo.lock | 818 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 270 +++++++++--------- 2 files changed, 544 insertions(+), 544 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0e856f119f..0f59eb2b13 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,7 +1056,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1435,7 +1435,7 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "hash-db", "log", @@ -1704,7 +1704,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-messages", "bp-runtime", @@ -1770,7 +1770,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-messages", @@ -1788,7 +1788,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -1811,7 +1811,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1831,7 +1831,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-messages", "bp-runtime", @@ -1848,7 +1848,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1879,7 +1879,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-messages", @@ -2742,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -2768,7 +2768,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "clap", "parity-scale-codec", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2808,7 +2808,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2855,7 +2855,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "anyhow", "async-trait", @@ -2902,7 +2902,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2925,7 +2925,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2962,7 +2962,7 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sc-consensus-babe", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -2973,7 +2973,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -3041,7 +3041,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3058,7 +3058,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -3075,7 +3075,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -3112,7 +3112,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3123,7 +3123,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3151,7 +3151,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3185,7 +3185,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "approx", "bounded-collections 0.2.4", @@ -3210,7 +3210,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-api", "sp-consensus-aura", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -3251,7 +3251,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3265,7 +3265,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -3275,7 +3275,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -3292,7 +3292,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3309,7 +3309,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -3337,7 +3337,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3357,7 +3357,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -3393,7 +3393,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3434,7 +3434,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-relay-chain-interface", "futures", @@ -3448,7 +3448,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4230,7 +4230,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "alloy-core", ] @@ -4447,7 +4447,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "async-trait", "fp-storage", @@ -4459,7 +4459,7 @@ dependencies = [ [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fc-rpc", "fp-storage", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fc-rpc", "sc-client-api", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "async-trait", "fp-consensus", @@ -4507,7 +4507,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "async-trait", "ethereum", @@ -4537,7 +4537,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fc-db", "fc-storage", @@ -4560,7 +4560,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -4611,7 +4611,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -4620,13 +4620,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -4791,7 +4791,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", ] @@ -4818,7 +4818,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "hex", "impl-serde", @@ -4836,7 +4836,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "parity-scale-codec", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -4859,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "environmental", "evm", @@ -4875,7 +4875,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -4891,7 +4891,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "frame-support", "parity-scale-codec", @@ -4903,7 +4903,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "parity-scale-codec", "serde", @@ -4918,7 +4918,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-support-procedural", @@ -4942,7 +4942,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -5007,7 +5007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -5035,7 +5035,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5046,7 +5046,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5063,7 +5063,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "aquamarine", "frame-support", @@ -5116,7 +5116,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5132,7 +5132,7 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -5146,7 +5146,7 @@ dependencies = [ [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -5187,7 +5187,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "Inflector", "cfg-expr", @@ -5200,7 +5200,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "syn 2.0.106", ] @@ -5220,7 +5220,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support-procedural-tools-derive 12.0.0", "proc-macro-crate 3.4.0", @@ -5243,7 +5243,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro2", "quote", @@ -5253,7 +5253,7 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cfg-if", "docify", @@ -5272,7 +5272,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -5286,7 +5286,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "parity-scale-codec", @@ -5296,7 +5296,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "parity-scale-codec", @@ -7880,7 +7880,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "log", @@ -7899,7 +7899,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8842,7 +8842,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -8854,7 +8854,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-io", "sp-runtime", ] @@ -8862,7 +8862,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8880,7 +8880,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8898,7 +8898,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8913,7 +8913,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8927,7 +8927,7 @@ dependencies = [ [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8945,7 +8945,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -8961,7 +8961,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ethereum-standards", "frame-benchmarking", @@ -8979,7 +8979,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "pallet-assets", @@ -8991,7 +8991,7 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9006,7 +9006,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9016,7 +9016,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9032,7 +9032,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9047,7 +9047,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9060,7 +9060,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9083,7 +9083,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "aquamarine", "docify", @@ -9104,7 +9104,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -9120,7 +9120,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "frame-support", @@ -9134,7 +9134,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9153,7 +9153,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9178,7 +9178,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9195,7 +9195,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9214,7 +9214,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-messages", @@ -9233,7 +9233,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9253,7 +9253,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-header-chain", "bp-messages", @@ -9276,7 +9276,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "frame-benchmarking", @@ -9294,7 +9294,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9312,7 +9312,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9331,7 +9331,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -9348,7 +9348,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9389,7 +9389,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "environmental", "frame-benchmarking", @@ -9420,7 +9420,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9451,7 +9451,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro2", "quote", @@ -9461,7 +9461,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9472,7 +9472,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9488,7 +9488,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9526,7 +9526,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9541,7 +9541,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -9607,7 +9607,7 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9625,7 +9625,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9646,7 +9646,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9667,7 +9667,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9680,7 +9680,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9698,7 +9698,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "ethereum", "ethereum-types", @@ -9721,7 +9721,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -9746,7 +9746,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "frame-support", "frame-system", @@ -9757,7 +9757,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "sp-core", @@ -9767,7 +9767,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "frame-support", @@ -9779,7 +9779,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "num", @@ -9788,7 +9788,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "tiny-keccak", @@ -9797,7 +9797,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "fp-evm", "ripemd", @@ -9807,7 +9807,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -9825,7 +9825,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -9843,7 +9843,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9865,7 +9865,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "frame-benchmarking", "frame-support", @@ -9880,7 +9880,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "enumflags2", "frame-benchmarking", @@ -9896,7 +9896,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9915,7 +9915,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9930,7 +9930,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9941,7 +9941,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9954,7 +9954,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -9970,7 +9970,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "environmental", "frame-benchmarking", @@ -9989,7 +9989,7 @@ dependencies = [ [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10007,7 +10007,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10026,7 +10026,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -10040,7 +10040,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -10052,7 +10052,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -10063,7 +10063,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "pallet-assets", @@ -10076,7 +10076,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10093,7 +10093,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10103,7 +10103,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -10114,7 +10114,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10132,7 +10132,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10152,7 +10152,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10162,7 +10162,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10177,7 +10177,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10200,7 +10200,7 @@ dependencies = [ [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10218,7 +10218,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "parity-scale-codec", @@ -10229,7 +10229,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10246,7 +10246,7 @@ dependencies = [ [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10264,7 +10264,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10280,7 +10280,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10290,7 +10290,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10308,7 +10308,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10318,7 +10318,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10353,7 +10353,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10368,7 +10368,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "alloy-core", "derive_more 0.99.20", @@ -10414,7 +10414,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "anyhow", "cargo_metadata", @@ -10428,7 +10428,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro2", "quote", @@ -10438,7 +10438,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10450,7 +10450,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10466,7 +10466,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10479,7 +10479,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "pallet-balances", @@ -10493,7 +10493,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "pallet-ranked-collective", @@ -10505,7 +10505,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10522,7 +10522,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10535,7 +10535,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10556,7 +10556,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10602,7 +10602,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10614,7 +10614,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10631,7 +10631,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10653,7 +10653,7 @@ dependencies = [ [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10676,7 +10676,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10695,7 +10695,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10712,7 +10712,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10723,7 +10723,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "sp-arithmetic", @@ -10732,7 +10732,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "sp-api", @@ -10742,7 +10742,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10758,7 +10758,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", @@ -10917,7 +10917,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10932,7 +10932,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -10950,7 +10950,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10968,7 +10968,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -10983,7 +10983,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -10999,7 +10999,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -11011,7 +11011,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -11030,7 +11030,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -11049,7 +11049,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "parity-scale-codec", @@ -11060,7 +11060,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -11074,7 +11074,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -11089,7 +11089,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -11104,7 +11104,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -11118,7 +11118,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11128,7 +11128,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bounded-collections 0.2.4", "frame-benchmarking", @@ -11154,7 +11154,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-benchmarking", "frame-support", @@ -11171,7 +11171,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-messages", "bp-runtime", @@ -11193,7 +11193,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11213,7 +11213,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11552,7 +11552,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "futures-timer", @@ -11570,7 +11570,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "futures-timer", @@ -11585,7 +11585,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fatality", "futures", @@ -11608,7 +11608,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "fatality", @@ -11641,7 +11641,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11665,7 +11665,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "fatality", @@ -11688,7 +11688,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -11699,7 +11699,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fatality", "futures", @@ -11721,7 +11721,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -11735,7 +11735,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "futures-timer", @@ -11748,7 +11748,7 @@ dependencies = [ "sc-network", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-keystore", "tracing-gum", ] @@ -11756,7 +11756,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "always-assert", "async-trait", @@ -11779,7 +11779,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "parity-scale-codec", @@ -11797,7 +11797,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "bitvec", @@ -11829,7 +11829,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -11853,7 +11853,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "futures", @@ -11872,7 +11872,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "fatality", @@ -11893,7 +11893,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "polkadot-node-subsystem", @@ -11908,7 +11908,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -11930,7 +11930,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "polkadot-node-metrics", @@ -11944,7 +11944,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "futures-timer", @@ -11960,7 +11960,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fatality", "futures", @@ -11978,7 +11978,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -11995,7 +11995,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fatality", "futures", @@ -12009,7 +12009,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "fatality", @@ -12026,7 +12026,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -12054,7 +12054,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12067,7 +12067,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cpu-time", "futures", @@ -12082,7 +12082,7 @@ dependencies = [ "sc-executor-wasmtime", "seccompiler", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-externalities", "sp-io", "sp-tracing", @@ -12093,7 +12093,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "polkadot-node-metrics", @@ -12108,7 +12108,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bs58", "futures", @@ -12125,7 +12125,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12150,7 +12150,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "bounded-vec", @@ -12174,7 +12174,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12183,7 +12183,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12211,7 +12211,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fatality", "futures", @@ -12242,7 +12242,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "clap", @@ -12328,7 +12328,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -12348,7 +12348,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", @@ -12364,7 +12364,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "bounded-collections 0.2.4", @@ -12393,7 +12393,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -12426,7 +12426,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "frame-benchmarking", @@ -12476,7 +12476,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bs58", "frame-benchmarking", @@ -12488,7 +12488,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12536,7 +12536,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "assets-common", "bridge-hub-common", @@ -12694,7 +12694,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-benchmarking", @@ -12729,7 +12729,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "frame-benchmarking", @@ -12837,7 +12837,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitvec", "fatality", @@ -12857,7 +12857,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -13130,7 +13130,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "derive_more 1.0.0", "environmental", @@ -13159,14 +13159,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=972ade34c4554955bacf842b4c1d5cf2c9ef6855#972ade34c4554955bacf842b4c1d5cf2c9ef6855" +source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "syn 2.0.106", ] @@ -13348,7 +13348,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "syn 2.0.106", ] @@ -13995,7 +13995,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14093,7 +14093,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "polkadot-primitives", @@ -14489,7 +14489,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "sp-core", @@ -14500,7 +14500,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -14531,7 +14531,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "log", @@ -14553,7 +14553,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "sp-api", @@ -14568,7 +14568,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "clap", @@ -14584,7 +14584,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -14595,7 +14595,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14606,7 +14606,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14648,7 +14648,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fnv", "futures", @@ -14674,7 +14674,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "hash-db", "kvdb", @@ -14702,7 +14702,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -14725,7 +14725,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -14754,7 +14754,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "fork-tree", @@ -14779,7 +14779,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-inherents", "sp-keystore", "sp-runtime", @@ -14790,7 +14790,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "jsonrpsee", @@ -14812,7 +14812,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -14846,7 +14846,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "jsonrpsee", @@ -14866,7 +14866,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "fork-tree", "parity-scale-codec", @@ -14879,7 +14879,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -14913,7 +14913,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -14923,7 +14923,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "finality-grandpa", "futures", @@ -14943,7 +14943,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "assert_matches", "async-trait", @@ -14978,7 +14978,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -15001,7 +15001,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -15024,7 +15024,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "polkavm 0.24.0", "sc-allocator", @@ -15037,7 +15037,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "polkavm 0.24.0", @@ -15048,7 +15048,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "anyhow", "log", @@ -15064,7 +15064,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "console", "futures", @@ -15080,7 +15080,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", @@ -15094,7 +15094,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -15122,7 +15122,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15172,7 +15172,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -15182,7 +15182,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ahash", "futures", @@ -15201,7 +15201,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15222,7 +15222,7 @@ dependencies = [ [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15242,7 +15242,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15277,7 +15277,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15296,7 +15296,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bs58", "bytes", @@ -15317,7 +15317,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bytes", "fnv", @@ -15351,7 +15351,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -15360,7 +15360,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "jsonrpsee", @@ -15392,7 +15392,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15412,7 +15412,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -15436,7 +15436,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15469,13 +15469,13 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "sc-executor", "sc-executor-common", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-state-machine", "sp-wasm-interface", "thiserror 1.0.69", @@ -15484,7 +15484,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "directories", @@ -15548,7 +15548,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -15559,7 +15559,7 @@ dependencies = [ [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-db", @@ -15578,7 +15578,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "clap", "fs4", @@ -15591,7 +15591,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15610,7 +15610,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "derive_more 0.99.20", "futures", @@ -15623,14 +15623,14 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-io", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "chrono", "futures", @@ -15649,7 +15649,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "chrono", "console", @@ -15677,7 +15677,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -15688,7 +15688,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -15705,7 +15705,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -15719,7 +15719,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -15736,7 +15736,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-channel 1.9.0", "futures", @@ -16454,7 +16454,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "enumn", "parity-scale-codec", @@ -16717,7 +16717,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bp-relayers", "frame-support", @@ -16801,7 +16801,7 @@ dependencies = [ [[package]] name = "sp-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "hash-db", @@ -16823,7 +16823,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "Inflector", "blake2 0.10.6", @@ -16837,7 +16837,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -16849,7 +16849,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "integer-sqrt", @@ -16863,7 +16863,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -16875,7 +16875,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-api", "sp-inherents", @@ -16885,7 +16885,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "futures", "parity-scale-codec", @@ -16904,7 +16904,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "futures", @@ -16918,7 +16918,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "parity-scale-codec", @@ -16934,7 +16934,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "parity-scale-codec", @@ -16952,7 +16952,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -16960,7 +16960,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -16972,7 +16972,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "finality-grandpa", "log", @@ -16989,7 +16989,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17000,7 +17000,7 @@ dependencies = [ [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -17031,7 +17031,7 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -17048,7 +17048,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -17082,7 +17082,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "blake2b_simd", "byteorder", @@ -17095,17 +17095,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -17114,7 +17114,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "proc-macro2", "quote", @@ -17124,7 +17124,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "environmental", "parity-scale-codec", @@ -17134,7 +17134,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17146,7 +17146,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -17159,7 +17159,7 @@ dependencies = [ [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bytes", "docify", @@ -17171,7 +17171,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -17185,7 +17185,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-core", "sp-runtime", @@ -17195,7 +17195,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -17206,7 +17206,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -17215,7 +17215,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -17225,7 +17225,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17236,7 +17236,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "log", "parity-scale-codec", @@ -17253,7 +17253,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17266,7 +17266,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-api", "sp-core", @@ -17276,7 +17276,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "backtrace", "regex", @@ -17285,7 +17285,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -17295,7 +17295,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "binary-merkle-tree", "docify", @@ -17324,7 +17324,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -17343,7 +17343,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "Inflector", "expander", @@ -17356,7 +17356,7 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17370,7 +17370,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -17383,7 +17383,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "hash-db", "log", @@ -17403,7 +17403,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17416,7 +17416,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -17427,12 +17427,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17444,7 +17444,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "parity-scale-codec", @@ -17456,7 +17456,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "tracing", @@ -17467,7 +17467,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "sp-api", "sp-runtime", @@ -17476,7 +17476,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "async-trait", "parity-scale-codec", @@ -17490,7 +17490,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17515,7 +17515,7 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17532,7 +17532,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -17544,7 +17544,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -17556,7 +17556,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", @@ -17730,7 +17730,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "clap", "docify", @@ -17743,7 +17743,7 @@ dependencies = [ [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "clap", "parity-scale-codec", @@ -17761,7 +17761,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -17774,7 +17774,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", @@ -17795,7 +17795,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "environmental", "frame-support", @@ -17819,7 +17819,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "environmental", "frame-benchmarking", @@ -17873,7 +17873,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "anyhow", "async-trait", @@ -17894,7 +17894,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "parity-scale-codec", "scale-info", @@ -17964,7 +17964,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -17989,7 +17989,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" [[package]] name = "substrate-fixed" @@ -18005,7 +18005,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -18025,7 +18025,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -18039,7 +18039,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -18066,7 +18066,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -19100,7 +19100,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "coarsetime", "polkadot-primitives", @@ -19111,7 +19111,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -20105,7 +20105,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "binary-merkle-tree", "bitvec", @@ -20212,7 +20212,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "polkadot-primitives", @@ -20853,7 +20853,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "Inflector", "proc-macro2", @@ -20864,7 +20864,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "parity-scale-codec", @@ -20878,7 +20878,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=da083bbd4705673e02ec9f8a725fb9f462df0081#da083bbd4705673e02ec9f8a725fb9f462df0081" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index c92cf64542..9436a10eb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,8 +73,8 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -126,158 +126,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "972ade34c4554955bacf842b4c1d5cf2c9ef6855", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "da083bbd4705673e02ec9f8a725fb9f462df0081", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From 3611ffdffdd83e18ea4a3b1675c2e377114e2efa Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 14:24:53 -0300 Subject: [PATCH 172/204] cargo fmt --- pallets/shield/src/benchmarking.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 2ce4d45df2..62f42039b2 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -102,8 +102,7 @@ mod benches { fn announce_next_key() { let alice = sr25519_generate(KeyTypeId(*b"aura"), Some("//Alice".as_bytes().to_vec())); let bob = sr25519_generate(KeyTypeId(*b"aura"), Some("//Bob".as_bytes().to_vec())); - let charlie = - sr25519_generate(KeyTypeId(*b"aura"), Some("//Charlie".as_bytes().to_vec())); + let charlie = sr25519_generate(KeyTypeId(*b"aura"), Some("//Charlie".as_bytes().to_vec())); // Seed Aura with [alice, bob, charlie]. seed_aura_authorities::(&[alice, bob, charlie]); From c3e97128234487fdaaef44f87c5937fcae762636 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 15:03:49 -0300 Subject: [PATCH 173/204] cargo clippy --- runtime/src/check_mortality.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs index 5f63eea0ea..b086e05fe9 100644 --- a/runtime/src/check_mortality.rs +++ b/runtime/src/check_mortality.rs @@ -117,6 +117,7 @@ where } } +#[allow(clippy::unwrap_used)] #[cfg(test)] mod tests { use super::*; From 8cc6696363ed413728a64874c8fe4f491b977cff Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 15:13:44 -0300 Subject: [PATCH 174/204] fix chainspec --- node/src/chain_spec/localnet.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/node/src/chain_spec/localnet.rs b/node/src/chain_spec/localnet.rs index 64b599af33..fc79dbbd21 100644 --- a/node/src/chain_spec/localnet.rs +++ b/node/src/chain_spec/localnet.rs @@ -106,7 +106,12 @@ fn localnet_genesis( // Check if the environment variable is set if let Ok(bt_wallet) = env::var("BT_DEFAULT_TOKEN_WALLET") { if let Ok(decoded_wallet) = Ss58Codec::from_ss58check(&bt_wallet) { - balances.push((decoded_wallet, 1_000_000_000_000_000u128)); + if !balances + .iter() + .any(|(account, _)| account == &decoded_wallet) + { + balances.push((decoded_wallet, 1_000_000_000_000_000u128)); + } } else { eprintln!("Invalid format for BT_DEFAULT_TOKEN_WALLET."); } From f3971cf630eb452359ff4b3a1424fd7a697a32a2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 15:15:54 -0300 Subject: [PATCH 175/204] override balance in localnet --- node/src/chain_spec/localnet.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/node/src/chain_spec/localnet.rs b/node/src/chain_spec/localnet.rs index fc79dbbd21..57a60bbd1b 100644 --- a/node/src/chain_spec/localnet.rs +++ b/node/src/chain_spec/localnet.rs @@ -106,10 +106,9 @@ fn localnet_genesis( // Check if the environment variable is set if let Ok(bt_wallet) = env::var("BT_DEFAULT_TOKEN_WALLET") { if let Ok(decoded_wallet) = Ss58Codec::from_ss58check(&bt_wallet) { - if !balances - .iter() - .any(|(account, _)| account == &decoded_wallet) - { + if let Some(existing) = balances.iter_mut().find(|(acc, _)| acc == &decoded_wallet) { + existing.1 = 1_000_000_000_000_000u128; + } else { balances.push((decoded_wallet, 1_000_000_000_000_000u128)); } } else { From 83a7ea21c3e0063ebe7b5e79e0a0ff6d0749c7cb Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 17:34:30 -0300 Subject: [PATCH 176/204] fix benchmark failing to set digest logs --- pallets/shield/src/benchmarking.rs | 43 +++++++++++++++++------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 62f42039b2..3fbf564f85 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -22,26 +22,31 @@ use sp_consensus_aura::AURA_ENGINE_ID; use sp_core::crypto::KeyTypeId; use sp_io::crypto::sr25519_generate; -/// Seed Aura authorities from sr25519 public keys. -fn seed_aura_authorities(pubkeys: &[sr25519::Public]) +/// Set Aura authorities directly from sr25519 public keys. +fn set_aura_authorities(pubkeys: &[sr25519::Public]) where T: pallet::Config + pallet_aura::Config, ::AuthorityId: From, { - pallet_aura::Authorities::::mutate(|auths| { - for pk in pubkeys { - let auth_id: ::AuthorityId = (*pk).into(); - let _ = auths.try_push(auth_id); - } - }); + let auths: BoundedVec< + ::AuthorityId, + ::MaxAuthorities, + > = BoundedVec::truncate_from(pubkeys.iter().map(|pk| (*pk).into()).collect()); + pallet_aura::Authorities::::put(auths); } -/// Deposit an Aura pre-runtime digest for the given slot. -fn deposit_slot_digest(slot: u64) { - frame_system::Pallet::::deposit_log(sp_runtime::DigestItem::PreRuntime( - AURA_ENGINE_ID, - slot.encode(), - )); +/// Initialize a block with an Aura pre-runtime digest for the given slot. +/// +/// Uses `System::initialize` (like real block production) so the digest +/// survives `commit_db()` in the benchmark framework. +fn initialize_block_with_slot(slot: u64) { + let digest = sp_runtime::Digest { + logs: vec![sp_runtime::DigestItem::PreRuntime( + AURA_ENGINE_ID, + slot.encode(), + )], + }; + frame_system::Pallet::::initialize(&1u32.into(), &Default::default(), &digest); } /// Build a real max-size encrypted ciphertext (8192 bytes wire format). @@ -104,11 +109,13 @@ mod benches { let bob = sr25519_generate(KeyTypeId(*b"aura"), Some("//Bob".as_bytes().to_vec())); let charlie = sr25519_generate(KeyTypeId(*b"aura"), Some("//Charlie".as_bytes().to_vec())); - // Seed Aura with [alice, bob, charlie]. - seed_aura_authorities::(&[alice, bob, charlie]); + // Set Aura authorities directly: [alice, bob, charlie]. + set_aura_authorities::(&[alice, bob, charlie]); - // Slot 0 → current=alice, next_next=charlie. - deposit_slot_digest::(0); + // Initialize block with slot 0 digest via System::initialize. + // This survives commit_db() unlike deposit_log(). + // Slot 0 → current=alice(0%3), next_next=charlie(2%3). + initialize_block_with_slot::(0); // Pre-populate PendingKey so CurrentKey ← PendingKey writes. let old_pending: ShieldEncKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]); From 5330770691c359cc82c939f56f2e37612f3d1de8 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 18:15:19 -0300 Subject: [PATCH 177/204] mev txs era forced to be 8 --- runtime/src/check_mortality.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/src/check_mortality.rs b/runtime/src/check_mortality.rs index b086e05fe9..6d8316ba01 100644 --- a/runtime/src/check_mortality.rs +++ b/runtime/src/check_mortality.rs @@ -16,7 +16,7 @@ use subtensor_macros::freeze_struct; /// Substrate's minimum mortal Era is 4 blocks (smallest power-of-two ≥ 4). /// Limiting encrypted txs to this value ensures stuck transactions evict from /// the fork-aware tx pool within a handful of blocks. -const MAX_SHIELD_ERA_PERIOD: u64 = 64; +const MAX_SHIELD_ERA_PERIOD: u64 = 8; /// A transparent wrapper around [`frame_system::CheckMortality`] that additionally /// enforces a short Era period for [`pallet_shield::Call::submit_encrypted`] transactions. @@ -181,9 +181,9 @@ mod tests { #[test] fn shield_tx_with_era_too_long_rejected() { new_test_ext().execute_with(|| { - // Period 128 > MAX_SHIELD_ERA_PERIOD (64) + // Period 16 > MAX_SHIELD_ERA_PERIOD (8) assert_eq!( - validate_era_check(Era::mortal(128, 1), &submit_encrypted_call()), + validate_era_check(Era::mortal(16, 1), &submit_encrypted_call()), Err(InvalidTransaction::Stale.into()) ); }); @@ -192,7 +192,7 @@ mod tests { #[test] fn shield_tx_with_max_allowed_era_accepted() { new_test_ext().execute_with(|| { - assert!(validate_era_check(Era::mortal(64, 1), &submit_encrypted_call()).is_ok()); + assert!(validate_era_check(Era::mortal(8, 1), &submit_encrypted_call()).is_ok()); }); } From c38f0aaa103ee023be14fe98d46803f49ebead2e Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Fri, 6 Mar 2026 17:21:09 -0500 Subject: [PATCH 178/204] bump spec --- 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 e554ce0b25..e6626e0121 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -267,7 +267,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: 387, + spec_version: 388, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From b27d99967b2c28a8eed92a94c2688c0ab0fd18e7 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 19:59:10 -0300 Subject: [PATCH 179/204] fix basic tests + added timing tests --- e2e/shield/helpers.ts | 5 +- e2e/shield/setup.ts | 13 +-- e2e/shield/tests/00-basic.test.ts | 76 +++++++++-------- e2e/shield/tests/03-timing.test.ts | 127 +++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+), 47 deletions(-) create mode 100644 e2e/shield/tests/03-timing.test.ts diff --git a/e2e/shield/helpers.ts b/e2e/shield/helpers.ts index ac8fdb9e8f..1b8af56450 100644 --- a/e2e/shield/helpers.ts +++ b/e2e/shield/helpers.ts @@ -68,5 +68,8 @@ export const submitEncryptedRaw = async ( const tx = api.tx.MevShield.submit_encrypted({ ciphertext: Binary.fromBytes(ciphertext), }); - return tx.signAndSubmit(signer, nonce !== undefined ? { nonce } : {}); + return tx.signAndSubmit(signer, { + ...(nonce !== undefined ? { nonce } : {}), + mortality: { mortal: true, period: 8 }, + }); }; diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 161346b1b2..b229826d41 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -2,8 +2,6 @@ import { writeFile, readFile, rm, mkdir } from "node:fs/promises"; import { generateChainSpec, insertKeys, - getGenesisPatch, - addAuthority, } from "e2e-shared/chainspec.js"; import { startNode, @@ -35,10 +33,6 @@ const nodes: Node[] = []; const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subtensor"; -// The local chain spec has 2 built-in authorities (One, Two). -// We add "Three" dynamically by patching the chain spec JSON. -const EXTRA_AUTHORITY_SEEDS = ["Three"]; - type NodeConfig = Omit & { keySeed?: string; }; @@ -62,12 +56,7 @@ export async function setup() { await mkdir("/tmp/subtensor-e2e/shield", { recursive: true }); - await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH, (spec) => { - const patch = getGenesisPatch(spec); - for (const seed of EXTRA_AUTHORITY_SEEDS) { - addAuthority(patch, seed); - } - }); + await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH); for (const config of NODE_CONFIGS) { await rm(config.basePath, { recursive: true, force: true }); diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index 70c801fd7c..7fd4ca8ce2 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -124,7 +124,40 @@ describe("MEV Shield — encrypted transactions", () => { }); // Pool validation rejects with FailedShieldedTxParsing (Custom code 23). - await expect(tx.signAndSubmit(alice.signer, { nonce })).rejects.toThrow(); + await expect( + tx.signAndSubmit(alice.signer, { nonce, mortality: { mortal: true, period: 8 } }), + ).rejects.toThrow(); + }); + + it("Multiple encrypted txs in same block", async () => { + // Use different signers to avoid nonce ordering issues between + // the outer wrappers and decrypted inner transactions. + const nextKey = await getNextKey(api); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(api, charlie.address); + + const senders = [alice, bob]; + const amount = 1_000_000_000n; + const txPromises = []; + + for (const sender of senders) { + const nonce = await getAccountNonce(api, sender.address); + + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(charlie.address), + value: amount, + }).sign(sender.signer, { nonce: nonce + 1 }); + + txPromises.push( + submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), + ); + } + + await Promise.all(txPromises); + + const balanceAfter = await getBalance(api, charlie.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); }); it("Wrong key hash is not included by the block proposer", async () => { @@ -148,7 +181,10 @@ describe("MEV Shield — encrypted transactions", () => { const tx = api.tx.MevShield.submit_encrypted({ ciphertext: Binary.fromBytes(tampered), }); - const signedHex = await tx.sign(alice.signer, { nonce }); + const signedHex = await tx.sign(alice.signer, { + nonce, + mortality: { mortal: true, period: 8 }, + }); // Send without waiting — the tx enters the pool but the block // proposer will skip it because the key_hash doesn't match. client.submit(signedHex).catch(() => {}); @@ -181,7 +217,10 @@ describe("MEV Shield — encrypted transactions", () => { const tx = api.tx.MevShield.submit_encrypted({ ciphertext: Binary.fromBytes(ciphertext), }); - const signedHex = await tx.sign(alice.signer, { nonce }); + const signedHex = await tx.sign(alice.signer, { + nonce, + mortality: { mortal: true, period: 8 }, + }); // Send without waiting — the block proposer will reject because // key_hash no longer matches currentKey or nextKey. client.submit(signedHex).catch(() => {}); @@ -192,35 +231,4 @@ describe("MEV Shield — encrypted transactions", () => { const balanceAfter = await getBalance(api, bob.address); expect(balanceAfter).toBe(balanceBefore); }); - - it("Multiple encrypted txs in same block", async () => { - // Use different signers to avoid nonce ordering issues between - // the outer wrappers and decrypted inner transactions. - const nextKey = await getNextKey(api); - expect(nextKey).toBeDefined(); - - const balanceBefore = await getBalance(api, charlie.address); - - const senders = [alice, bob]; - const amount = 1_000_000_000n; - const txPromises = []; - - for (const sender of senders) { - const nonce = await getAccountNonce(api, sender.address); - - const innerTxHex = await api.tx.Balances.transfer_keep_alive({ - dest: MultiAddress.Id(charlie.address), - value: amount, - }).sign(sender.signer, { nonce: nonce + 1 }); - - txPromises.push( - submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), - ); - } - - await Promise.all(txPromises); - - const balanceAfter = await getBalance(api, charlie.address); - expect(balanceAfter).toBeGreaterThan(balanceBefore); - }); }); diff --git a/e2e/shield/tests/03-timing.test.ts b/e2e/shield/tests/03-timing.test.ts new file mode 100644 index 0000000000..9ab00fd505 --- /dev/null +++ b/e2e/shield/tests/03-timing.test.ts @@ -0,0 +1,127 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile } from "node:fs/promises"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { hexToU8a } from "@polkadot/util"; +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; +import type { NetworkState } from "../setup.js"; +import { + connectClient, + createSigner, + getAccountNonce, + getBalance, + waitForFinalizedBlocks, + sleep, +} from "e2e-shared/client.js"; +import { getNextKey, submitEncrypted } from "../helpers.js"; + +let client: PolkadotClient; +let api: TypedApi; +let state: NetworkState; + +const alice = createSigner("//Alice"); +const bob = createSigner("//Bob"); + +beforeAll(async () => { + const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + state = JSON.parse(data); + ({ client, api } = await connectClient(state.nodes[0].rpcPort)); +}); + +afterAll(() => { + client?.destroy(); +}); + +describe("MEV Shield — timing boundaries", () => { + it("Submit immediately after a new block", async () => { + // Wait for a fresh finalized block, then immediately read NextKey and submit. + // This tests the "just after block" boundary where keys just rotated. + await waitForFinalizedBlocks(client, 1); + + const nextKey = await getNextKey(api); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(api, bob.address); + + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); + + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); + + const balanceAfter = await getBalance(api, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Submit mid-block (~6s after block)", async () => { + // Wait for a block, then sleep 6s (half of 12s slot) before submitting. + // The key should still be valid — the same NextKey applies until the next block. + await waitForFinalizedBlocks(client, 1); + await sleep(6_000); + + const nextKey = await getNextKey(api); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(api, bob.address); + + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); + + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); + + const balanceAfter = await getBalance(api, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Submit just before next block (~11s after block)", async () => { + // Wait for a block, then sleep ~11s to submit right before the next slot. + // The tx enters the pool just as the next block is about to be produced. + // It should still be included because the N+2 author hasn't changed yet, + // and PendingKey will match on the next block's proposer check. + await waitForFinalizedBlocks(client, 1); + await sleep(11_000); + + const nextKey = await getNextKey(api); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(api, bob.address); + + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); + + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); + + const balanceAfter = await getBalance(api, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); + + it("Read key, wait full slot (12s), then submit", async () => { + // Read NextKey, wait a full slot duration, then submit. + // After one full slot, the key rotates: old NextKey becomes PendingKey. + // The tx should still be included by the target N+2 author. + const nextKey = await getNextKey(api); + expect(nextKey).toBeDefined(); + + await sleep(12_000); + + const balanceBefore = await getBalance(api, bob.address); + + const nonce = await getAccountNonce(api, alice.address); + const innerTxHex = await api.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); + + await submitEncrypted(api, alice.signer, hexToU8a(innerTxHex), nextKey!, nonce); + + const balanceAfter = await getBalance(api, bob.address); + expect(balanceAfter).toBeGreaterThan(balanceBefore); + }); +}); From d75e95cb60fe7a8beff5314ad390677baf8c739f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 20:07:09 -0300 Subject: [PATCH 180/204] added mortality test --- e2e/shield/tests/04-mortality.test.ts | 169 ++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 e2e/shield/tests/04-mortality.test.ts diff --git a/e2e/shield/tests/04-mortality.test.ts b/e2e/shield/tests/04-mortality.test.ts new file mode 100644 index 0000000000..86dfc5c918 --- /dev/null +++ b/e2e/shield/tests/04-mortality.test.ts @@ -0,0 +1,169 @@ +import { describe, it, expect, beforeAll, afterAll } from "vitest"; +import { readFile, writeFile, rm } from "node:fs/promises"; +import type { PolkadotClient, TypedApi } from "polkadot-api"; +import { Binary } from "polkadot-api"; +import { hexToU8a } from "@polkadot/util"; +import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; +import type { NetworkState } from "../setup.js"; +import { + connectClient, + createSigner, + getAccountNonce, + getBalance, + sleep, +} from "e2e-shared/client.js"; +import { startNode, started, peerCount, stop, log, type Node } from "e2e-shared/node.js"; +import { getNextKey, encryptTransaction } from "../helpers.js"; + +let authorityClient: PolkadotClient; +let authorityApi: TypedApi; +let extraClient: PolkadotClient; +let extraApi: TypedApi; +let state: NetworkState; +let extraNode: Node; + +const alice = createSigner("//Alice"); +const bob = createSigner("//Bob"); + +const EXTRA_NODE = { + name: "mortality-test", + port: 30339, + rpcPort: 9950, + basePath: "/tmp/subtensor-e2e/shield/mortality-test", +}; + +// MAX_SHIELD_ERA_PERIOD is 8 blocks. With 12s slots, that's ~96s. +const MAX_ERA_BLOCKS = 8; +const SLOT_DURATION_MS = 12_000; +const POLL_INTERVAL_MS = 3_000; + +beforeAll(async () => { + const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + state = JSON.parse(data); + + // Connect to an authority node for key queries. + ({ client: authorityClient, api: authorityApi } = await connectClient(state.nodes[0].rpcPort)); + + // Start a non-authority node to submit txs to. + await rm(EXTRA_NODE.basePath, { recursive: true, force: true }); + extraNode = startNode({ + ...EXTRA_NODE, + binaryPath: state.binaryPath, + validator: false, + chainSpec: state.chainSpec, + }); + await started(extraNode); + await peerCount(extraNode, state.nodes.length); + log(`Extra non-authority node started for mortality tests`); + + // Track for teardown. + state.nodes.push({ + ...EXTRA_NODE, + pid: extraNode.process.pid!, + }); + await writeFile("/tmp/subtensor-e2e/shield/nodes.json", JSON.stringify(state, null, 2)); + + ({ client: extraClient, api: extraApi } = await connectClient(EXTRA_NODE.rpcPort)); +}); + +afterAll(async () => { + extraClient?.destroy(); + authorityClient?.destroy(); + if (extraNode) { + try { + await stop(extraNode); + } catch {} + } +}); + +describe("MEV Shield — mortality eviction", () => { + it( + "Tx with tampered key_hash submitted to non-authority is evicted within mortality window", + async () => { + // Read a valid NextKey from an authority node, encrypt a real inner tx. + const nextKey = await getNextKey(authorityApi); + expect(nextKey).toBeDefined(); + + const balanceBefore = await getBalance(extraApi, bob.address); + + const nonce = await getAccountNonce(extraApi, alice.address); + const innerTxHex = await extraApi.tx.Balances.transfer_keep_alive({ + dest: MultiAddress.Id(bob.address), + value: 1_000_000_000n, + }).sign(alice.signer, { nonce: nonce + 1 }); + + // Encrypt with valid key, then tamper the key_hash so no proposer will include it. + const ciphertext = await encryptTransaction(hexToU8a(innerTxHex), nextKey!); + const tampered = new Uint8Array(ciphertext); + for (let i = 0; i < 16; i++) tampered[i] = 0xff; + + const tx = extraApi.tx.MevShield.submit_encrypted({ + ciphertext: Binary.fromBytes(tampered), + }); + + // Sign with short mortality (must be ≤ MAX_SHIELD_ERA_PERIOD=8 to pass + // CheckMortality validation). The tx enters the pool but no proposer + // will include it (tampered key_hash doesn't match PendingKey). + const signedHex = await tx.sign(alice.signer, { + nonce, + mortality: { mortal: true, period: 8 }, + }); + + // Submit via raw RPC to get immediate feedback on pool acceptance. + let txHash: string; + try { + txHash = await extraClient._request( + "author_submitExtrinsic", + [signedHex], + ); + log(`Tx submitted successfully, hash: ${txHash}`); + } catch (err: unknown) { + throw new Error(`Tx rejected at pool entry: ${err}`); + } + + // Verify it's in the pool. + await sleep(1_000); + const pending: string[] = await extraClient._request( + "author_pendingExtrinsics", + [], + ); + log(`Pool has ${pending.length} pending tx(s)`); + + // Now poll until the tx disappears (mortality eviction). + const start = Date.now(); + const maxPollMs = (MAX_ERA_BLOCKS + 4) * SLOT_DURATION_MS; + let evicted = false; + + log(`Waiting for mortality eviction (up to ${maxPollMs / 1000}s)...`); + + while (Date.now() - start < maxPollMs) { + await sleep(POLL_INTERVAL_MS); + + const pending: string[] = await extraClient._request( + "author_pendingExtrinsics", + [], + ); + + if (pending.length === 0) { + evicted = true; + break; + } + } + + const elapsed = Date.now() - start; + log(`Tx ${evicted ? "evicted" : "still in pool"} after ${(elapsed / 1000).toFixed(1)}s`); + + expect(evicted).toBe(true); + + // Eviction should happen within the mortality window plus margin. + const maxExpectedMs = (MAX_ERA_BLOCKS + 2) * SLOT_DURATION_MS; + expect(elapsed).toBeLessThan(maxExpectedMs); + + // The inner transfer should NOT have executed. + const balanceAfter = await getBalance(extraApi, bob.address); + expect(balanceAfter).toBe(balanceBefore); + }, + // Longer timeout: wait for mortality window + setup overhead. + (MAX_ERA_BLOCKS + 8) * SLOT_DURATION_MS, + ); +}); From bc787e1cbddacd3fad4a3d11e6a22198b300520f Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 20:39:12 -0300 Subject: [PATCH 181/204] bump spec version + fix benchmarks --- pallets/shield/src/lib.rs | 6 +++--- runtime/src/lib.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 3712ea016a..7775545aa4 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -124,9 +124,9 @@ pub mod pallet { /// 3. NextKey ← next-next author's key (user-facing) /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] - #[pallet::weight(Weight::from_parts(23_190_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)))] + #[pallet::weight(Weight::from_parts(33_230_000, 0) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)))] pub fn announce_next_key( origin: OriginFor, enc_key: Option, diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 16e49fdaae..6a0fe45751 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -268,7 +268,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: 387, + spec_version: 388, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 790e7a18ab67d0527ccd666f99589b8a323ef77b Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 21:09:58 -0300 Subject: [PATCH 182/204] added KeyExpiresAt to track key block expiration --- pallets/shield/src/benchmarking.rs | 4 ++++ pallets/shield/src/lib.rs | 33 ++++++++++++++++++++++++-- pallets/shield/src/mock.rs | 12 ++++++++++ pallets/shield/src/tests.rs | 37 ++++++++++++++++++++++++++---- 4 files changed, 79 insertions(+), 7 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 3fbf564f85..949dd138ca 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -117,6 +117,10 @@ mod benches { // Slot 0 → current=alice(0%3), next_next=charlie(2%3). initialize_block_with_slot::(0); + // Pre-populate CurrentKey so its KeyExpiresAt entry gets cleaned up. + let old_current: ShieldEncKey = BoundedVec::truncate_from(vec![0xBB; MLKEM768_ENC_KEY_LEN]); + CurrentKey::::put(old_current); + // Pre-populate PendingKey so CurrentKey ← PendingKey writes. let old_pending: ShieldEncKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]); PendingKey::::put(old_pending.clone()); diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 7775545aa4..0240173fd2 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -78,6 +78,15 @@ pub mod pallet { pub type AuthorKeys = StorageMap<_, Twox64Concat, T::AuthorityId, ShieldEncKey, OptionQuery>; + /// Maps a key hash (`xxhash128` of the encapsulation key) to the block number after which + /// no proposer will include a transaction encrypted with that key. + /// + /// Updated every block during rotation. Only the 3 active keys (Current, Pending, Next) + /// have entries; stale entries are removed to prevent unbounded growth. + #[pallet::storage] + pub type KeyExpiresAt = + StorageMap<_, Twox64Concat, [u8; 16], BlockNumberFor, OptionQuery>; + /// Stores whether some migration has been run. #[pallet::storage] pub type HasMigrationRun = @@ -125,8 +134,8 @@ pub mod pallet { /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(33_230_000, 0) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)))] + .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(T::DbWeight::get().writes(8_u64)))] pub fn announce_next_key( origin: OriginFor, enc_key: Option, @@ -134,6 +143,12 @@ pub mod pallet { ensure_none(origin)?; let author = T::FindAuthors::find_current_author().ok_or(Error::::Unreachable)?; + let now = >::block_number(); + + // Remove expiration entry for the outgoing CurrentKey (about to be replaced). + if let Some(old_current) = CurrentKey::::get() { + KeyExpiresAt::::remove(twox_128(&old_current[..])); + } // 1. CurrentKey ← PendingKey if let Some(pending_key) = PendingKey::::take() { @@ -169,6 +184,20 @@ pub mod pallet { AuthorKeys::::remove(&author); } + // 5. Set expiration blocks for the 3 active keys. + // CurrentKey → valid this block only, expires at now + 1 + // PendingKey → becomes CurrentKey next block, expires at now + 2 + // NextKey → becomes CurrentKey in 2 blocks, expires at now + 3 + if let Some(ref k) = CurrentKey::::get() { + KeyExpiresAt::::insert(twox_128(&k[..]), now + 1u32.into()); + } + if let Some(ref k) = PendingKey::::get() { + KeyExpiresAt::::insert(twox_128(&k[..]), now + 2u32.into()); + } + if let Some(ref k) = NextKey::::get() { + KeyExpiresAt::::insert(twox_128(&k[..]), now + 3u32.into()); + } + Ok(()) } diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 5a2aef7d80..d52175011e 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -109,6 +109,18 @@ pub fn valid_pk_b() -> ShieldEncKey { BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]) } +pub fn valid_pk_c() -> ShieldEncKey { + BoundedVec::truncate_from(vec![0x55; MLKEM768_ENC_KEY_LEN]) +} + +pub fn valid_pk_d() -> ShieldEncKey { + BoundedVec::truncate_from(vec![0x77; MLKEM768_ENC_KEY_LEN]) +} + +pub fn key_hash(pk: &ShieldEncKey) -> [u8; 16] { + sp_io::hashing::twox_128(&pk[..]) +} + /// Create a deterministic `AuraId` from a simple index for tests. pub fn author(n: u8) -> AuraId { AuraId::from(sr25519::Public::from_raw([n; 32])) diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index c44a573c10..6483a77b68 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,5 +1,5 @@ use crate::mock::*; -use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey, PendingKey}; +use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, KeyExpiresAt, NextKey, PendingKey}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; @@ -32,6 +32,7 @@ fn announce_rejects_signed_origin() { #[test] fn announce_shifts_pending_into_current() { new_test_ext().execute_with(|| { + System::set_block_number(5); set_authors(Some(author(1)), None); let old_pending = valid_pk_b(); @@ -42,7 +43,9 @@ fn announce_shifts_pending_into_current() { Some(valid_pk()), )); - assert_eq!(CurrentKey::::get(), Some(old_pending)); + assert_eq!(CurrentKey::::get(), Some(old_pending.clone())); + // New CurrentKey gets an expiration entry. + assert_eq!(KeyExpiresAt::::get(key_hash(&old_pending)), Some(6)); }); } @@ -64,17 +67,37 @@ fn announce_stores_key_in_author_keys() { #[test] fn announce_sets_next_key_from_next_next_author() { new_test_ext().execute_with(|| { + System::set_block_number(10); set_authors(Some(author(1)), Some(author(3))); - let pk_b = valid_pk_b(); - AuthorKeys::::insert(author(3), pk_b.clone()); + // Pre-populate the full pipeline so all 3 positions are filled after rotation. + // Use distinct keys for each position to avoid hash collisions. + let old_current = valid_pk_d(); + CurrentKey::::put(old_current.clone()); + KeyExpiresAt::::insert(key_hash(&old_current), 11u64); + + let pending = valid_pk_b(); // → CurrentKey + PendingKey::::put(pending.clone()); + let next = valid_pk(); // → PendingKey + NextKey::::put(next.clone()); + + let next_next_key = valid_pk_c(); + AuthorKeys::::insert(author(3), next_next_key.clone()); // → NextKey assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), Some(valid_pk()), )); - assert_eq!(NextKey::::get(), Some(pk_b)); + assert_eq!(NextKey::::get(), Some(next_next_key.clone())); + + // Old CurrentKey's expiration entry is removed. + assert!(!KeyExpiresAt::::contains_key(key_hash(&old_current))); + // All 3 active keys have expiration entries. + assert_eq!(KeyExpiresAt::::get(key_hash(&pending)), Some(11)); // CurrentKey + assert_eq!(KeyExpiresAt::::get(key_hash(&next)), Some(12)); // PendingKey + assert_eq!(KeyExpiresAt::::get(key_hash(&next_next_key)), Some(13)); // NextKey + assert_eq!(KeyExpiresAt::::iter().count(), 3); }); } @@ -95,14 +118,18 @@ fn announce_next_key_none_when_next_next_author_has_no_key() { #[test] fn announce_next_key_none_when_no_next_next_author() { new_test_ext().execute_with(|| { + System::set_block_number(1); set_authors(Some(author(1)), None); + // No PendingKey, no NextKey, no next-next author. assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), Some(valid_pk()), )); assert!(NextKey::::get().is_none()); + // No keys in any position → no expiration entries. + assert_eq!(KeyExpiresAt::::iter().count(), 0); }); } From 431cdefd8566ea5c4e5f89f53a029bee6243eff7 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Fri, 6 Mar 2026 21:10:18 -0300 Subject: [PATCH 183/204] cargo fmt --- pallets/shield/src/tests.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index 6483a77b68..c59214e1fa 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -96,7 +96,10 @@ fn announce_sets_next_key_from_next_next_author() { // All 3 active keys have expiration entries. assert_eq!(KeyExpiresAt::::get(key_hash(&pending)), Some(11)); // CurrentKey assert_eq!(KeyExpiresAt::::get(key_hash(&next)), Some(12)); // PendingKey - assert_eq!(KeyExpiresAt::::get(key_hash(&next_next_key)), Some(13)); // NextKey + assert_eq!( + KeyExpiresAt::::get(key_hash(&next_next_key)), + Some(13) + ); // NextKey assert_eq!(KeyExpiresAt::::iter().count(), 3); }); } From 24738c25bd08bf5abcfdde24e330bc446a107de4 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 10:20:21 -0300 Subject: [PATCH 184/204] KeyExpiresAt map into split values for PendingKey/NextKey, unify tests --- pallets/shield/src/benchmarking.rs | 4 - pallets/shield/src/lib.rs | 44 ++--- pallets/shield/src/mock.rs | 12 -- pallets/shield/src/tests.rs | 286 +++++++++++------------------ 4 files changed, 130 insertions(+), 216 deletions(-) diff --git a/pallets/shield/src/benchmarking.rs b/pallets/shield/src/benchmarking.rs index 949dd138ca..3fbf564f85 100644 --- a/pallets/shield/src/benchmarking.rs +++ b/pallets/shield/src/benchmarking.rs @@ -117,10 +117,6 @@ mod benches { // Slot 0 → current=alice(0%3), next_next=charlie(2%3). initialize_block_with_slot::(0); - // Pre-populate CurrentKey so its KeyExpiresAt entry gets cleaned up. - let old_current: ShieldEncKey = BoundedVec::truncate_from(vec![0xBB; MLKEM768_ENC_KEY_LEN]); - CurrentKey::::put(old_current); - // Pre-populate PendingKey so CurrentKey ← PendingKey writes. let old_pending: ShieldEncKey = BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]); PendingKey::::put(old_pending.clone()); diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 0240173fd2..4a1f21acb9 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -78,14 +78,15 @@ pub mod pallet { pub type AuthorKeys = StorageMap<_, Twox64Concat, T::AuthorityId, ShieldEncKey, OptionQuery>; - /// Maps a key hash (`xxhash128` of the encapsulation key) to the block number after which - /// no proposer will include a transaction encrypted with that key. - /// - /// Updated every block during rotation. Only the 3 active keys (Current, Pending, Next) - /// have entries; stale entries are removed to prevent unbounded growth. + /// Block number at which `PendingKey` is no longer valid (exclusive upper bound). + /// Updated every block during rotation. #[pallet::storage] - pub type KeyExpiresAt = - StorageMap<_, Twox64Concat, [u8; 16], BlockNumberFor, OptionQuery>; + pub type PendingKeyExpiresAt = StorageValue<_, BlockNumberFor, OptionQuery>; + + /// Block number at which `NextKey` is no longer valid (exclusive upper bound). + /// Updated every block during rotation. + #[pallet::storage] + pub type NextKeyExpiresAt = StorageValue<_, BlockNumberFor, OptionQuery>; /// Stores whether some migration has been run. #[pallet::storage] @@ -134,8 +135,8 @@ pub mod pallet { /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(33_230_000, 0) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)))] + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(6_u64)))] pub fn announce_next_key( origin: OriginFor, enc_key: Option, @@ -145,11 +146,6 @@ pub mod pallet { let author = T::FindAuthors::find_current_author().ok_or(Error::::Unreachable)?; let now = >::block_number(); - // Remove expiration entry for the outgoing CurrentKey (about to be replaced). - if let Some(old_current) = CurrentKey::::get() { - KeyExpiresAt::::remove(twox_128(&old_current[..])); - } - // 1. CurrentKey ← PendingKey if let Some(pending_key) = PendingKey::::take() { CurrentKey::::put(pending_key); @@ -184,18 +180,16 @@ pub mod pallet { AuthorKeys::::remove(&author); } - // 5. Set expiration blocks for the 3 active keys. - // CurrentKey → valid this block only, expires at now + 1 - // PendingKey → becomes CurrentKey next block, expires at now + 2 - // NextKey → becomes CurrentKey in 2 blocks, expires at now + 3 - if let Some(ref k) = CurrentKey::::get() { - KeyExpiresAt::::insert(twox_128(&k[..]), now + 1u32.into()); - } - if let Some(ref k) = PendingKey::::get() { - KeyExpiresAt::::insert(twox_128(&k[..]), now + 2u32.into()); + // 5. Set expiration blocks for user-facing keys. + if PendingKey::::get().is_some() { + PendingKeyExpiresAt::::put(now + 2u32.into()); + } else { + PendingKeyExpiresAt::::kill(); } - if let Some(ref k) = NextKey::::get() { - KeyExpiresAt::::insert(twox_128(&k[..]), now + 3u32.into()); + if NextKey::::get().is_some() { + NextKeyExpiresAt::::put(now + 3u32.into()); + } else { + NextKeyExpiresAt::::kill(); } Ok(()) diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index d52175011e..5a2aef7d80 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -109,18 +109,6 @@ pub fn valid_pk_b() -> ShieldEncKey { BoundedVec::truncate_from(vec![0x99; MLKEM768_ENC_KEY_LEN]) } -pub fn valid_pk_c() -> ShieldEncKey { - BoundedVec::truncate_from(vec![0x55; MLKEM768_ENC_KEY_LEN]) -} - -pub fn valid_pk_d() -> ShieldEncKey { - BoundedVec::truncate_from(vec![0x77; MLKEM768_ENC_KEY_LEN]) -} - -pub fn key_hash(pk: &ShieldEncKey) -> [u8; 16] { - sp_io::hashing::twox_128(&pk[..]) -} - /// Create a deterministic `AuraId` from a simple index for tests. pub fn author(n: u8) -> AuraId { AuraId::from(sr25519::Public::from_raw([n; 32])) diff --git a/pallets/shield/src/tests.rs b/pallets/shield/src/tests.rs index c59214e1fa..04eb29126b 100644 --- a/pallets/shield/src/tests.rs +++ b/pallets/shield/src/tests.rs @@ -1,11 +1,14 @@ use crate::mock::*; -use crate::{AuthorKeys, CurrentKey, Error, HasMigrationRun, KeyExpiresAt, NextKey, PendingKey}; +use crate::{ + AuthorKeys, CurrentKey, Error, HasMigrationRun, NextKey, NextKeyExpiresAt, PendingKey, + PendingKeyExpiresAt, +}; use codec::Encode; use frame_support::{BoundedVec, assert_noop, assert_ok}; use sp_runtime::testing::TestSignature; use sp_runtime::traits::{Block as BlockT, Hash}; -use stp_shield::{ShieldEncKey, ShieldKeystore, ShieldedTransaction}; +use stp_shield::{MLKEM768_ENC_KEY_LEN, ShieldEncKey, ShieldKeystore, ShieldedTransaction}; use chacha20poly1305::{ KeyInit, XChaCha20Poly1305, XNonce, @@ -18,121 +21,148 @@ use ml_kem::{ use rand_chacha::{ChaChaRng, rand_core::SeedableRng}; use stc_shield::MemoryShieldKeystore; +/// Simulates a 3-validator round-robin (authors 1, 2, 3) over 5 blocks. +/// Each block calls `announce_next_key` and verifies the full pipeline: +/// CurrentKey, PendingKey, NextKey, AuthorKeys, expirations, and +/// `is_shielded_using_current_key`. #[test] -fn announce_rejects_signed_origin() { +fn key_rotation_round_robin() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); - assert_noop!( - MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), - sp_runtime::DispatchError::BadOrigin - ); - }); -} + let key_of = + |n: u8| -> ShieldEncKey { BoundedVec::truncate_from(vec![n; MLKEM768_ENC_KEY_LEN]) }; + let hash_of = |pk: &ShieldEncKey| sp_io::hashing::twox_128(&pk[..]); -#[test] -fn announce_shifts_pending_into_current() { - new_test_ext().execute_with(|| { - System::set_block_number(5); - set_authors(Some(author(1)), None); - - let old_pending = valid_pk_b(); - PendingKey::::put(old_pending.clone()); + // 3 validators in round-robin: 1, 2, 3, 1, 2. + let authors = [1u8, 2, 3, 1, 2]; + let next_next = |block: usize| -> Option { authors.get(block + 2).copied() }; + // ── Block 1: author=1, next_next=3 ────────────────────────────── + // Pipeline is empty; author(3) has no AuthorKeys yet. + System::set_block_number(1); + set_authors(Some(author(1)), next_next(0).map(author)); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), - Some(valid_pk()), + Some(key_of(1)), )); - assert_eq!(CurrentKey::::get(), Some(old_pending.clone())); - // New CurrentKey gets an expiration entry. - assert_eq!(KeyExpiresAt::::get(key_hash(&old_pending)), Some(6)); - }); -} - -#[test] -fn announce_stores_key_in_author_keys() { - new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); - let pk = valid_pk(); + assert!(CurrentKey::::get().is_none()); + assert!(PendingKey::::get().is_none()); + assert!(NextKey::::get().is_none()); + assert_eq!(AuthorKeys::::get(author(1)), Some(key_of(1))); + assert!(PendingKeyExpiresAt::::get().is_none()); + assert!(NextKeyExpiresAt::::get().is_none()); + // Nothing in PendingKey → is_shielded always false. + assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); + // ── Block 2: author=2, next_next=1 ────────────────────────────── + // author(1) registered in block 1 → NextKey picks up key_of(1). + System::set_block_number(2); + set_authors(Some(author(2)), next_next(1).map(author)); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), - Some(pk.clone()), + Some(key_of(2)), )); - assert_eq!(AuthorKeys::::get(author(1)), Some(pk)); - }); -} - -#[test] -fn announce_sets_next_key_from_next_next_author() { - new_test_ext().execute_with(|| { - System::set_block_number(10); - set_authors(Some(author(1)), Some(author(3))); - - // Pre-populate the full pipeline so all 3 positions are filled after rotation. - // Use distinct keys for each position to avoid hash collisions. - let old_current = valid_pk_d(); - CurrentKey::::put(old_current.clone()); - KeyExpiresAt::::insert(key_hash(&old_current), 11u64); + assert!(CurrentKey::::get().is_none()); + assert!(PendingKey::::get().is_none()); + assert_eq!(NextKey::::get(), Some(key_of(1))); + assert_eq!(AuthorKeys::::get(author(2)), Some(key_of(2))); + assert!(PendingKeyExpiresAt::::get().is_none()); + assert_eq!(NextKeyExpiresAt::::get(), Some(5)); // 2 + 3 + + // ── Block 3: author=3, next_next=2 ────────────────────────────── + // NextKey(key_of(1)) → PendingKey; next_next=author(2) has key_of(2) → NextKey. + System::set_block_number(3); + set_authors(Some(author(3)), next_next(2).map(author)); + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(key_of(3)), + )); - let pending = valid_pk_b(); // → CurrentKey - PendingKey::::put(pending.clone()); - let next = valid_pk(); // → PendingKey - NextKey::::put(next.clone()); + assert!(CurrentKey::::get().is_none()); + assert_eq!(PendingKey::::get(), Some(key_of(1))); + assert_eq!(NextKey::::get(), Some(key_of(2))); + assert_eq!(AuthorKeys::::get(author(3)), Some(key_of(3))); + assert_eq!(PendingKeyExpiresAt::::get(), Some(5)); // 3 + 2 + assert_eq!(NextKeyExpiresAt::::get(), Some(6)); // 3 + 3 + // PendingKey = key_of(1) → is_shielded matches its hash. + assert!(MevShield::is_shielded_using_current_key(&hash_of(&key_of( + 1 + )))); + assert!(!MevShield::is_shielded_using_current_key(&hash_of( + &key_of(2) + ))); + assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); - let next_next_key = valid_pk_c(); - AuthorKeys::::insert(author(3), next_next_key.clone()); // → NextKey + // ── Block 4: author=1, next_next=out of bounds ────────────────── + // Full pipeline: PendingKey(key_of(1)) → CurrentKey, NextKey(key_of(2)) → PendingKey. + System::set_block_number(4); + set_authors(Some(author(1)), next_next(3).map(author)); + assert_ok!(MevShield::announce_next_key( + RuntimeOrigin::none(), + Some(key_of(1)), + )); + assert_eq!(CurrentKey::::get(), Some(key_of(1))); + assert_eq!(PendingKey::::get(), Some(key_of(2))); + assert!(NextKey::::get().is_none()); + assert_eq!(AuthorKeys::::get(author(1)), Some(key_of(1))); + assert_eq!(PendingKeyExpiresAt::::get(), Some(6)); // 4 + 2 + assert!(NextKeyExpiresAt::::get().is_none()); + // PendingKey = key_of(2). + assert!(MevShield::is_shielded_using_current_key(&hash_of(&key_of( + 2 + )))); + assert!(!MevShield::is_shielded_using_current_key(&hash_of( + &key_of(1) + ))); + + // ── Block 5: author=2, next_next=none ─────────────────────────── + // PendingKey(key_of(2)) → CurrentKey; pipeline drains. + System::set_block_number(5); + set_authors(Some(author(2)), None); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), - Some(valid_pk()), + Some(key_of(2)), )); - assert_eq!(NextKey::::get(), Some(next_next_key.clone())); - - // Old CurrentKey's expiration entry is removed. - assert!(!KeyExpiresAt::::contains_key(key_hash(&old_current))); - // All 3 active keys have expiration entries. - assert_eq!(KeyExpiresAt::::get(key_hash(&pending)), Some(11)); // CurrentKey - assert_eq!(KeyExpiresAt::::get(key_hash(&next)), Some(12)); // PendingKey - assert_eq!( - KeyExpiresAt::::get(key_hash(&next_next_key)), - Some(13) - ); // NextKey - assert_eq!(KeyExpiresAt::::iter().count(), 3); + assert_eq!(CurrentKey::::get(), Some(key_of(2))); + assert!(PendingKey::::get().is_none()); + assert!(NextKey::::get().is_none()); + assert!(PendingKeyExpiresAt::::get().is_none()); + assert!(NextKeyExpiresAt::::get().is_none()); }); } +/// AuthorKeys is read *before* being updated, so when current == next_next +/// the NextKey picks up the old key, not the newly announced one. #[test] -fn announce_next_key_none_when_next_next_author_has_no_key() { +fn announce_rotations_use_pre_update_author_keys() { new_test_ext().execute_with(|| { - set_authors(Some(author(1)), Some(author(3))); + set_authors(Some(author(1)), Some(author(1))); + + let old_pk = valid_pk(); + let new_pk = valid_pk_b(); + AuthorKeys::::insert(author(1), old_pk.clone()); assert_ok!(MevShield::announce_next_key( RuntimeOrigin::none(), - Some(valid_pk()), + Some(new_pk.clone()), )); - assert!(NextKey::::get().is_none()); + assert_eq!(NextKey::::get(), Some(old_pk)); + assert_eq!(AuthorKeys::::get(author(1)), Some(new_pk)); }); } #[test] -fn announce_next_key_none_when_no_next_next_author() { +fn announce_rejects_signed_origin() { new_test_ext().execute_with(|| { - System::set_block_number(1); set_authors(Some(author(1)), None); - - // No PendingKey, no NextKey, no next-next author. - assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::none(), - Some(valid_pk()), - )); - - assert!(NextKey::::get().is_none()); - // No keys in any position → no expiration entries. - assert_eq!(KeyExpiresAt::::iter().count(), 0); + assert_noop!( + MevShield::announce_next_key(RuntimeOrigin::signed(1), Some(valid_pk())), + sp_runtime::DispatchError::BadOrigin + ); }); } @@ -173,63 +203,6 @@ fn announce_fails_when_no_current_author() { }); } -#[test] -fn announce_shifts_next_key_into_pending() { - new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); - - let next_key = valid_pk_b(); - NextKey::::put(next_key.clone()); - - assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::none(), - Some(valid_pk()), - )); - - assert_eq!(PendingKey::::get(), Some(next_key)); - }); -} - -#[test] -fn announce_kills_pending_when_no_next_key() { - new_test_ext().execute_with(|| { - set_authors(Some(author(1)), None); - PendingKey::::put(valid_pk()); - // NextKey is not set. - - assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::none(), - Some(valid_pk()), - )); - - assert!(PendingKey::::get().is_none()); - }); -} - -#[test] -fn announce_rotations_use_pre_update_author_keys() { - new_test_ext().execute_with(|| { - // Author(1) is current and also next_next (2-validator round-robin). - set_authors(Some(author(1)), Some(author(1))); - - let old_pk = valid_pk(); - let new_pk = valid_pk_b(); - AuthorKeys::::insert(author(1), old_pk.clone()); - - // Announce a NEW key for author(1). NextKey should use the OLD key - // because AuthorKeys is updated after rotations. - assert_ok!(MevShield::announce_next_key( - RuntimeOrigin::none(), - Some(new_pk.clone()), - )); - - // NextKey read pre-update AuthorKeys[author(1)]. - assert_eq!(NextKey::::get(), Some(old_pk)); - // AuthorKeys now holds the newly announced key. - assert_eq!(AuthorKeys::::get(author(1)), Some(new_pk)); - }); -} - #[test] fn submit_encrypted_emits_event() { new_test_ext().execute_with(|| { @@ -410,43 +383,6 @@ fn try_unshield_tx_decrypts_extrinsic() { assert_eq!(decoded.encode(), inner_uxt.encode()); } -#[test] -fn is_shielded_using_current_key_matches_pending_key() { - new_test_ext().execute_with(|| { - let pk = valid_pk(); - PendingKey::::put(pk.clone()); - - let hash = sp_io::hashing::twox_128(&pk[..]); - assert!(MevShield::is_shielded_using_current_key(&hash)); - }); -} - -#[test] -fn is_shielded_using_current_key_ignores_current_key() { - new_test_ext().execute_with(|| { - let pk = valid_pk(); - CurrentKey::::put(pk.clone()); - // PendingKey is empty — should NOT match. - let hash = sp_io::hashing::twox_128(&pk[..]); - assert!(!MevShield::is_shielded_using_current_key(&hash)); - }); -} - -#[test] -fn is_shielded_using_current_key_returns_false_when_no_pending() { - new_test_ext().execute_with(|| { - assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); - }); -} - -#[test] -fn is_shielded_using_current_key_rejects_wrong_hash() { - new_test_ext().execute_with(|| { - PendingKey::::put(valid_pk()); - assert!(!MevShield::is_shielded_using_current_key(&[0xFF; 16])); - }); -} - // --------------------------------------------------------------------------- // Migration tests // --------------------------------------------------------------------------- From a957cec093661511eeea917af52dd341419c070e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 10:25:23 -0300 Subject: [PATCH 185/204] update README --- pallets/shield/README.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/pallets/shield/README.md b/pallets/shield/README.md index 4e229f40e7..d3e67d82f5 100644 --- a/pallets/shield/README.md +++ b/pallets/shield/README.md @@ -8,11 +8,18 @@ Block authors rotate ML-KEM-768 key pairs every slot via a mandatory inherent. U ### Key rotation -Each block includes an `announce_next_key` inherent that: +Each block includes an `announce_next_key` inherent that rotates the key pipeline in four steps: -1. Shifts `NextKey` into `CurrentKey` (so the previous key is still accepted during the transition). -2. Stores the current author's freshly generated encapsulation key in `AuthorKeys`. -3. Looks up the *next* author's key from `AuthorKeys` and exposes it as `NextKey`. +1. `CurrentKey <- PendingKey` (proposer's decryption target). +2. `PendingKey <- NextKey` (staged one block ahead). +3. `NextKey <- AuthorKeys[next_next_author]` (user-facing, N+2 author's key). +4. `AuthorKeys[current_author] <- announced key` (updated after rotations for consistent reads). + +This gives users a full 12-24s submission window (two block periods) instead of 0-12s, eliminating block-boundary timing issues. + +### Key expiration + +`PendingKeyExpiresAt` and `NextKeyExpiresAt` expose the block number at which each user-facing key stops being valid (exclusive upper bound). Clients can read these directly to know how long a key remains usable. ### Encrypted transaction flow @@ -23,23 +30,27 @@ Each block includes an `announce_next_key` inherent that: ciphertext = key_hash(16) || kem_len(2) || kem_ct || nonce(24) || aead_ct ``` -3. User submits `submit_encrypted(ciphertext)` signed with their account. +3. User submits `submit_encrypted(ciphertext)` signed with their account, using a short mortal era (<=8 blocks). 4. The block author decrypts and includes the inner extrinsic in the same block. ### Transaction extension -`CheckShieldedTxValidity` validates shielded transactions at two levels: +`CheckShieldedTxValidity` rejects malformed ciphertext (unparseable structure) at pool validation time. Key hash matching is handled by the block proposer, not the extension. + +### Mortal era enforcement -- **Pool validation** — rejects malformed ciphertext (unparseable structure). -- **Block building** (`InBlock`) — additionally checks that `key_hash` matches either `CurrentKey` or `NextKey`, rejecting stale or tampered submissions. +`CheckMortality` (in the runtime) wraps Substrate's `CheckMortality` and rejects `submit_encrypted` calls with immortal or >8-block eras. This ensures stale encrypted transactions are evicted from the pool within a few blocks. ## Storage | Item | Description | |------|-------------| -| `CurrentKey` | Previous block's `NextKey`, kept for one-block grace period | -| `NextKey` | Encapsulation key users should encrypt to | +| `CurrentKey` | Current block author's encapsulation key (internal, not for encryption) | +| `PendingKey` | N+1 block author's key, staged before promoting to `CurrentKey` | +| `NextKey` | N+2 block author's key (user-facing, encrypt to this) | | `AuthorKeys` | Per-authority latest announced encapsulation key | +| `PendingKeyExpiresAt` | Block number at which `PendingKey` is no longer valid | +| `NextKeyExpiresAt` | Block number at which `NextKey` is no longer valid | ## Dependencies From 0a806ee005f83d057b5dbed16a3dedd6d46316b0 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 10:25:45 -0300 Subject: [PATCH 186/204] bump spec version to 389 --- 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 6a0fe45751..f1231df83d 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -268,7 +268,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: 388, + spec_version: 389, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From b3e5e11ca3ab5e0213ef754159a6eab1b72de17e Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 15:08:25 -0300 Subject: [PATCH 187/204] fix benchmarks --- pallets/shield/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 4a1f21acb9..6b742687f5 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -135,7 +135,7 @@ pub mod pallet { /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] #[pallet::weight(Weight::from_parts(33_230_000, 0) - .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)))] pub fn announce_next_key( origin: OriginFor, From 92de10f7abd80ef33354f42b450ef0558633a7c2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 16:01:45 -0300 Subject: [PATCH 188/204] extract BASE_DIR and fix bootstrap_types --- e2e/bootstrap_types.sh | 2 +- e2e/shield/setup.ts | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index 620f3c8efd..5c175365c0 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -11,7 +11,7 @@ set -e BINARY="${BINARY_PATH:-../target/release/node-subtensor}" -NODE_LOG="/tmp/e2e-bootstrap-node.log" +NODE_LOG="/tmp/subtensor-e2e/bootstrap-node.log" if [ "$1" != "--skip-build" ]; then echo "==> Building node-subtensor..." diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index b229826d41..49c45b8576 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -14,8 +14,9 @@ import { type NodeOptions, } from "e2e-shared/node.js"; -const CHAIN_SPEC_PATH = "/tmp/subtensor-e2e/shield/chain-spec.json"; -const STATE_FILE = "/tmp/subtensor-e2e/shield/nodes.json"; +const BASE_DIR = "/tmp/subtensor-e2e/shield-tests"; +const CHAIN_SPEC_PATH = `${BASE_DIR}/chain-spec.json`; +const STATE_FILE = `${BASE_DIR}/nodes.json`; export type NetworkState = { binaryPath: string; @@ -38,13 +39,13 @@ type NodeConfig = Omit & { }; const NODE_CONFIGS: NodeConfig[] = [ - { name: "one", port: 30333, rpcPort: 9944, basePath: "/tmp/subtensor-e2e/shield/one", validator: true }, - { name: "two", port: 30334, rpcPort: 9945, basePath: "/tmp/subtensor-e2e/shield/two", validator: true }, + { name: "one", port: 30333, rpcPort: 9944, basePath: `${BASE_DIR}/one`, validator: true }, + { name: "two", port: 30334, rpcPort: 9945, basePath: `${BASE_DIR}/two`, validator: true }, { name: "three", port: 30335, rpcPort: 9946, - basePath: "/tmp/subtensor-e2e/shield/three", + basePath: `${BASE_DIR}/three`, validator: true, keySeed: "//Three", }, @@ -54,7 +55,7 @@ export async function setup() { log(`Setting up ${NODE_CONFIGS.length}-node network for shield E2E tests`); log(`Binary path: ${BINARY_PATH}`); - await mkdir("/tmp/subtensor-e2e/shield", { recursive: true }); + await mkdir(BASE_DIR, { recursive: true }); await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH); @@ -139,7 +140,7 @@ export async function teardown() { } // Clean up the entire suite directory in one shot. - await rm("/tmp/subtensor-e2e/shield", { recursive: true, force: true }); + await rm(BASE_DIR, { recursive: true, force: true }); log("Teardown complete"); } From 0d8165715788322a0e0c0625e9bf8f5f8d023bd6 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 16:19:15 -0300 Subject: [PATCH 189/204] added third node to staking tests due to chainspec update --- e2e/staking/setup.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/e2e/staking/setup.ts b/e2e/staking/setup.ts index 51a3434559..d1887be5a6 100644 --- a/e2e/staking/setup.ts +++ b/e2e/staking/setup.ts @@ -1,6 +1,7 @@ import { rm, mkdir } from "node:fs/promises"; import { generateChainSpec, + insertKeys, startNode, started, peerCount, @@ -22,12 +23,21 @@ const BINARY_PATH = process.env.BINARY_PATH || "../../target/release/node-subten const nodes: Node[] = []; -// Use built-in validators "one" and "two" - they have auto-injected keys -type NodeConfig = Omit; +type NodeConfig = Omit & { + keySeed?: string; +}; const NODE_CONFIGS: NodeConfig[] = [ { name: "one", port: 30433, rpcPort: 9944, basePath: `${BASE_DIR}/one`, validator: true }, { name: "two", port: 30434, rpcPort: 9945, basePath: `${BASE_DIR}/two`, validator: true }, + { + name: "three", + port: 30435, + rpcPort: 9946, + basePath: `${BASE_DIR}/three`, + validator: true, + keySeed: "//Three", + }, ]; async function startNetwork() { @@ -36,7 +46,7 @@ async function startNetwork() { await mkdir(BASE_DIR, { recursive: true }); - // Generate local chain spec (built-in has One and Two as authorities) + // Generate local chain spec (built-in has One, Two and Three as authorities) await generateChainSpec(BINARY_PATH, CHAIN_SPEC_PATH); // Clean up old base paths @@ -44,6 +54,13 @@ async function startNetwork() { await rm(config.basePath, { recursive: true, force: true }); } + // Insert keys for authority nodes that don't have built-in substrate shortcuts. + for (const config of NODE_CONFIGS) { + if (config.keySeed) { + insertKeys(BINARY_PATH, config.basePath, CHAIN_SPEC_PATH, config.keySeed); + } + } + // Start all validator nodes for (const config of NODE_CONFIGS) { const node = startNode({ From d19a79c626b64f24fe38e5da9d27a903f05c3c4c Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 16:20:20 -0300 Subject: [PATCH 190/204] pnpm format --- e2e/README.md | 1 + e2e/pnpm-lock.yaml | 3379 ++++++++++++++--------- e2e/shared/address.ts | 7 +- e2e/shared/balance.ts | 7 +- e2e/shared/node.ts | 1 - e2e/shared/staking.ts | 87 +- e2e/shared/subnet.ts | 10 +- e2e/shared/transactions.ts | 4 +- e2e/shield/setup.ts | 6 +- e2e/shield/tests/00-basic.test.ts | 4 +- e2e/shield/tests/01-scaling.test.ts | 4 +- e2e/shield/tests/02-edge-cases.test.ts | 7 +- e2e/shield/tests/04-mortality.test.ts | 15 +- e2e/staking/test/claim-root.test.ts | 12 +- e2e/staking/test/move-stake.test.ts | 4 +- e2e/staking/test/transfer-stake.test.ts | 14 +- 16 files changed, 2232 insertions(+), 1330 deletions(-) diff --git a/e2e/README.md b/e2e/README.md index d564ba4e3c..efd79de23f 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -34,6 +34,7 @@ pnpm --filter e2e- test ``` This creates a package with: + - `package.json` — depends on `e2e-shared` and `polkadot-api` - `vitest.config.ts` — sequential execution, 120s timeout, alphabetical sequencer - `setup.ts` — global setup/teardown that spawns a 2-node network diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index 8f84477ae0..982813a2d4 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '9.0' +lockfileVersion: "9.0" settings: autoInstallPeers: true @@ -6,25 +6,25 @@ settings: catalogs: default: - '@noble/ciphers': + "@noble/ciphers": specifier: ^2.1.1 version: 2.1.1 - '@polkadot-labs/hdkd': + "@polkadot-labs/hdkd": specifier: ^0.0.25 version: 0.0.25 - '@polkadot-labs/hdkd-helpers': + "@polkadot-labs/hdkd-helpers": specifier: ^0.0.25 version: 0.0.25 - '@polkadot/keyring': + "@polkadot/keyring": specifier: ^14.0.1 version: 14.0.1 - '@polkadot/util': + "@polkadot/util": specifier: ^14.0.1 version: 14.0.1 - '@polkadot/util-crypto': + "@polkadot/util-crypto": specifier: ^14.0.1 version: 14.0.1 - '@types/node': + "@types/node": specifier: ^24 version: 24.10.13 mlkem: @@ -41,74 +41,73 @@ catalogs: version: 4.0.18 importers: - .: dependencies: - '@polkadot-api/descriptors': + "@polkadot-api/descriptors": specifier: file:.papi/descriptors version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) polkadot-api: - specifier: 'catalog:' + specifier: "catalog:" version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: prettier: - specifier: 'catalog:' + specifier: "catalog:" version: 3.8.1 shared: dependencies: - '@polkadot-api/descriptors': + "@polkadot-api/descriptors": specifier: file:../.papi/descriptors version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) - '@polkadot-labs/hdkd': - specifier: 'catalog:' + "@polkadot-labs/hdkd": + specifier: "catalog:" version: 0.0.25 - '@polkadot-labs/hdkd-helpers': - specifier: 'catalog:' + "@polkadot-labs/hdkd-helpers": + specifier: "catalog:" version: 0.0.25 - '@polkadot/keyring': - specifier: 'catalog:' + "@polkadot/keyring": + specifier: "catalog:" version: 14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1) polkadot-api: - specifier: 'catalog:' + specifier: "catalog:" version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: - '@types/node': - specifier: 'catalog:' + "@types/node": + specifier: "catalog:" version: 24.10.13 vitest: - specifier: 'catalog:' + specifier: "catalog:" version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) shield: dependencies: - '@noble/ciphers': - specifier: 'catalog:' + "@noble/ciphers": + specifier: "catalog:" version: 2.1.1 - '@polkadot-api/descriptors': + "@polkadot-api/descriptors": specifier: file:../.papi/descriptors version: file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0)) - '@polkadot/util': - specifier: 'catalog:' + "@polkadot/util": + specifier: "catalog:" version: 14.0.1 - '@polkadot/util-crypto': - specifier: 'catalog:' + "@polkadot/util-crypto": + specifier: "catalog:" version: 14.0.1(@polkadot/util@14.0.1) e2e-shared: specifier: workspace:* version: link:../shared mlkem: - specifier: 'catalog:' + specifier: "catalog:" version: 2.5.0 polkadot-api: - specifier: 'catalog:' + specifier: "catalog:" version: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) devDependencies: - '@types/node': - specifier: 'catalog:' + "@types/node": + specifier: "catalog:" version: 24.10.13 vitest: - specifier: 'catalog:' + specifier: "catalog:" version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) staking: @@ -117,754 +116,1209 @@ importers: specifier: workspace:* version: link:../shared devDependencies: - '@types/node': - specifier: 'catalog:' + "@types/node": + specifier: "catalog:" version: 24.10.13 vitest: - specifier: 'catalog:' + specifier: "catalog:" version: 4.0.18(@types/node@24.10.13)(tsx@4.21.0) packages: - - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} - - '@commander-js/extra-typings@14.0.0': - resolution: {integrity: sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg==} + "@babel/code-frame@7.29.0": + resolution: + { + integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-validator-identifier@7.28.5": + resolution: + { + integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==, + } + engines: { node: ">=6.9.0" } + + "@commander-js/extra-typings@14.0.0": + resolution: + { + integrity: sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg==, + } peerDependencies: commander: ~14.0.0 - '@esbuild/aix-ppc64@0.25.12': - resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} - engines: {node: '>=18'} + "@esbuild/aix-ppc64@0.25.12": + resolution: + { + integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.3': - resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} - engines: {node: '>=18'} + "@esbuild/aix-ppc64@0.27.3": + resolution: + { + integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.12': - resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} - engines: {node: '>=18'} + "@esbuild/android-arm64@0.25.12": + resolution: + { + integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.3': - resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} - engines: {node: '>=18'} + "@esbuild/android-arm64@0.27.3": + resolution: + { + integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.12': - resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} - engines: {node: '>=18'} + "@esbuild/android-arm@0.25.12": + resolution: + { + integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==, + } + engines: { node: ">=18" } cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.3': - resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} - engines: {node: '>=18'} + "@esbuild/android-arm@0.27.3": + resolution: + { + integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==, + } + engines: { node: ">=18" } cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.12': - resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} - engines: {node: '>=18'} + "@esbuild/android-x64@0.25.12": + resolution: + { + integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==, + } + engines: { node: ">=18" } cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.3': - resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} - engines: {node: '>=18'} + "@esbuild/android-x64@0.27.3": + resolution: + { + integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.12': - resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} - engines: {node: '>=18'} + "@esbuild/darwin-arm64@0.25.12": + resolution: + { + integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.3': - resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} - engines: {node: '>=18'} + "@esbuild/darwin-arm64@0.27.3": + resolution: + { + integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.12': - resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} - engines: {node: '>=18'} + "@esbuild/darwin-x64@0.25.12": + resolution: + { + integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==, + } + engines: { node: ">=18" } cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.3': - resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} - engines: {node: '>=18'} + "@esbuild/darwin-x64@0.27.3": + resolution: + { + integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==, + } + engines: { node: ">=18" } cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.12': - resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} - engines: {node: '>=18'} + "@esbuild/freebsd-arm64@0.25.12": + resolution: + { + integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.3': - resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} - engines: {node: '>=18'} + "@esbuild/freebsd-arm64@0.27.3": + resolution: + { + integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==, + } + engines: { node: ">=18" } cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.12': - resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} - engines: {node: '>=18'} + "@esbuild/freebsd-x64@0.25.12": + resolution: + { + integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.3': - resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} - engines: {node: '>=18'} + "@esbuild/freebsd-x64@0.27.3": + resolution: + { + integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==, + } + engines: { node: ">=18" } cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.12': - resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} - engines: {node: '>=18'} + "@esbuild/linux-arm64@0.25.12": + resolution: + { + integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==, + } + engines: { node: ">=18" } cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.3': - resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} - engines: {node: '>=18'} + "@esbuild/linux-arm64@0.27.3": + resolution: + { + integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.12': - resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} - engines: {node: '>=18'} + "@esbuild/linux-arm@0.25.12": + resolution: + { + integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==, + } + engines: { node: ">=18" } cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.3': - resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} - engines: {node: '>=18'} + "@esbuild/linux-arm@0.27.3": + resolution: + { + integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==, + } + engines: { node: ">=18" } cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.12': - resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} - engines: {node: '>=18'} + "@esbuild/linux-ia32@0.25.12": + resolution: + { + integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==, + } + engines: { node: ">=18" } cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.3': - resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} - engines: {node: '>=18'} + "@esbuild/linux-ia32@0.27.3": + resolution: + { + integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==, + } + engines: { node: ">=18" } cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.12': - resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} - engines: {node: '>=18'} + "@esbuild/linux-loong64@0.25.12": + resolution: + { + integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==, + } + engines: { node: ">=18" } cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.3': - resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} - engines: {node: '>=18'} + "@esbuild/linux-loong64@0.27.3": + resolution: + { + integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==, + } + engines: { node: ">=18" } cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.12': - resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} - engines: {node: '>=18'} + "@esbuild/linux-mips64el@0.25.12": + resolution: + { + integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==, + } + engines: { node: ">=18" } cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.3': - resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} - engines: {node: '>=18'} + "@esbuild/linux-mips64el@0.27.3": + resolution: + { + integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==, + } + engines: { node: ">=18" } cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.12': - resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} - engines: {node: '>=18'} + "@esbuild/linux-ppc64@0.25.12": + resolution: + { + integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.3': - resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} - engines: {node: '>=18'} + "@esbuild/linux-ppc64@0.27.3": + resolution: + { + integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==, + } + engines: { node: ">=18" } cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.12': - resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} - engines: {node: '>=18'} + "@esbuild/linux-riscv64@0.25.12": + resolution: + { + integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==, + } + engines: { node: ">=18" } cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.3': - resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} - engines: {node: '>=18'} + "@esbuild/linux-riscv64@0.27.3": + resolution: + { + integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==, + } + engines: { node: ">=18" } cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.12': - resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} - engines: {node: '>=18'} + "@esbuild/linux-s390x@0.25.12": + resolution: + { + integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==, + } + engines: { node: ">=18" } cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.3': - resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} - engines: {node: '>=18'} + "@esbuild/linux-s390x@0.27.3": + resolution: + { + integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==, + } + engines: { node: ">=18" } cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.12': - resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} - engines: {node: '>=18'} + "@esbuild/linux-x64@0.25.12": + resolution: + { + integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==, + } + engines: { node: ">=18" } cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.3': - resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} - engines: {node: '>=18'} + "@esbuild/linux-x64@0.27.3": + resolution: + { + integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==, + } + engines: { node: ">=18" } cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.12': - resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} - engines: {node: '>=18'} + "@esbuild/netbsd-arm64@0.25.12": + resolution: + { + integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.3': - resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} - engines: {node: '>=18'} + "@esbuild/netbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==, + } + engines: { node: ">=18" } cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.12': - resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} - engines: {node: '>=18'} + "@esbuild/netbsd-x64@0.25.12": + resolution: + { + integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.3': - resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} - engines: {node: '>=18'} + "@esbuild/netbsd-x64@0.27.3": + resolution: + { + integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==, + } + engines: { node: ">=18" } cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.12': - resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} - engines: {node: '>=18'} + "@esbuild/openbsd-arm64@0.25.12": + resolution: + { + integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.3': - resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} - engines: {node: '>=18'} + "@esbuild/openbsd-arm64@0.27.3": + resolution: + { + integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.12': - resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} - engines: {node: '>=18'} + "@esbuild/openbsd-x64@0.25.12": + resolution: + { + integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==, + } + engines: { node: ">=18" } cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.3': - resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} - engines: {node: '>=18'} + "@esbuild/openbsd-x64@0.27.3": + resolution: + { + integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==, + } + engines: { node: ">=18" } cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.12': - resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} - engines: {node: '>=18'} + "@esbuild/openharmony-arm64@0.25.12": + resolution: + { + integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.3': - resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} - engines: {node: '>=18'} + "@esbuild/openharmony-arm64@0.27.3": + resolution: + { + integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==, + } + engines: { node: ">=18" } cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.12': - resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} - engines: {node: '>=18'} + "@esbuild/sunos-x64@0.25.12": + resolution: + { + integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==, + } + engines: { node: ">=18" } cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.3': - resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} - engines: {node: '>=18'} + "@esbuild/sunos-x64@0.27.3": + resolution: + { + integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==, + } + engines: { node: ">=18" } cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.12': - resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} - engines: {node: '>=18'} + "@esbuild/win32-arm64@0.25.12": + resolution: + { + integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==, + } + engines: { node: ">=18" } cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.3': - resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} - engines: {node: '>=18'} + "@esbuild/win32-arm64@0.27.3": + resolution: + { + integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==, + } + engines: { node: ">=18" } cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.12': - resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} - engines: {node: '>=18'} + "@esbuild/win32-ia32@0.25.12": + resolution: + { + integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==, + } + engines: { node: ">=18" } cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.3': - resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} - engines: {node: '>=18'} + "@esbuild/win32-ia32@0.27.3": + resolution: + { + integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==, + } + engines: { node: ">=18" } cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.12': - resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} - engines: {node: '>=18'} + "@esbuild/win32-x64@0.25.12": + resolution: + { + integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==, + } + engines: { node: ">=18" } cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.3': - resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} - engines: {node: '>=18'} + "@esbuild/win32-x64@0.27.3": + resolution: + { + integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==, + } + engines: { node: ">=18" } cpu: [x64] os: [win32] - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - - '@noble/ciphers@2.1.1': - resolution: {integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==} - engines: {node: '>= 20.19.0'} - - '@noble/curves@1.9.7': - resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==} - engines: {node: ^14.21.3 || >=16} - - '@noble/curves@2.0.1': - resolution: {integrity: sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==} - engines: {node: '>= 20.19.0'} - - '@noble/hashes@1.8.0': - resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} - engines: {node: ^14.21.3 || >=16} - - '@noble/hashes@2.0.1': - resolution: {integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==} - engines: {node: '>= 20.19.0'} - - '@polkadot-api/cli@0.18.1': - resolution: {integrity: sha512-jPa8WSNPZWdy372sBAUnm0nU1XX5mLbmgkOOU39+zpYPSE12mYXyM3r7JuT5IHdAccEJr6qK2DplPFTeNSyq9A==} + "@jridgewell/gen-mapping@0.3.13": + resolution: + { + integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, + } + + "@jridgewell/resolve-uri@3.1.2": + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } + + "@jridgewell/trace-mapping@0.3.31": + resolution: + { + integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==, + } + + "@noble/ciphers@2.1.1": + resolution: + { + integrity: sha512-bysYuiVfhxNJuldNXlFEitTVdNnYUc+XNJZd7Qm2a5j1vZHgY+fazadNFWFaMK/2vye0JVlxV3gHmC0WDfAOQw==, + } + engines: { node: ">= 20.19.0" } + + "@noble/curves@1.9.7": + resolution: + { + integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/curves@2.0.1": + resolution: + { + integrity: sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==, + } + engines: { node: ">= 20.19.0" } + + "@noble/hashes@1.8.0": + resolution: + { + integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==, + } + engines: { node: ^14.21.3 || >=16 } + + "@noble/hashes@2.0.1": + resolution: + { + integrity: sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==, + } + engines: { node: ">= 20.19.0" } + + "@polkadot-api/cli@0.18.1": + resolution: + { + integrity: sha512-jPa8WSNPZWdy372sBAUnm0nU1XX5mLbmgkOOU39+zpYPSE12mYXyM3r7JuT5IHdAccEJr6qK2DplPFTeNSyq9A==, + } hasBin: true - '@polkadot-api/codegen@0.21.2': - resolution: {integrity: sha512-e1Of2TfB13YndPQ71WrtOIPfRrSlkG6wGprP8/VHC484kkt2JPDOY+io3NdPWkafDblDQ47aG0368sxT+4RSZA==} + "@polkadot-api/codegen@0.21.2": + resolution: + { + integrity: sha512-e1Of2TfB13YndPQ71WrtOIPfRrSlkG6wGprP8/VHC484kkt2JPDOY+io3NdPWkafDblDQ47aG0368sxT+4RSZA==, + } - '@polkadot-api/descriptors@file:.papi/descriptors': - resolution: {directory: .papi/descriptors, type: directory} + "@polkadot-api/descriptors@file:.papi/descriptors": + resolution: { directory: .papi/descriptors, type: directory } peerDependencies: - polkadot-api: '>=1.21.0' - - '@polkadot-api/ink-contracts@0.4.6': - resolution: {integrity: sha512-wpFPa8CnGnmq+cFYMzuTEDmtt3ElBM0UWgTz4RpmI9E7knZ1ctWBhO7amXxOWcILqIG6sqWIE95x0cfF1PRcQg==} - - '@polkadot-api/json-rpc-provider-proxy@0.2.8': - resolution: {integrity: sha512-AC5KK4p2IamAQuqR0S3YaiiUDRB2r1pWNrdF0Mntm5XGYEmeiAILBmnFa7gyWwemhkTWPYrK5HCurlGfw2EsDA==} - - '@polkadot-api/json-rpc-provider@0.0.4': - resolution: {integrity: sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA==} - - '@polkadot-api/known-chains@0.9.18': - resolution: {integrity: sha512-zdU4FA01lXcpNXUiFgSmFKIwDKbTw15KT4U6Zlqo6FPUMZgncVEbbS4dSgVrf+TGw9SDOUjGlEdyTHAiOAG5Tw==} - - '@polkadot-api/legacy-provider@0.3.8': - resolution: {integrity: sha512-Q747MN/7IUxxXGLWLQfhmSLqFyOLUsUFqQQytlEBjt66ZAv9VwYiHZ8JMBCnMzFuaUpKEWDT62ESKhgXn/hmEQ==} + polkadot-api: ">=1.21.0" + + "@polkadot-api/ink-contracts@0.4.6": + resolution: + { + integrity: sha512-wpFPa8CnGnmq+cFYMzuTEDmtt3ElBM0UWgTz4RpmI9E7knZ1ctWBhO7amXxOWcILqIG6sqWIE95x0cfF1PRcQg==, + } + + "@polkadot-api/json-rpc-provider-proxy@0.2.8": + resolution: + { + integrity: sha512-AC5KK4p2IamAQuqR0S3YaiiUDRB2r1pWNrdF0Mntm5XGYEmeiAILBmnFa7gyWwemhkTWPYrK5HCurlGfw2EsDA==, + } + + "@polkadot-api/json-rpc-provider@0.0.4": + resolution: + { + integrity: sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA==, + } + + "@polkadot-api/known-chains@0.9.18": + resolution: + { + integrity: sha512-zdU4FA01lXcpNXUiFgSmFKIwDKbTw15KT4U6Zlqo6FPUMZgncVEbbS4dSgVrf+TGw9SDOUjGlEdyTHAiOAG5Tw==, + } + + "@polkadot-api/legacy-provider@0.3.8": + resolution: + { + integrity: sha512-Q747MN/7IUxxXGLWLQfhmSLqFyOLUsUFqQQytlEBjt66ZAv9VwYiHZ8JMBCnMzFuaUpKEWDT62ESKhgXn/hmEQ==, + } peerDependencies: - rxjs: '>=7.8.0' - - '@polkadot-api/logs-provider@0.0.6': - resolution: {integrity: sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg==} - - '@polkadot-api/merkleize-metadata@1.1.29': - resolution: {integrity: sha512-z8ivYDdr4xlh50MQ7hLaSVw4VM6EV7gGgd+v/ej09nue0W08NG77zf7pXWeRKgOXe3+hPOSQQRSZT2OlIYRfqA==} - - '@polkadot-api/metadata-builders@0.13.9': - resolution: {integrity: sha512-V2GljT6StuK40pfmO5l53CvgFNgy60Trrv20mOZDCsFU9J82F+a1HYAABDYlRgoZ9d0IDwc+u+vI+RHUJoR4xw==} - - '@polkadot-api/metadata-compatibility@0.4.4': - resolution: {integrity: sha512-V4ye5d2ns32YC45Fdc/IF9Y7CgM8inzJbmHQ2DCPSNd6omTRLJd81gU9zU88QAqPAcH2gKGnS5UF+wLL2VagSQ==} - - '@polkadot-api/observable-client@0.17.3': - resolution: {integrity: sha512-SJhbMKBIzxNgUUy7ZWflYf/TX9soMqiR2WYyggA7U3DLhgdx4wzFjOSbxCk8RuX9Kf/AmJE4dfleu9HBSCZv6g==} + rxjs: ">=7.8.0" + + "@polkadot-api/logs-provider@0.0.6": + resolution: + { + integrity: sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg==, + } + + "@polkadot-api/merkleize-metadata@1.1.29": + resolution: + { + integrity: sha512-z8ivYDdr4xlh50MQ7hLaSVw4VM6EV7gGgd+v/ej09nue0W08NG77zf7pXWeRKgOXe3+hPOSQQRSZT2OlIYRfqA==, + } + + "@polkadot-api/metadata-builders@0.13.9": + resolution: + { + integrity: sha512-V2GljT6StuK40pfmO5l53CvgFNgy60Trrv20mOZDCsFU9J82F+a1HYAABDYlRgoZ9d0IDwc+u+vI+RHUJoR4xw==, + } + + "@polkadot-api/metadata-compatibility@0.4.4": + resolution: + { + integrity: sha512-V4ye5d2ns32YC45Fdc/IF9Y7CgM8inzJbmHQ2DCPSNd6omTRLJd81gU9zU88QAqPAcH2gKGnS5UF+wLL2VagSQ==, + } + + "@polkadot-api/observable-client@0.17.3": + resolution: + { + integrity: sha512-SJhbMKBIzxNgUUy7ZWflYf/TX9soMqiR2WYyggA7U3DLhgdx4wzFjOSbxCk8RuX9Kf/AmJE4dfleu9HBSCZv6g==, + } peerDependencies: - rxjs: '>=7.8.0' - - '@polkadot-api/pjs-signer@0.6.19': - resolution: {integrity: sha512-jTHKoanZg9ewupthOczWNb2pici+GK+TBQmp9MwhwGs/3uMD2144aA8VNNBEi8rMxOBZlvKYfGkgjiTEGbBwuQ==} - - '@polkadot-api/polkadot-sdk-compat@2.4.1': - resolution: {integrity: sha512-+sET0N3GpnKkLvsazBZEC5vhqAlamlL1KkJK9STB1tRxHSZcY/yBBa1Udn9DXJfX48kE9cnzfYldl9zsjqpARg==} - - '@polkadot-api/polkadot-signer@0.1.6': - resolution: {integrity: sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A==} - - '@polkadot-api/raw-client@0.1.1': - resolution: {integrity: sha512-HxalpNEo8JCYXfxKM5p3TrK8sEasTGMkGjBNLzD4TLye9IK2smdb5oTvp2yfkU1iuVBdmjr69uif4NaukOYo2g==} - - '@polkadot-api/signer@0.2.13': - resolution: {integrity: sha512-XBOtjFsRGETVm/aXeZnsvFcJ1qvtZhRtwUMmpCOBt9s8PWfILaQH/ecOegzda3utNIZGmXXaOoJ5w9Hc/6I3ww==} - - '@polkadot-api/signers-common@0.1.20': - resolution: {integrity: sha512-v1mrTdRjQOV17riZ8172OsOQ/RJbv1QsEpjwnvxzvdCnjuNpYwtYHZaE+cSdDBb4n1p73XIBMvB/uAK/QFC2JA==} - - '@polkadot-api/sm-provider@0.1.16': - resolution: {integrity: sha512-3LEDU7nkgtDx1A6ATHLLm3+nFAY6cdkNA9tGltfDzW0efACrhhfDjNqJdI1qLNY0wDyT1aGdoWr5r+4CckRpXA==} + rxjs: ">=7.8.0" + + "@polkadot-api/pjs-signer@0.6.19": + resolution: + { + integrity: sha512-jTHKoanZg9ewupthOczWNb2pici+GK+TBQmp9MwhwGs/3uMD2144aA8VNNBEi8rMxOBZlvKYfGkgjiTEGbBwuQ==, + } + + "@polkadot-api/polkadot-sdk-compat@2.4.1": + resolution: + { + integrity: sha512-+sET0N3GpnKkLvsazBZEC5vhqAlamlL1KkJK9STB1tRxHSZcY/yBBa1Udn9DXJfX48kE9cnzfYldl9zsjqpARg==, + } + + "@polkadot-api/polkadot-signer@0.1.6": + resolution: + { + integrity: sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A==, + } + + "@polkadot-api/raw-client@0.1.1": + resolution: + { + integrity: sha512-HxalpNEo8JCYXfxKM5p3TrK8sEasTGMkGjBNLzD4TLye9IK2smdb5oTvp2yfkU1iuVBdmjr69uif4NaukOYo2g==, + } + + "@polkadot-api/signer@0.2.13": + resolution: + { + integrity: sha512-XBOtjFsRGETVm/aXeZnsvFcJ1qvtZhRtwUMmpCOBt9s8PWfILaQH/ecOegzda3utNIZGmXXaOoJ5w9Hc/6I3ww==, + } + + "@polkadot-api/signers-common@0.1.20": + resolution: + { + integrity: sha512-v1mrTdRjQOV17riZ8172OsOQ/RJbv1QsEpjwnvxzvdCnjuNpYwtYHZaE+cSdDBb4n1p73XIBMvB/uAK/QFC2JA==, + } + + "@polkadot-api/sm-provider@0.1.16": + resolution: + { + integrity: sha512-3LEDU7nkgtDx1A6ATHLLm3+nFAY6cdkNA9tGltfDzW0efACrhhfDjNqJdI1qLNY0wDyT1aGdoWr5r+4CckRpXA==, + } peerDependencies: - '@polkadot-api/smoldot': '>=0.3' - - '@polkadot-api/smoldot@0.3.15': - resolution: {integrity: sha512-YyV+ytP8FcmKEgLRV7uXepJ5Y6md/7u2F8HKxmkWytmnGXO1z+umg2pHbOxLGifD9V2NhkPY+awpzErtVIzqAA==} - - '@polkadot-api/substrate-bindings@0.17.0': - resolution: {integrity: sha512-YdbkvG/27N5A94AiKE4soVjDy0Nw74Nn+KD29mUnFmIZvL3fsN/DTYkxvMDVsOuanFXyAIXmzDMoi7iky0fyIw==} - - '@polkadot-api/substrate-client@0.5.0': - resolution: {integrity: sha512-J+gyZONCak+n6NxADZWtldH+gatYORqEScMAgI9gGu43pHUe7/xNRCqnin0dgDIzmuL3m1ERglF8LR7YhB0nHQ==} - - '@polkadot-api/utils@0.2.0': - resolution: {integrity: sha512-nY3i5fQJoAxU4n3bD7Fs208/KR2J95SGfVc58kDjbRYN5a84kWaGEqzjBNtP9oqht49POM8Bm9mbIrkvC1Bzuw==} - - '@polkadot-api/wasm-executor@0.2.3': - resolution: {integrity: sha512-B2h1o+Qlo9idpASaHvMSoViB2I5ko5OAfwfhYF8LQDkTADK0B+SeStzNj1Qn+FG34wqTuv7HzBCdjaUgzYINJQ==} - - '@polkadot-api/ws-provider@0.7.5': - resolution: {integrity: sha512-2ZLEo0PAFeuOx2DUDkbex85HZMf9lgnmZ8oGB5+NaButIydkoqXy5SHYJNPc45GcZy2tvwzImMZInNMLa5GJhg==} - - '@polkadot-labs/hdkd-helpers@0.0.25': - resolution: {integrity: sha512-GwHayBuyHKfzvGD0vG47NbjFeiK6rRQHQAn1syut9nt0mhXMg4yb3tJ//IyM317qWuDU3HbD2OIp5jKDEQz2/A==} - - '@polkadot-labs/hdkd-helpers@0.0.27': - resolution: {integrity: sha512-GTSj/Mw5kwtZbefvq2BhvBnHvs7AY4OnJgppO0kE2S/AuDbD6288C9rmO6qwMNmiNVX8OrYMWaJcs46Mt1UbBw==} - - '@polkadot-labs/hdkd@0.0.25': - resolution: {integrity: sha512-+yZJC1TE4ZKdfoILw8nGxu3H/klrYXm9GdVB0kcyQDecq320ThUmM1M4l8d1F/3QD0Nez9NwHi9t5B++OgJU5A==} - - '@polkadot/keyring@14.0.1': - resolution: {integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==} - engines: {node: '>=18'} + "@polkadot-api/smoldot": ">=0.3" + + "@polkadot-api/smoldot@0.3.15": + resolution: + { + integrity: sha512-YyV+ytP8FcmKEgLRV7uXepJ5Y6md/7u2F8HKxmkWytmnGXO1z+umg2pHbOxLGifD9V2NhkPY+awpzErtVIzqAA==, + } + + "@polkadot-api/substrate-bindings@0.17.0": + resolution: + { + integrity: sha512-YdbkvG/27N5A94AiKE4soVjDy0Nw74Nn+KD29mUnFmIZvL3fsN/DTYkxvMDVsOuanFXyAIXmzDMoi7iky0fyIw==, + } + + "@polkadot-api/substrate-client@0.5.0": + resolution: + { + integrity: sha512-J+gyZONCak+n6NxADZWtldH+gatYORqEScMAgI9gGu43pHUe7/xNRCqnin0dgDIzmuL3m1ERglF8LR7YhB0nHQ==, + } + + "@polkadot-api/utils@0.2.0": + resolution: + { + integrity: sha512-nY3i5fQJoAxU4n3bD7Fs208/KR2J95SGfVc58kDjbRYN5a84kWaGEqzjBNtP9oqht49POM8Bm9mbIrkvC1Bzuw==, + } + + "@polkadot-api/wasm-executor@0.2.3": + resolution: + { + integrity: sha512-B2h1o+Qlo9idpASaHvMSoViB2I5ko5OAfwfhYF8LQDkTADK0B+SeStzNj1Qn+FG34wqTuv7HzBCdjaUgzYINJQ==, + } + + "@polkadot-api/ws-provider@0.7.5": + resolution: + { + integrity: sha512-2ZLEo0PAFeuOx2DUDkbex85HZMf9lgnmZ8oGB5+NaButIydkoqXy5SHYJNPc45GcZy2tvwzImMZInNMLa5GJhg==, + } + + "@polkadot-labs/hdkd-helpers@0.0.25": + resolution: + { + integrity: sha512-GwHayBuyHKfzvGD0vG47NbjFeiK6rRQHQAn1syut9nt0mhXMg4yb3tJ//IyM317qWuDU3HbD2OIp5jKDEQz2/A==, + } + + "@polkadot-labs/hdkd-helpers@0.0.27": + resolution: + { + integrity: sha512-GTSj/Mw5kwtZbefvq2BhvBnHvs7AY4OnJgppO0kE2S/AuDbD6288C9rmO6qwMNmiNVX8OrYMWaJcs46Mt1UbBw==, + } + + "@polkadot-labs/hdkd@0.0.25": + resolution: + { + integrity: sha512-+yZJC1TE4ZKdfoILw8nGxu3H/klrYXm9GdVB0kcyQDecq320ThUmM1M4l8d1F/3QD0Nez9NwHi9t5B++OgJU5A==, + } + + "@polkadot/keyring@14.0.1": + resolution: + { + integrity: sha512-kHydQPCeTvJrMC9VQO8LPhAhTUxzxfNF1HEknhZDBPPsxP/XpkYsEy/Ln1QzJmQqD5VsgwzLDE6cExbJ2CT9CA==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': 14.0.1 - '@polkadot/util-crypto': 14.0.1 - - '@polkadot/networks@14.0.1': - resolution: {integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==} - engines: {node: '>=18'} - - '@polkadot/util-crypto@14.0.1': - resolution: {integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==} - engines: {node: '>=18'} + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1 + + "@polkadot/networks@14.0.1": + resolution: + { + integrity: sha512-wGlBtXDkusRAj4P7uxfPz80gLO1+j99MLBaQi3bEym2xrFrFhgIWVHOZlBit/1PfaBjhX2Z8XjRxaM2w1p7w2w==, + } + engines: { node: ">=18" } + + "@polkadot/util-crypto@14.0.1": + resolution: + { + integrity: sha512-Cu7AKUzBTsUkbOtyuNzXcTpDjR9QW0fVR56o3gBmzfUCmvO1vlsuGzmmPzqpHymQQ3rrfqV78CPs62EGhw0R+A==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': 14.0.1 - - '@polkadot/util@14.0.1': - resolution: {integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==} - engines: {node: '>=18'} - - '@polkadot/wasm-bridge@7.5.4': - resolution: {integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==} - engines: {node: '>=18'} + "@polkadot/util": 14.0.1 + + "@polkadot/util@14.0.1": + resolution: + { + integrity: sha512-764HhxkPV3x5rM0/p6QdynC2dw26n+SaE+jisjx556ViCd4E28Ke4xSPef6C0Spy4aoXf2gt0PuLEcBvd6fVZg==, + } + engines: { node: ">=18" } + + "@polkadot/wasm-bridge@7.5.4": + resolution: + { + integrity: sha512-6xaJVvoZbnbgpQYXNw9OHVNWjXmtcoPcWh7hlwx3NpfiLkkjljj99YS+XGZQlq7ks2fVCg7FbfknkNb8PldDaA==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-crypto-asmjs@7.5.4': - resolution: {integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==} - engines: {node: '>=18'} + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-asmjs@7.5.4": + resolution: + { + integrity: sha512-ZYwxQHAJ8pPt6kYk9XFmyuFuSS+yirJLonvP+DYbxOrARRUHfN4nzp4zcZNXUuaFhpbDobDSFn6gYzye6BUotA==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - - '@polkadot/wasm-crypto-init@7.5.4': - resolution: {integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==} - engines: {node: '>=18'} + "@polkadot/util": "*" + + "@polkadot/wasm-crypto-init@7.5.4": + resolution: + { + integrity: sha512-U6s4Eo2rHs2n1iR01vTz/sOQ7eOnRPjaCsGWhPV+ZC/20hkVzwPAhiizu/IqMEol4tO2yiSheD4D6bn0KxUJhg==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-crypto-wasm@7.5.4': - resolution: {integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==} - engines: {node: '>=18'} + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-crypto-wasm@7.5.4": + resolution: + { + integrity: sha512-PsHgLsVTu43eprwSvUGnxybtOEuHPES6AbApcs7y5ZbM2PiDMzYbAjNul098xJK/CPtrxZ0ePDFnaQBmIJyTFw==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - - '@polkadot/wasm-crypto@7.5.4': - resolution: {integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==} - engines: {node: '>=18'} + "@polkadot/util": "*" + + "@polkadot/wasm-crypto@7.5.4": + resolution: + { + integrity: sha512-1seyClxa7Jd7kQjfnCzTTTfYhTa/KUTDUaD3DMHBk5Q4ZUN1D1unJgX+v1aUeXSPxmzocdZETPJJRZjhVOqg9g==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - '@polkadot/x-randomvalues': '*' - - '@polkadot/wasm-util@7.5.4': - resolution: {integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==} - engines: {node: '>=18'} + "@polkadot/util": "*" + "@polkadot/x-randomvalues": "*" + + "@polkadot/wasm-util@7.5.4": + resolution: + { + integrity: sha512-hqPpfhCpRAqCIn/CYbBluhh0TXmwkJnDRjxrU9Bnqtw9nMNa97D8JuOjdd2pi0rxm+eeLQ/f1rQMp71RMM9t4w==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': '*' - - '@polkadot/x-bigint@14.0.1': - resolution: {integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==} - engines: {node: '>=18'} - - '@polkadot/x-global@14.0.1': - resolution: {integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==} - engines: {node: '>=18'} - - '@polkadot/x-randomvalues@14.0.1': - resolution: {integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==} - engines: {node: '>=18'} + "@polkadot/util": "*" + + "@polkadot/x-bigint@14.0.1": + resolution: + { + integrity: sha512-gfozjGnebr2rqURs31KtaWumbW4rRZpbiluhlmai6luCNrf5u8pB+oLA35kPEntrsLk9PnIG9OsC/n4hEtx4OQ==, + } + engines: { node: ">=18" } + + "@polkadot/x-global@14.0.1": + resolution: + { + integrity: sha512-aCI44DJU4fU0XXqrrSGIpi7JrZXK2kpe0jaQ2p6oDVXOOYEnZYXnMhTTmBE1lF/xtxzX50MnZrrU87jziU0qbA==, + } + engines: { node: ">=18" } + + "@polkadot/x-randomvalues@14.0.1": + resolution: + { + integrity: sha512-/XkQcvshzJLHITuPrN3zmQKuFIPdKWoaiHhhVLD6rQWV60lTXA3ajw3ocju8ZN7xRxnweMS9Ce0kMPYa0NhRMg==, + } + engines: { node: ">=18" } peerDependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': '*' - - '@polkadot/x-textdecoder@14.0.1': - resolution: {integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==} - engines: {node: '>=18'} - - '@polkadot/x-textencoder@14.0.1': - resolution: {integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==} - engines: {node: '>=18'} - - '@rollup/rollup-android-arm-eabi@4.57.1': - resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": "*" + + "@polkadot/x-textdecoder@14.0.1": + resolution: + { + integrity: sha512-CcWiPCuPVJsNk4Vq43lgFHqLRBQHb4r9RD7ZIYgmwoebES8TNm4g2ew9ToCzakFKSpzKu6I07Ne9wv/dt5zLuw==, + } + engines: { node: ">=18" } + + "@polkadot/x-textencoder@14.0.1": + resolution: + { + integrity: sha512-VY51SpQmF1ccmAGLfxhYnAe95Spfz049WZ/+kK4NfsGF9WejxVdU53Im5C80l45r8qHuYQsCWU3+t0FNunh2Kg==, + } + engines: { node: ">=18" } + + "@rollup/rollup-android-arm-eabi@4.57.1": + resolution: + { + integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==, + } cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.57.1': - resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} + "@rollup/rollup-android-arm64@4.57.1": + resolution: + { + integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==, + } cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.57.1': - resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} + "@rollup/rollup-darwin-arm64@4.57.1": + resolution: + { + integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==, + } cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.57.1': - resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} + "@rollup/rollup-darwin-x64@4.57.1": + resolution: + { + integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==, + } cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.57.1': - resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} + "@rollup/rollup-freebsd-arm64@4.57.1": + resolution: + { + integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==, + } cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.57.1': - resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} + "@rollup/rollup-freebsd-x64@4.57.1": + resolution: + { + integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==, + } cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': - resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": + resolution: + { + integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==, + } cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.57.1': - resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} + "@rollup/rollup-linux-arm-musleabihf@4.57.1": + resolution: + { + integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==, + } cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.57.1': - resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} + "@rollup/rollup-linux-arm64-gnu@4.57.1": + resolution: + { + integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==, + } cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.57.1': - resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} + "@rollup/rollup-linux-arm64-musl@4.57.1": + resolution: + { + integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==, + } cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.57.1': - resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} + "@rollup/rollup-linux-loong64-gnu@4.57.1": + resolution: + { + integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==, + } cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.57.1': - resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} + "@rollup/rollup-linux-loong64-musl@4.57.1": + resolution: + { + integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==, + } cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.57.1': - resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} + "@rollup/rollup-linux-ppc64-gnu@4.57.1": + resolution: + { + integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==, + } cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.57.1': - resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} + "@rollup/rollup-linux-ppc64-musl@4.57.1": + resolution: + { + integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==, + } cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.57.1': - resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} + "@rollup/rollup-linux-riscv64-gnu@4.57.1": + resolution: + { + integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==, + } cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.57.1': - resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} + "@rollup/rollup-linux-riscv64-musl@4.57.1": + resolution: + { + integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==, + } cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.57.1': - resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} + "@rollup/rollup-linux-s390x-gnu@4.57.1": + resolution: + { + integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==, + } cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.57.1': - resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} + "@rollup/rollup-linux-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==, + } cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.57.1': - resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} + "@rollup/rollup-linux-x64-musl@4.57.1": + resolution: + { + integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==, + } cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-openbsd-x64@4.57.1': - resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} + "@rollup/rollup-openbsd-x64@4.57.1": + resolution: + { + integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==, + } cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.57.1': - resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} + "@rollup/rollup-openharmony-arm64@4.57.1": + resolution: + { + integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==, + } cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.57.1': - resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} + "@rollup/rollup-win32-arm64-msvc@4.57.1": + resolution: + { + integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==, + } cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.57.1': - resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} + "@rollup/rollup-win32-ia32-msvc@4.57.1": + resolution: + { + integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==, + } cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.57.1': - resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} + "@rollup/rollup-win32-x64-gnu@4.57.1": + resolution: + { + integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==, + } cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.57.1': - resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} + "@rollup/rollup-win32-x64-msvc@4.57.1": + resolution: + { + integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==, + } cpu: [x64] os: [win32] - '@rx-state/core@0.1.4': - resolution: {integrity: sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ==} + "@rx-state/core@0.1.4": + resolution: + { + integrity: sha512-Z+3hjU2xh1HisLxt+W5hlYX/eGSDaXXP+ns82gq/PLZpkXLu0uwcNUh9RLY3Clq4zT+hSsA3vcpIGt6+UAb8rQ==, + } peerDependencies: - rxjs: '>=7' - - '@scure/base@1.2.6': - resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - - '@scure/base@2.0.0': - resolution: {integrity: sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==} - - '@scure/sr25519@0.2.0': - resolution: {integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==} - - '@scure/sr25519@0.3.0': - resolution: {integrity: sha512-SKsinX2sImunfcsH3seGrwH/OayBwwaJqVN8J1cJBNRCfbBq5q0jyTKGa9PcW1HWv9vXT6Yuq41JsxFLvF59ew==} - engines: {node: '>= 20.19.0'} - - '@scure/sr25519@1.0.0': - resolution: {integrity: sha512-b+uhK5akMINXZP95F3gJGcb5CMKYxf+q55fwMl0GoBwZDbWolmGNi1FrBSwuaZX5AhqS2byHiAueZgtDNpot2A==} - engines: {node: '>= 20.19.0'} - - '@sec-ant/readable-stream@0.4.1': - resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - - '@substrate/ss58-registry@1.51.0': - resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==} - - '@types/bn.js@5.2.0': - resolution: {integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==} - - '@types/chai@5.2.3': - resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/node@24.10.13': - resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} - - '@types/node@25.3.0': - resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - - '@vitest/expect@4.0.18': - resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - - '@vitest/mocker@4.0.18': - resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} + rxjs: ">=7" + + "@scure/base@1.2.6": + resolution: + { + integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==, + } + + "@scure/base@2.0.0": + resolution: + { + integrity: sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==, + } + + "@scure/sr25519@0.2.0": + resolution: + { + integrity: sha512-uUuLP7Z126XdSizKtrCGqYyR3b3hYtJ6Fg/XFUXmc2//k2aXHDLqZwFeXxL97gg4XydPROPVnuaHGF2+xriSKg==, + } + + "@scure/sr25519@0.3.0": + resolution: + { + integrity: sha512-SKsinX2sImunfcsH3seGrwH/OayBwwaJqVN8J1cJBNRCfbBq5q0jyTKGa9PcW1HWv9vXT6Yuq41JsxFLvF59ew==, + } + engines: { node: ">= 20.19.0" } + + "@scure/sr25519@1.0.0": + resolution: + { + integrity: sha512-b+uhK5akMINXZP95F3gJGcb5CMKYxf+q55fwMl0GoBwZDbWolmGNi1FrBSwuaZX5AhqS2byHiAueZgtDNpot2A==, + } + engines: { node: ">= 20.19.0" } + + "@sec-ant/readable-stream@0.4.1": + resolution: + { + integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==, + } + + "@sindresorhus/merge-streams@4.0.0": + resolution: + { + integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==, + } + engines: { node: ">=18" } + + "@standard-schema/spec@1.1.0": + resolution: + { + integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==, + } + + "@substrate/ss58-registry@1.51.0": + resolution: + { + integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==, + } + + "@types/bn.js@5.2.0": + resolution: + { + integrity: sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==, + } + + "@types/chai@5.2.3": + resolution: + { + integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==, + } + + "@types/deep-eql@4.0.2": + resolution: + { + integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==, + } + + "@types/estree@1.0.8": + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + "@types/node@24.10.13": + resolution: + { + integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==, + } + + "@types/node@25.3.0": + resolution: + { + integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==, + } + + "@types/normalize-package-data@2.4.4": + resolution: + { + integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, + } + + "@types/ws@8.18.1": + resolution: + { + integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==, + } + + "@vitest/expect@4.0.18": + resolution: + { + integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==, + } + + "@vitest/mocker@4.0.18": + resolution: + { + integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==, + } peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -874,133 +1328,229 @@ packages: vite: optional: true - '@vitest/pretty-format@4.0.18': - resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - - '@vitest/runner@4.0.18': - resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - - '@vitest/snapshot@4.0.18': - resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - - '@vitest/spy@4.0.18': - resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - - '@vitest/utils@4.0.18': - resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + "@vitest/pretty-format@4.0.18": + resolution: + { + integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==, + } + + "@vitest/runner@4.0.18": + resolution: + { + integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==, + } + + "@vitest/snapshot@4.0.18": + resolution: + { + integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==, + } + + "@vitest/spy@4.0.18": + resolution: + { + integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==, + } + + "@vitest/utils@4.0.18": + resolution: + { + integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==, + } acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==, + } + engines: { node: ">=0.4.0" } hasBin: true ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, + } + engines: { node: ">=12" } any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + resolution: + { + integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, + } assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==, + } + engines: { node: ">=12" } bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + resolution: + { + integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==, + } bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } peerDependencies: - esbuild: '>=0.18' + esbuild: ">=0.18" cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } chai@6.2.2: - resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, + } + engines: { node: ">=18" } chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { + integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} + resolution: + { + integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==, + } + engines: { node: ">= 14.16.0" } cli-cursor@5.0.0: - resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, + } + engines: { node: ">=18" } cli-spinners@3.4.0: - resolution: {integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==} - engines: {node: '>=18.20'} + resolution: + { + integrity: sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==, + } + engines: { node: ">=18.20" } commander@14.0.3: - resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==, + } + engines: { node: ">=20" } commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==, + } + engines: { node: ">= 6" } confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + resolution: + { + integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==, + } consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} + resolution: + { + integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==, + } + engines: { node: ^14.18.0 || >=16.10.0 } cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: ">= 8" } debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } peerDependencies: - supports-color: '*' + supports-color: "*" peerDependenciesMeta: supports-color: optional: true deepmerge-ts@7.1.5: - resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==, + } + engines: { node: ">=16.0.0" } detect-indent@7.0.2: - resolution: {integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A==, + } + engines: { node: ">=12.20" } es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + resolution: + { + integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + } esbuild@0.25.12: - resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==, + } + engines: { node: ">=18" } hasBin: true esbuild@0.27.3: - resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==, + } + engines: { node: ">=18" } hasBin: true estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } execa@9.6.1: - resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} - engines: {node: ^18.19.0 || >=20.5.0} + resolution: + { + integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==, + } + engines: { node: ^18.19.0 || >=20.5.0 } expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, + } + engines: { node: ">=12.0.0" } fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -1008,199 +1558,352 @@ packages: optional: true figures@6.1.0: - resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==, + } + engines: { node: ">=18" } fix-dts-default-cjs-exports@1.0.1: - resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + resolution: + { + integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==, + } fs.promises.exists@1.1.4: - resolution: {integrity: sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==} + resolution: + { + integrity: sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==, + } fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==, + } + engines: { node: ">=18" } get-stream@9.0.1: - resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==, + } + engines: { node: ">=18" } get-tsconfig@4.13.6: - resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} + resolution: + { + integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==, + } hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} + resolution: + { + integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==, + } + engines: { node: ^16.14.0 || >=18.0.0 } hosted-git-info@9.0.2: - resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==, + } + engines: { node: ^20.17.0 || >=22.9.0 } human-signals@8.0.1: - resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} - engines: {node: '>=18.18.0'} + resolution: + { + integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==, + } + engines: { node: ">=18.18.0" } imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } index-to-position@1.2.0: - resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==, + } + engines: { node: ">=18" } is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, + } + engines: { node: ">=12" } is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, + } + engines: { node: ">=12" } is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==, + } + engines: { node: ">=18" } is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==, + } + engines: { node: ">=18" } isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==, + } + engines: { node: ">=14" } lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } log-symbols@7.0.1: - resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==, + } + engines: { node: ">=18" } lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + resolution: + { + integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, + } lru-cache@11.2.6: - resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} - engines: {node: 20 || >=22} + resolution: + { + integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==, + } + engines: { node: 20 || >=22 } magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + resolution: + { + integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + } mimic-function@5.0.1: - resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: ">=18" } mlkem@2.5.0: - resolution: {integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-TnSvGBs0EVPukQcdPF0882ZoYXYuD2rb+VgO0kUDbFi/XM1rJOwnQoFW3wGGuc3nG3AT/zp3oWJ86W7ewwKYyA==, + } + engines: { node: ">=16.0.0" } mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + resolution: + { + integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==, + } ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + resolution: + { + integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, + } nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true normalize-package-data@6.0.2: - resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} - engines: {node: ^16.14.0 || >=18.0.0} + resolution: + { + integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==, + } + engines: { node: ^16.14.0 || >=18.0.0 } normalize-package-data@8.0.0: - resolution: {integrity: sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==} - engines: {node: ^20.17.0 || >=22.9.0} + resolution: + { + integrity: sha512-RWk+PI433eESQ7ounYxIp67CYuVsS1uYSonX3kA6ps/3LWfjVQa/ptEg6Y3T6uAMq1mWpX9PQ+qx+QaHpsc7gQ==, + } + engines: { node: ^20.17.0 || >=22.9.0 } npm-run-path@6.0.0: - resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==, + } + engines: { node: ">=18" } object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, + } + engines: { node: ">=0.10.0" } obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + resolution: + { + integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==, + } onetime@7.0.0: - resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, + } + engines: { node: ">=18" } ora@9.3.0: - resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==, + } + engines: { node: ">=20" } parse-json@8.3.0: - resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==, + } + engines: { node: ">=18" } parse-ms@4.0.0: - resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==, + } + engines: { node: ">=18" } path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + resolution: + { + integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, + } picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: ">=12" } pirates@4.0.7: - resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==, + } + engines: { node: ">= 6" } pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + resolution: + { + integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==, + } polkadot-api@1.23.3: - resolution: {integrity: sha512-wOWli6Cfk3bO1u/W8qmwriCIKxATkNea8Jyg1jj7GzAqafxy295BYPzYHy2mJZCQ0PAVFPR4/JvCXocTLBsp5A==} + resolution: + { + integrity: sha512-wOWli6Cfk3bO1u/W8qmwriCIKxATkNea8Jyg1jj7GzAqafxy295BYPzYHy2mJZCQ0PAVFPR4/JvCXocTLBsp5A==, + } hasBin: true peerDependencies: - rxjs: '>=7.8.0' + rxjs: ">=7.8.0" postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==, + } + engines: { node: ">= 18" } peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' + jiti: ">=1.21.0" + postcss: ">=8.0.9" tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: @@ -1214,192 +1917,333 @@ packages: optional: true postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==, + } + engines: { node: ^10 || ^12 || >=14 } prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==, + } + engines: { node: ">=14" } hasBin: true pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==, + } + engines: { node: ">=18" } punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } read-pkg@10.1.0: - resolution: {integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-I8g2lArQiP78ll51UeMZojewtYgIRCKCWqZEgOO8c/uefTI+XDXvCSXu3+YNUaTNvZzobrL5+SqHjBrByRRTdg==, + } + engines: { node: ">=20" } read-pkg@9.0.1: - resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==, + } + engines: { node: ">=18" } readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} + resolution: + { + integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, + } + engines: { node: ">= 14.18.0" } resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, + } + engines: { node: ">=8" } resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } restore-cursor@5.1.0: - resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, + } + engines: { node: ">=18" } rollup@4.57.1: - resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + resolution: + { + integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } hasBin: true rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + resolution: + { + integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==, + } scale-ts@1.6.1: - resolution: {integrity: sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==} + resolution: + { + integrity: sha512-PBMc2AWc6wSEqJYBDPcyCLUj9/tMKnLX70jLOSndMtcUoLQucP/DM0vnQo1wJAYjTrQiq8iG9rD0q6wFzgjH7g==, + } semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, + } + engines: { node: ">=10" } hasBin: true shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } smoldot@2.0.40: - resolution: {integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==} + resolution: + { + integrity: sha512-h6XC/kKDLdZBBTI0X8y4ZxmaZ2KYVVB0+5isCQm6j26ljeNjHZUDOV+hf8VyoE23+jg00wrxNJ2IVcIAURxwtg==, + } sort-keys@5.1.0: - resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==, + } + engines: { node: ">=12" } source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, + } + engines: { node: ">=0.10.0" } source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, + } + engines: { node: ">= 8" } deprecated: The work that was done in this beta branch won't be included in future versions spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { + integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, + } spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + resolution: + { + integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, + } spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, + } spdx-license-ids@3.0.23: - resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + resolution: + { + integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==, + } stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + resolution: + { + integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, + } stdin-discarder@0.3.1: - resolution: {integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==, + } + engines: { node: ">=18" } string-width@8.1.1: - resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==, + } + engines: { node: ">=20" } strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==, + } + engines: { node: ">=12" } strip-final-newline@4.0.0: - resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==, + } + engines: { node: ">=18" } sucrase@3.35.1: - resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==, + } + engines: { node: ">=16 || 14 >=14.17" } hasBin: true tagged-tag@1.0.0: - resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==, + } + engines: { node: ">=20" } thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, + } + engines: { node: ">=0.8" } thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + resolution: + { + integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, + } tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + resolution: + { + integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, + } tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + resolution: + { + integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, + } tinyexec@1.0.2: - resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==, + } + engines: { node: ">=18" } tinyglobby@0.2.15: - resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: ">=12.0.0" } tinyrainbow@3.0.3: - resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==, + } + engines: { node: ">=14.0.0" } tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + resolution: + { + integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, + } tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + resolution: + { + integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, + } hasBin: true ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + resolution: + { + integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, + } tsc-prog@2.3.0: - resolution: {integrity: sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA==, + } + engines: { node: ">=12" } peerDependencies: - typescript: '>=4' + typescript: ">=4" tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + resolution: + { + integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, + } tsup@8.5.0: - resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==, + } + engines: { node: ">=18" } hasBin: true peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 + "@microsoft/api-extractor": ^7.36.0 + "@swc/core": ^1 postcss: ^8.4.12 - typescript: '>=4.5.0' + typescript: ">=4.5.0" peerDependenciesMeta: - '@microsoft/api-extractor': + "@microsoft/api-extractor": optional: true - '@swc/core': + "@swc/core": optional: true postcss: optional: true @@ -1407,65 +2251,101 @@ packages: optional: true tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==, + } + engines: { node: ">=18.0.0" } hasBin: true type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==, + } + engines: { node: ">=16" } type-fest@5.4.4: - resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==, + } + engines: { node: ">=20" } typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} + resolution: + { + integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==, + } + engines: { node: ">=14.17" } hasBin: true ufo@1.6.3: - resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + resolution: + { + integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==, + } undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + resolution: + { + integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==, + } undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + resolution: + { + integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==, + } unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==, + } + engines: { node: ">=18" } unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==, + } + engines: { node: ">=18" } unicorn-magic@0.4.0: - resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} - engines: {node: '>=20'} + resolution: + { + integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==, + } + engines: { node: ">=20" } validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, + } vite@7.3.1: - resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} - engines: {node: ^20.19.0 || >=22.12.0} + resolution: + { + integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==, + } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" less: ^4.0.0 lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 - stylus: '>=0.54.8' + stylus: ">=0.54.8" sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 peerDependenciesMeta: - '@types/node': + "@types/node": optional: true jiti: optional: true @@ -1489,33 +2369,36 @@ packages: optional: true vitest@4.0.18: - resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + resolution: + { + integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==, + } + engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } hasBin: true peerDependencies: - '@edge-runtime/vm': '*' - '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.18 - '@vitest/browser-preview': 4.0.18 - '@vitest/browser-webdriverio': 4.0.18 - '@vitest/ui': 4.0.18 - happy-dom: '*' - jsdom: '*' + "@edge-runtime/vm": "*" + "@opentelemetry/api": ^1.9.0 + "@types/node": ^20.0.0 || ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 4.0.18 + "@vitest/browser-preview": 4.0.18 + "@vitest/browser-webdriverio": 4.0.18 + "@vitest/ui": 4.0.18 + happy-dom: "*" + jsdom: "*" peerDependenciesMeta: - '@edge-runtime/vm': + "@edge-runtime/vm": optional: true - '@opentelemetry/api': + "@opentelemetry/api": optional: true - '@types/node': + "@types/node": optional: true - '@vitest/browser-playwright': + "@vitest/browser-playwright": optional: true - '@vitest/browser-preview': + "@vitest/browser-preview": optional: true - '@vitest/browser-webdriverio': + "@vitest/browser-webdriverio": optional: true - '@vitest/ui': + "@vitest/ui": optional: true happy-dom: optional: true @@ -1523,39 +2406,63 @@ packages: optional: true webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + resolution: + { + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, + } whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + resolution: + { + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, + } which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } hasBin: true why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + } + engines: { node: ">=8" } hasBin: true write-file-atomic@5.0.1: - resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { + integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } write-json-file@6.0.0: - resolution: {integrity: sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA==, + } + engines: { node: ">=18" } write-package@7.2.0: - resolution: {integrity: sha512-uMQTubF/vcu+Wd0b5BGtDmiXePd/+44hUWQz2nZPbs92/BnxRo74tqs+hqDo12RLiEd+CXFKUwxvvIZvtt34Jw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-uMQTubF/vcu+Wd0b5BGtDmiXePd/+44hUWQz2nZPbs92/BnxRo74tqs+hqDo12RLiEd+CXFKUwxvvIZvtt34Jw==, + } + engines: { node: ">=18" } ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==, + } + engines: { node: ">=10.0.0" } peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true @@ -1563,226 +2470,228 @@ packages: optional: true yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==, + } + engines: { node: ">=18" } snapshots: - - '@babel/code-frame@7.29.0': + "@babel/code-frame@7.29.0": dependencies: - '@babel/helper-validator-identifier': 7.28.5 + "@babel/helper-validator-identifier": 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-validator-identifier@7.28.5': {} + "@babel/helper-validator-identifier@7.28.5": {} - '@commander-js/extra-typings@14.0.0(commander@14.0.3)': + "@commander-js/extra-typings@14.0.0(commander@14.0.3)": dependencies: commander: 14.0.3 - '@esbuild/aix-ppc64@0.25.12': + "@esbuild/aix-ppc64@0.25.12": optional: true - '@esbuild/aix-ppc64@0.27.3': + "@esbuild/aix-ppc64@0.27.3": optional: true - '@esbuild/android-arm64@0.25.12': + "@esbuild/android-arm64@0.25.12": optional: true - '@esbuild/android-arm64@0.27.3': + "@esbuild/android-arm64@0.27.3": optional: true - '@esbuild/android-arm@0.25.12': + "@esbuild/android-arm@0.25.12": optional: true - '@esbuild/android-arm@0.27.3': + "@esbuild/android-arm@0.27.3": optional: true - '@esbuild/android-x64@0.25.12': + "@esbuild/android-x64@0.25.12": optional: true - '@esbuild/android-x64@0.27.3': + "@esbuild/android-x64@0.27.3": optional: true - '@esbuild/darwin-arm64@0.25.12': + "@esbuild/darwin-arm64@0.25.12": optional: true - '@esbuild/darwin-arm64@0.27.3': + "@esbuild/darwin-arm64@0.27.3": optional: true - '@esbuild/darwin-x64@0.25.12': + "@esbuild/darwin-x64@0.25.12": optional: true - '@esbuild/darwin-x64@0.27.3': + "@esbuild/darwin-x64@0.27.3": optional: true - '@esbuild/freebsd-arm64@0.25.12': + "@esbuild/freebsd-arm64@0.25.12": optional: true - '@esbuild/freebsd-arm64@0.27.3': + "@esbuild/freebsd-arm64@0.27.3": optional: true - '@esbuild/freebsd-x64@0.25.12': + "@esbuild/freebsd-x64@0.25.12": optional: true - '@esbuild/freebsd-x64@0.27.3': + "@esbuild/freebsd-x64@0.27.3": optional: true - '@esbuild/linux-arm64@0.25.12': + "@esbuild/linux-arm64@0.25.12": optional: true - '@esbuild/linux-arm64@0.27.3': + "@esbuild/linux-arm64@0.27.3": optional: true - '@esbuild/linux-arm@0.25.12': + "@esbuild/linux-arm@0.25.12": optional: true - '@esbuild/linux-arm@0.27.3': + "@esbuild/linux-arm@0.27.3": optional: true - '@esbuild/linux-ia32@0.25.12': + "@esbuild/linux-ia32@0.25.12": optional: true - '@esbuild/linux-ia32@0.27.3': + "@esbuild/linux-ia32@0.27.3": optional: true - '@esbuild/linux-loong64@0.25.12': + "@esbuild/linux-loong64@0.25.12": optional: true - '@esbuild/linux-loong64@0.27.3': + "@esbuild/linux-loong64@0.27.3": optional: true - '@esbuild/linux-mips64el@0.25.12': + "@esbuild/linux-mips64el@0.25.12": optional: true - '@esbuild/linux-mips64el@0.27.3': + "@esbuild/linux-mips64el@0.27.3": optional: true - '@esbuild/linux-ppc64@0.25.12': + "@esbuild/linux-ppc64@0.25.12": optional: true - '@esbuild/linux-ppc64@0.27.3': + "@esbuild/linux-ppc64@0.27.3": optional: true - '@esbuild/linux-riscv64@0.25.12': + "@esbuild/linux-riscv64@0.25.12": optional: true - '@esbuild/linux-riscv64@0.27.3': + "@esbuild/linux-riscv64@0.27.3": optional: true - '@esbuild/linux-s390x@0.25.12': + "@esbuild/linux-s390x@0.25.12": optional: true - '@esbuild/linux-s390x@0.27.3': + "@esbuild/linux-s390x@0.27.3": optional: true - '@esbuild/linux-x64@0.25.12': + "@esbuild/linux-x64@0.25.12": optional: true - '@esbuild/linux-x64@0.27.3': + "@esbuild/linux-x64@0.27.3": optional: true - '@esbuild/netbsd-arm64@0.25.12': + "@esbuild/netbsd-arm64@0.25.12": optional: true - '@esbuild/netbsd-arm64@0.27.3': + "@esbuild/netbsd-arm64@0.27.3": optional: true - '@esbuild/netbsd-x64@0.25.12': + "@esbuild/netbsd-x64@0.25.12": optional: true - '@esbuild/netbsd-x64@0.27.3': + "@esbuild/netbsd-x64@0.27.3": optional: true - '@esbuild/openbsd-arm64@0.25.12': + "@esbuild/openbsd-arm64@0.25.12": optional: true - '@esbuild/openbsd-arm64@0.27.3': + "@esbuild/openbsd-arm64@0.27.3": optional: true - '@esbuild/openbsd-x64@0.25.12': + "@esbuild/openbsd-x64@0.25.12": optional: true - '@esbuild/openbsd-x64@0.27.3': + "@esbuild/openbsd-x64@0.27.3": optional: true - '@esbuild/openharmony-arm64@0.25.12': + "@esbuild/openharmony-arm64@0.25.12": optional: true - '@esbuild/openharmony-arm64@0.27.3': + "@esbuild/openharmony-arm64@0.27.3": optional: true - '@esbuild/sunos-x64@0.25.12': + "@esbuild/sunos-x64@0.25.12": optional: true - '@esbuild/sunos-x64@0.27.3': + "@esbuild/sunos-x64@0.27.3": optional: true - '@esbuild/win32-arm64@0.25.12': + "@esbuild/win32-arm64@0.25.12": optional: true - '@esbuild/win32-arm64@0.27.3': + "@esbuild/win32-arm64@0.27.3": optional: true - '@esbuild/win32-ia32@0.25.12': + "@esbuild/win32-ia32@0.25.12": optional: true - '@esbuild/win32-ia32@0.27.3': + "@esbuild/win32-ia32@0.27.3": optional: true - '@esbuild/win32-x64@0.25.12': + "@esbuild/win32-x64@0.25.12": optional: true - '@esbuild/win32-x64@0.27.3': + "@esbuild/win32-x64@0.27.3": optional: true - '@jridgewell/gen-mapping@0.3.13': + "@jridgewell/gen-mapping@0.3.13": dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 + "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/trace-mapping": 0.3.31 - '@jridgewell/resolve-uri@3.1.2': {} + "@jridgewell/resolve-uri@3.1.2": {} - '@jridgewell/sourcemap-codec@1.5.5': {} + "@jridgewell/sourcemap-codec@1.5.5": {} - '@jridgewell/trace-mapping@0.3.31': + "@jridgewell/trace-mapping@0.3.31": dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.5.5 - '@noble/ciphers@2.1.1': {} + "@noble/ciphers@2.1.1": {} - '@noble/curves@1.9.7': + "@noble/curves@1.9.7": dependencies: - '@noble/hashes': 1.8.0 + "@noble/hashes": 1.8.0 - '@noble/curves@2.0.1': + "@noble/curves@2.0.1": dependencies: - '@noble/hashes': 2.0.1 + "@noble/hashes": 2.0.1 - '@noble/hashes@1.8.0': {} + "@noble/hashes@1.8.0": {} - '@noble/hashes@2.0.1': {} + "@noble/hashes@2.0.1": {} - '@polkadot-api/cli@0.18.1(postcss@8.5.6)(tsx@4.21.0)': + "@polkadot-api/cli@0.18.1(postcss@8.5.6)(tsx@4.21.0)": dependencies: - '@commander-js/extra-typings': 14.0.0(commander@14.0.3) - '@polkadot-api/codegen': 0.21.2 - '@polkadot-api/ink-contracts': 0.4.6 - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/known-chains': 0.9.18 - '@polkadot-api/legacy-provider': 0.3.8(rxjs@7.8.2) - '@polkadot-api/metadata-compatibility': 0.4.4 - '@polkadot-api/observable-client': 0.17.3(rxjs@7.8.2) - '@polkadot-api/polkadot-sdk-compat': 2.4.1 - '@polkadot-api/sm-provider': 0.1.16(@polkadot-api/smoldot@0.3.15) - '@polkadot-api/smoldot': 0.3.15 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/substrate-client': 0.5.0 - '@polkadot-api/utils': 0.2.0 - '@polkadot-api/wasm-executor': 0.2.3 - '@polkadot-api/ws-provider': 0.7.5 - '@types/node': 25.3.0 + "@commander-js/extra-typings": 14.0.0(commander@14.0.3) + "@polkadot-api/codegen": 0.21.2 + "@polkadot-api/ink-contracts": 0.4.6 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/known-chains": 0.9.18 + "@polkadot-api/legacy-provider": 0.3.8(rxjs@7.8.2) + "@polkadot-api/metadata-compatibility": 0.4.4 + "@polkadot-api/observable-client": 0.17.3(rxjs@7.8.2) + "@polkadot-api/polkadot-sdk-compat": 2.4.1 + "@polkadot-api/sm-provider": 0.1.16(@polkadot-api/smoldot@0.3.15) + "@polkadot-api/smoldot": 0.3.15 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/substrate-client": 0.5.0 + "@polkadot-api/utils": 0.2.0 + "@polkadot-api/wasm-executor": 0.2.3 + "@polkadot-api/ws-provider": 0.7.5 + "@types/node": 25.3.0 commander: 14.0.3 execa: 9.6.1 fs.promises.exists: 1.1.4 @@ -1794,8 +2703,8 @@ snapshots: typescript: 5.9.3 write-package: 7.2.0 transitivePeerDependencies: - - '@microsoft/api-extractor' - - '@swc/core' + - "@microsoft/api-extractor" + - "@swc/core" - bufferutil - jiti - postcss @@ -1804,437 +2713,437 @@ snapshots: - utf-8-validate - yaml - '@polkadot-api/codegen@0.21.2': + "@polkadot-api/codegen@0.21.2": dependencies: - '@polkadot-api/ink-contracts': 0.4.6 - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/metadata-compatibility': 0.4.4 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/ink-contracts": 0.4.6 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/metadata-compatibility": 0.4.4 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0))': + "@polkadot-api/descriptors@file:.papi/descriptors(polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0))": dependencies: polkadot-api: 1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0) - '@polkadot-api/ink-contracts@0.4.6': + "@polkadot-api/ink-contracts@0.4.6": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/json-rpc-provider-proxy@0.2.8': {} + "@polkadot-api/json-rpc-provider-proxy@0.2.8": {} - '@polkadot-api/json-rpc-provider@0.0.4': {} + "@polkadot-api/json-rpc-provider@0.0.4": {} - '@polkadot-api/known-chains@0.9.18': {} + "@polkadot-api/known-chains@0.9.18": {} - '@polkadot-api/legacy-provider@0.3.8(rxjs@7.8.2)': + "@polkadot-api/legacy-provider@0.3.8(rxjs@7.8.2)": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/raw-client': 0.1.1 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/raw-client": 0.1.1 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 rxjs: 7.8.2 - '@polkadot-api/logs-provider@0.0.6': + "@polkadot-api/logs-provider@0.0.6": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 + "@polkadot-api/json-rpc-provider": 0.0.4 - '@polkadot-api/merkleize-metadata@1.1.29': + "@polkadot-api/merkleize-metadata@1.1.29": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/metadata-builders@0.13.9': + "@polkadot-api/metadata-builders@0.13.9": dependencies: - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/metadata-compatibility@0.4.4': + "@polkadot-api/metadata-compatibility@0.4.4": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/substrate-bindings': 0.17.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/substrate-bindings": 0.17.0 - '@polkadot-api/observable-client@0.17.3(rxjs@7.8.2)': + "@polkadot-api/observable-client@0.17.3(rxjs@7.8.2)": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/substrate-client': 0.5.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/substrate-client": 0.5.0 + "@polkadot-api/utils": 0.2.0 rxjs: 7.8.2 - '@polkadot-api/pjs-signer@0.6.19': + "@polkadot-api/pjs-signer@0.6.19": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/polkadot-signer': 0.1.6 - '@polkadot-api/signers-common': 0.1.20 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signers-common": 0.1.20 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/polkadot-sdk-compat@2.4.1': + "@polkadot-api/polkadot-sdk-compat@2.4.1": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 + "@polkadot-api/json-rpc-provider": 0.0.4 - '@polkadot-api/polkadot-signer@0.1.6': {} + "@polkadot-api/polkadot-signer@0.1.6": {} - '@polkadot-api/raw-client@0.1.1': + "@polkadot-api/raw-client@0.1.1": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 + "@polkadot-api/json-rpc-provider": 0.0.4 - '@polkadot-api/signer@0.2.13': + "@polkadot-api/signer@0.2.13": dependencies: - '@noble/hashes': 2.0.1 - '@polkadot-api/merkleize-metadata': 1.1.29 - '@polkadot-api/polkadot-signer': 0.1.6 - '@polkadot-api/signers-common': 0.1.20 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@noble/hashes": 2.0.1 + "@polkadot-api/merkleize-metadata": 1.1.29 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signers-common": 0.1.20 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/signers-common@0.1.20': + "@polkadot-api/signers-common@0.1.20": dependencies: - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/polkadot-signer': 0.1.6 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/sm-provider@0.1.16(@polkadot-api/smoldot@0.3.15)': + "@polkadot-api/sm-provider@0.1.16(@polkadot-api/smoldot@0.3.15)": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/json-rpc-provider-proxy': 0.2.8 - '@polkadot-api/smoldot': 0.3.15 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/json-rpc-provider-proxy": 0.2.8 + "@polkadot-api/smoldot": 0.3.15 - '@polkadot-api/smoldot@0.3.15': + "@polkadot-api/smoldot@0.3.15": dependencies: - '@types/node': 24.10.13 + "@types/node": 24.10.13 smoldot: 2.0.40 transitivePeerDependencies: - bufferutil - utf-8-validate - '@polkadot-api/substrate-bindings@0.17.0': + "@polkadot-api/substrate-bindings@0.17.0": dependencies: - '@noble/hashes': 2.0.1 - '@polkadot-api/utils': 0.2.0 - '@scure/base': 2.0.0 + "@noble/hashes": 2.0.1 + "@polkadot-api/utils": 0.2.0 + "@scure/base": 2.0.0 scale-ts: 1.6.1 - '@polkadot-api/substrate-client@0.5.0': + "@polkadot-api/substrate-client@0.5.0": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/raw-client': 0.1.1 - '@polkadot-api/utils': 0.2.0 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/raw-client": 0.1.1 + "@polkadot-api/utils": 0.2.0 - '@polkadot-api/utils@0.2.0': {} + "@polkadot-api/utils@0.2.0": {} - '@polkadot-api/wasm-executor@0.2.3': {} + "@polkadot-api/wasm-executor@0.2.3": {} - '@polkadot-api/ws-provider@0.7.5': + "@polkadot-api/ws-provider@0.7.5": dependencies: - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/json-rpc-provider-proxy': 0.2.8 - '@types/ws': 8.18.1 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/json-rpc-provider-proxy": 0.2.8 + "@types/ws": 8.18.1 ws: 8.19.0 transitivePeerDependencies: - bufferutil - utf-8-validate - '@polkadot-labs/hdkd-helpers@0.0.25': + "@polkadot-labs/hdkd-helpers@0.0.25": dependencies: - '@noble/curves': 2.0.1 - '@noble/hashes': 2.0.1 - '@scure/base': 2.0.0 - '@scure/sr25519': 0.3.0 + "@noble/curves": 2.0.1 + "@noble/hashes": 2.0.1 + "@scure/base": 2.0.0 + "@scure/sr25519": 0.3.0 scale-ts: 1.6.1 - '@polkadot-labs/hdkd-helpers@0.0.27': + "@polkadot-labs/hdkd-helpers@0.0.27": dependencies: - '@noble/curves': 2.0.1 - '@noble/hashes': 2.0.1 - '@scure/base': 2.0.0 - '@scure/sr25519': 1.0.0 + "@noble/curves": 2.0.1 + "@noble/hashes": 2.0.1 + "@scure/base": 2.0.0 + "@scure/sr25519": 1.0.0 scale-ts: 1.6.1 - '@polkadot-labs/hdkd@0.0.25': + "@polkadot-labs/hdkd@0.0.25": dependencies: - '@polkadot-labs/hdkd-helpers': 0.0.27 + "@polkadot-labs/hdkd-helpers": 0.0.27 - '@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)': + "@polkadot/keyring@14.0.1(@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1))(@polkadot/util@14.0.1)": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/util-crypto': 14.0.1(@polkadot/util@14.0.1) + "@polkadot/util": 14.0.1 + "@polkadot/util-crypto": 14.0.1(@polkadot/util@14.0.1) tslib: 2.8.1 - '@polkadot/networks@14.0.1': + "@polkadot/networks@14.0.1": dependencies: - '@polkadot/util': 14.0.1 - '@substrate/ss58-registry': 1.51.0 + "@polkadot/util": 14.0.1 + "@substrate/ss58-registry": 1.51.0 tslib: 2.8.1 - '@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)': - dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@polkadot/networks': 14.0.1 - '@polkadot/util': 14.0.1 - '@polkadot/wasm-crypto': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-bigint': 14.0.1 - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) - '@scure/base': 1.2.6 - '@scure/sr25519': 0.2.0 + "@polkadot/util-crypto@14.0.1(@polkadot/util@14.0.1)": + dependencies: + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 + "@polkadot/networks": 14.0.1 + "@polkadot/util": 14.0.1 + "@polkadot/wasm-crypto": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@scure/base": 1.2.6 + "@scure/sr25519": 0.2.0 tslib: 2.8.1 - '@polkadot/util@14.0.1': + "@polkadot/util@14.0.1": dependencies: - '@polkadot/x-bigint': 14.0.1 - '@polkadot/x-global': 14.0.1 - '@polkadot/x-textdecoder': 14.0.1 - '@polkadot/x-textencoder': 14.0.1 - '@types/bn.js': 5.2.0 + "@polkadot/x-bigint": 14.0.1 + "@polkadot/x-global": 14.0.1 + "@polkadot/x-textdecoder": 14.0.1 + "@polkadot/x-textencoder": 14.0.1 + "@types/bn.js": 5.2.0 bn.js: 5.2.2 tslib: 2.8.1 - '@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + "@polkadot/wasm-bridge@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - '@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)': + "@polkadot/wasm-crypto-asmjs@7.5.4(@polkadot/util@14.0.1)": dependencies: - '@polkadot/util': 14.0.1 + "@polkadot/util": 14.0.1 tslib: 2.8.1 - '@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + "@polkadot/wasm-crypto-init@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - '@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)': + "@polkadot/wasm-crypto-wasm@7.5.4(@polkadot/util@14.0.1)": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) tslib: 2.8.1 - '@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))': + "@polkadot/wasm-crypto@7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)))": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-bridge': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-asmjs': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-crypto-init': 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) - '@polkadot/wasm-crypto-wasm': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-randomvalues': 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) + "@polkadot/util": 14.0.1 + "@polkadot/wasm-bridge": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-asmjs": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-crypto-init": 7.5.4(@polkadot/util@14.0.1)(@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))) + "@polkadot/wasm-crypto-wasm": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-randomvalues": 14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)) tslib: 2.8.1 - '@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)': + "@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1)": dependencies: - '@polkadot/util': 14.0.1 + "@polkadot/util": 14.0.1 tslib: 2.8.1 - '@polkadot/x-bigint@14.0.1': + "@polkadot/x-bigint@14.0.1": dependencies: - '@polkadot/x-global': 14.0.1 + "@polkadot/x-global": 14.0.1 tslib: 2.8.1 - '@polkadot/x-global@14.0.1': + "@polkadot/x-global@14.0.1": dependencies: tslib: 2.8.1 - '@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))': + "@polkadot/x-randomvalues@14.0.1(@polkadot/util@14.0.1)(@polkadot/wasm-util@7.5.4(@polkadot/util@14.0.1))": dependencies: - '@polkadot/util': 14.0.1 - '@polkadot/wasm-util': 7.5.4(@polkadot/util@14.0.1) - '@polkadot/x-global': 14.0.1 + "@polkadot/util": 14.0.1 + "@polkadot/wasm-util": 7.5.4(@polkadot/util@14.0.1) + "@polkadot/x-global": 14.0.1 tslib: 2.8.1 - '@polkadot/x-textdecoder@14.0.1': + "@polkadot/x-textdecoder@14.0.1": dependencies: - '@polkadot/x-global': 14.0.1 + "@polkadot/x-global": 14.0.1 tslib: 2.8.1 - '@polkadot/x-textencoder@14.0.1': + "@polkadot/x-textencoder@14.0.1": dependencies: - '@polkadot/x-global': 14.0.1 + "@polkadot/x-global": 14.0.1 tslib: 2.8.1 - '@rollup/rollup-android-arm-eabi@4.57.1': + "@rollup/rollup-android-arm-eabi@4.57.1": optional: true - '@rollup/rollup-android-arm64@4.57.1': + "@rollup/rollup-android-arm64@4.57.1": optional: true - '@rollup/rollup-darwin-arm64@4.57.1': + "@rollup/rollup-darwin-arm64@4.57.1": optional: true - '@rollup/rollup-darwin-x64@4.57.1': + "@rollup/rollup-darwin-x64@4.57.1": optional: true - '@rollup/rollup-freebsd-arm64@4.57.1': + "@rollup/rollup-freebsd-arm64@4.57.1": optional: true - '@rollup/rollup-freebsd-x64@4.57.1': + "@rollup/rollup-freebsd-x64@4.57.1": optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + "@rollup/rollup-linux-arm-gnueabihf@4.57.1": optional: true - '@rollup/rollup-linux-arm-musleabihf@4.57.1': + "@rollup/rollup-linux-arm-musleabihf@4.57.1": optional: true - '@rollup/rollup-linux-arm64-gnu@4.57.1': + "@rollup/rollup-linux-arm64-gnu@4.57.1": optional: true - '@rollup/rollup-linux-arm64-musl@4.57.1': + "@rollup/rollup-linux-arm64-musl@4.57.1": optional: true - '@rollup/rollup-linux-loong64-gnu@4.57.1': + "@rollup/rollup-linux-loong64-gnu@4.57.1": optional: true - '@rollup/rollup-linux-loong64-musl@4.57.1': + "@rollup/rollup-linux-loong64-musl@4.57.1": optional: true - '@rollup/rollup-linux-ppc64-gnu@4.57.1': + "@rollup/rollup-linux-ppc64-gnu@4.57.1": optional: true - '@rollup/rollup-linux-ppc64-musl@4.57.1': + "@rollup/rollup-linux-ppc64-musl@4.57.1": optional: true - '@rollup/rollup-linux-riscv64-gnu@4.57.1': + "@rollup/rollup-linux-riscv64-gnu@4.57.1": optional: true - '@rollup/rollup-linux-riscv64-musl@4.57.1': + "@rollup/rollup-linux-riscv64-musl@4.57.1": optional: true - '@rollup/rollup-linux-s390x-gnu@4.57.1': + "@rollup/rollup-linux-s390x-gnu@4.57.1": optional: true - '@rollup/rollup-linux-x64-gnu@4.57.1': + "@rollup/rollup-linux-x64-gnu@4.57.1": optional: true - '@rollup/rollup-linux-x64-musl@4.57.1': + "@rollup/rollup-linux-x64-musl@4.57.1": optional: true - '@rollup/rollup-openbsd-x64@4.57.1': + "@rollup/rollup-openbsd-x64@4.57.1": optional: true - '@rollup/rollup-openharmony-arm64@4.57.1': + "@rollup/rollup-openharmony-arm64@4.57.1": optional: true - '@rollup/rollup-win32-arm64-msvc@4.57.1': + "@rollup/rollup-win32-arm64-msvc@4.57.1": optional: true - '@rollup/rollup-win32-ia32-msvc@4.57.1': + "@rollup/rollup-win32-ia32-msvc@4.57.1": optional: true - '@rollup/rollup-win32-x64-gnu@4.57.1': + "@rollup/rollup-win32-x64-gnu@4.57.1": optional: true - '@rollup/rollup-win32-x64-msvc@4.57.1': + "@rollup/rollup-win32-x64-msvc@4.57.1": optional: true - '@rx-state/core@0.1.4(rxjs@7.8.2)': + "@rx-state/core@0.1.4(rxjs@7.8.2)": dependencies: rxjs: 7.8.2 - '@scure/base@1.2.6': {} + "@scure/base@1.2.6": {} - '@scure/base@2.0.0': {} + "@scure/base@2.0.0": {} - '@scure/sr25519@0.2.0': + "@scure/sr25519@0.2.0": dependencies: - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 + "@noble/curves": 1.9.7 + "@noble/hashes": 1.8.0 - '@scure/sr25519@0.3.0': + "@scure/sr25519@0.3.0": dependencies: - '@noble/curves': 2.0.1 - '@noble/hashes': 2.0.1 + "@noble/curves": 2.0.1 + "@noble/hashes": 2.0.1 - '@scure/sr25519@1.0.0': + "@scure/sr25519@1.0.0": dependencies: - '@noble/curves': 2.0.1 - '@noble/hashes': 2.0.1 + "@noble/curves": 2.0.1 + "@noble/hashes": 2.0.1 - '@sec-ant/readable-stream@0.4.1': {} + "@sec-ant/readable-stream@0.4.1": {} - '@sindresorhus/merge-streams@4.0.0': {} + "@sindresorhus/merge-streams@4.0.0": {} - '@standard-schema/spec@1.1.0': {} + "@standard-schema/spec@1.1.0": {} - '@substrate/ss58-registry@1.51.0': {} + "@substrate/ss58-registry@1.51.0": {} - '@types/bn.js@5.2.0': + "@types/bn.js@5.2.0": dependencies: - '@types/node': 25.3.0 + "@types/node": 25.3.0 - '@types/chai@5.2.3': + "@types/chai@5.2.3": dependencies: - '@types/deep-eql': 4.0.2 + "@types/deep-eql": 4.0.2 assertion-error: 2.0.1 - '@types/deep-eql@4.0.2': {} + "@types/deep-eql@4.0.2": {} - '@types/estree@1.0.8': {} + "@types/estree@1.0.8": {} - '@types/node@24.10.13': + "@types/node@24.10.13": dependencies: undici-types: 7.16.0 - '@types/node@25.3.0': + "@types/node@25.3.0": dependencies: undici-types: 7.18.2 - '@types/normalize-package-data@2.4.4': {} + "@types/normalize-package-data@2.4.4": {} - '@types/ws@8.18.1': + "@types/ws@8.18.1": dependencies: - '@types/node': 25.3.0 + "@types/node": 25.3.0 - '@vitest/expect@4.0.18': + "@vitest/expect@4.0.18": dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 + "@standard-schema/spec": 1.1.0 + "@types/chai": 5.2.3 + "@vitest/spy": 4.0.18 + "@vitest/utils": 4.0.18 chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0))': + "@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0))": dependencies: - '@vitest/spy': 4.0.18 + "@vitest/spy": 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: vite: 7.3.1(@types/node@24.10.13)(tsx@4.21.0) - '@vitest/pretty-format@4.0.18': + "@vitest/pretty-format@4.0.18": dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@4.0.18': + "@vitest/runner@4.0.18": dependencies: - '@vitest/utils': 4.0.18 + "@vitest/utils": 4.0.18 pathe: 2.0.3 - '@vitest/snapshot@4.0.18': + "@vitest/snapshot@4.0.18": dependencies: - '@vitest/pretty-format': 4.0.18 + "@vitest/pretty-format": 4.0.18 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.0.18': {} + "@vitest/spy@4.0.18": {} - '@vitest/utils@4.0.18': + "@vitest/utils@4.0.18": dependencies: - '@vitest/pretty-format': 4.0.18 + "@vitest/pretty-format": 4.0.18 tinyrainbow: 3.0.3 acorn@8.16.0: {} @@ -2294,69 +3203,69 @@ snapshots: esbuild@0.25.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.12 - '@esbuild/android-arm': 0.25.12 - '@esbuild/android-arm64': 0.25.12 - '@esbuild/android-x64': 0.25.12 - '@esbuild/darwin-arm64': 0.25.12 - '@esbuild/darwin-x64': 0.25.12 - '@esbuild/freebsd-arm64': 0.25.12 - '@esbuild/freebsd-x64': 0.25.12 - '@esbuild/linux-arm': 0.25.12 - '@esbuild/linux-arm64': 0.25.12 - '@esbuild/linux-ia32': 0.25.12 - '@esbuild/linux-loong64': 0.25.12 - '@esbuild/linux-mips64el': 0.25.12 - '@esbuild/linux-ppc64': 0.25.12 - '@esbuild/linux-riscv64': 0.25.12 - '@esbuild/linux-s390x': 0.25.12 - '@esbuild/linux-x64': 0.25.12 - '@esbuild/netbsd-arm64': 0.25.12 - '@esbuild/netbsd-x64': 0.25.12 - '@esbuild/openbsd-arm64': 0.25.12 - '@esbuild/openbsd-x64': 0.25.12 - '@esbuild/openharmony-arm64': 0.25.12 - '@esbuild/sunos-x64': 0.25.12 - '@esbuild/win32-arm64': 0.25.12 - '@esbuild/win32-ia32': 0.25.12 - '@esbuild/win32-x64': 0.25.12 + "@esbuild/aix-ppc64": 0.25.12 + "@esbuild/android-arm": 0.25.12 + "@esbuild/android-arm64": 0.25.12 + "@esbuild/android-x64": 0.25.12 + "@esbuild/darwin-arm64": 0.25.12 + "@esbuild/darwin-x64": 0.25.12 + "@esbuild/freebsd-arm64": 0.25.12 + "@esbuild/freebsd-x64": 0.25.12 + "@esbuild/linux-arm": 0.25.12 + "@esbuild/linux-arm64": 0.25.12 + "@esbuild/linux-ia32": 0.25.12 + "@esbuild/linux-loong64": 0.25.12 + "@esbuild/linux-mips64el": 0.25.12 + "@esbuild/linux-ppc64": 0.25.12 + "@esbuild/linux-riscv64": 0.25.12 + "@esbuild/linux-s390x": 0.25.12 + "@esbuild/linux-x64": 0.25.12 + "@esbuild/netbsd-arm64": 0.25.12 + "@esbuild/netbsd-x64": 0.25.12 + "@esbuild/openbsd-arm64": 0.25.12 + "@esbuild/openbsd-x64": 0.25.12 + "@esbuild/openharmony-arm64": 0.25.12 + "@esbuild/sunos-x64": 0.25.12 + "@esbuild/win32-arm64": 0.25.12 + "@esbuild/win32-ia32": 0.25.12 + "@esbuild/win32-x64": 0.25.12 esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.3 - '@esbuild/android-arm': 0.27.3 - '@esbuild/android-arm64': 0.27.3 - '@esbuild/android-x64': 0.27.3 - '@esbuild/darwin-arm64': 0.27.3 - '@esbuild/darwin-x64': 0.27.3 - '@esbuild/freebsd-arm64': 0.27.3 - '@esbuild/freebsd-x64': 0.27.3 - '@esbuild/linux-arm': 0.27.3 - '@esbuild/linux-arm64': 0.27.3 - '@esbuild/linux-ia32': 0.27.3 - '@esbuild/linux-loong64': 0.27.3 - '@esbuild/linux-mips64el': 0.27.3 - '@esbuild/linux-ppc64': 0.27.3 - '@esbuild/linux-riscv64': 0.27.3 - '@esbuild/linux-s390x': 0.27.3 - '@esbuild/linux-x64': 0.27.3 - '@esbuild/netbsd-arm64': 0.27.3 - '@esbuild/netbsd-x64': 0.27.3 - '@esbuild/openbsd-arm64': 0.27.3 - '@esbuild/openbsd-x64': 0.27.3 - '@esbuild/openharmony-arm64': 0.27.3 - '@esbuild/sunos-x64': 0.27.3 - '@esbuild/win32-arm64': 0.27.3 - '@esbuild/win32-ia32': 0.27.3 - '@esbuild/win32-x64': 0.27.3 + "@esbuild/aix-ppc64": 0.27.3 + "@esbuild/android-arm": 0.27.3 + "@esbuild/android-arm64": 0.27.3 + "@esbuild/android-x64": 0.27.3 + "@esbuild/darwin-arm64": 0.27.3 + "@esbuild/darwin-x64": 0.27.3 + "@esbuild/freebsd-arm64": 0.27.3 + "@esbuild/freebsd-x64": 0.27.3 + "@esbuild/linux-arm": 0.27.3 + "@esbuild/linux-arm64": 0.27.3 + "@esbuild/linux-ia32": 0.27.3 + "@esbuild/linux-loong64": 0.27.3 + "@esbuild/linux-mips64el": 0.27.3 + "@esbuild/linux-ppc64": 0.27.3 + "@esbuild/linux-riscv64": 0.27.3 + "@esbuild/linux-s390x": 0.27.3 + "@esbuild/linux-x64": 0.27.3 + "@esbuild/netbsd-arm64": 0.27.3 + "@esbuild/netbsd-x64": 0.27.3 + "@esbuild/openbsd-arm64": 0.27.3 + "@esbuild/openbsd-x64": 0.27.3 + "@esbuild/openharmony-arm64": 0.27.3 + "@esbuild/sunos-x64": 0.27.3 + "@esbuild/win32-arm64": 0.27.3 + "@esbuild/win32-ia32": 0.27.3 + "@esbuild/win32-x64": 0.27.3 estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + "@types/estree": 1.0.8 execa@9.6.1: dependencies: - '@sindresorhus/merge-streams': 4.0.0 + "@sindresorhus/merge-streams": 4.0.0 cross-spawn: 7.0.6 figures: 6.1.0 get-stream: 9.0.1 @@ -2394,7 +3303,7 @@ snapshots: get-stream@9.0.1: dependencies: - '@sec-ant/readable-stream': 0.4.1 + "@sec-ant/readable-stream": 0.4.1 is-stream: 4.0.1 get-tsconfig@4.13.6: @@ -2449,7 +3358,7 @@ snapshots: magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + "@jridgewell/sourcemap-codec": 1.5.5 mimic-function@5.0.1: {} @@ -2510,7 +3419,7 @@ snapshots: parse-json@8.3.0: dependencies: - '@babel/code-frame': 7.29.0 + "@babel/code-frame": 7.29.0 index-to-position: 1.2.0 type-fest: 4.41.0 @@ -2536,29 +3445,29 @@ snapshots: polkadot-api@1.23.3(postcss@8.5.6)(rxjs@7.8.2)(tsx@4.21.0): dependencies: - '@polkadot-api/cli': 0.18.1(postcss@8.5.6)(tsx@4.21.0) - '@polkadot-api/ink-contracts': 0.4.6 - '@polkadot-api/json-rpc-provider': 0.0.4 - '@polkadot-api/known-chains': 0.9.18 - '@polkadot-api/logs-provider': 0.0.6 - '@polkadot-api/metadata-builders': 0.13.9 - '@polkadot-api/metadata-compatibility': 0.4.4 - '@polkadot-api/observable-client': 0.17.3(rxjs@7.8.2) - '@polkadot-api/pjs-signer': 0.6.19 - '@polkadot-api/polkadot-sdk-compat': 2.4.1 - '@polkadot-api/polkadot-signer': 0.1.6 - '@polkadot-api/signer': 0.2.13 - '@polkadot-api/sm-provider': 0.1.16(@polkadot-api/smoldot@0.3.15) - '@polkadot-api/smoldot': 0.3.15 - '@polkadot-api/substrate-bindings': 0.17.0 - '@polkadot-api/substrate-client': 0.5.0 - '@polkadot-api/utils': 0.2.0 - '@polkadot-api/ws-provider': 0.7.5 - '@rx-state/core': 0.1.4(rxjs@7.8.2) + "@polkadot-api/cli": 0.18.1(postcss@8.5.6)(tsx@4.21.0) + "@polkadot-api/ink-contracts": 0.4.6 + "@polkadot-api/json-rpc-provider": 0.0.4 + "@polkadot-api/known-chains": 0.9.18 + "@polkadot-api/logs-provider": 0.0.6 + "@polkadot-api/metadata-builders": 0.13.9 + "@polkadot-api/metadata-compatibility": 0.4.4 + "@polkadot-api/observable-client": 0.17.3(rxjs@7.8.2) + "@polkadot-api/pjs-signer": 0.6.19 + "@polkadot-api/polkadot-sdk-compat": 2.4.1 + "@polkadot-api/polkadot-signer": 0.1.6 + "@polkadot-api/signer": 0.2.13 + "@polkadot-api/sm-provider": 0.1.16(@polkadot-api/smoldot@0.3.15) + "@polkadot-api/smoldot": 0.3.15 + "@polkadot-api/substrate-bindings": 0.17.0 + "@polkadot-api/substrate-client": 0.5.0 + "@polkadot-api/utils": 0.2.0 + "@polkadot-api/ws-provider": 0.7.5 + "@rx-state/core": 0.1.4(rxjs@7.8.2) rxjs: 7.8.2 transitivePeerDependencies: - - '@microsoft/api-extractor' - - '@swc/core' + - "@microsoft/api-extractor" + - "@swc/core" - bufferutil - jiti - postcss @@ -2590,7 +3499,7 @@ snapshots: read-pkg@10.1.0: dependencies: - '@types/normalize-package-data': 2.4.4 + "@types/normalize-package-data": 2.4.4 normalize-package-data: 8.0.0 parse-json: 8.3.0 type-fest: 5.4.4 @@ -2598,7 +3507,7 @@ snapshots: read-pkg@9.0.1: dependencies: - '@types/normalize-package-data': 2.4.4 + "@types/normalize-package-data": 2.4.4 normalize-package-data: 6.0.2 parse-json: 8.3.0 type-fest: 4.41.0 @@ -2618,33 +3527,33 @@ snapshots: rollup@4.57.1: dependencies: - '@types/estree': 1.0.8 + "@types/estree": 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.57.1 - '@rollup/rollup-android-arm64': 4.57.1 - '@rollup/rollup-darwin-arm64': 4.57.1 - '@rollup/rollup-darwin-x64': 4.57.1 - '@rollup/rollup-freebsd-arm64': 4.57.1 - '@rollup/rollup-freebsd-x64': 4.57.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 - '@rollup/rollup-linux-arm-musleabihf': 4.57.1 - '@rollup/rollup-linux-arm64-gnu': 4.57.1 - '@rollup/rollup-linux-arm64-musl': 4.57.1 - '@rollup/rollup-linux-loong64-gnu': 4.57.1 - '@rollup/rollup-linux-loong64-musl': 4.57.1 - '@rollup/rollup-linux-ppc64-gnu': 4.57.1 - '@rollup/rollup-linux-ppc64-musl': 4.57.1 - '@rollup/rollup-linux-riscv64-gnu': 4.57.1 - '@rollup/rollup-linux-riscv64-musl': 4.57.1 - '@rollup/rollup-linux-s390x-gnu': 4.57.1 - '@rollup/rollup-linux-x64-gnu': 4.57.1 - '@rollup/rollup-linux-x64-musl': 4.57.1 - '@rollup/rollup-openbsd-x64': 4.57.1 - '@rollup/rollup-openharmony-arm64': 4.57.1 - '@rollup/rollup-win32-arm64-msvc': 4.57.1 - '@rollup/rollup-win32-ia32-msvc': 4.57.1 - '@rollup/rollup-win32-x64-gnu': 4.57.1 - '@rollup/rollup-win32-x64-msvc': 4.57.1 + "@rollup/rollup-android-arm-eabi": 4.57.1 + "@rollup/rollup-android-arm64": 4.57.1 + "@rollup/rollup-darwin-arm64": 4.57.1 + "@rollup/rollup-darwin-x64": 4.57.1 + "@rollup/rollup-freebsd-arm64": 4.57.1 + "@rollup/rollup-freebsd-x64": 4.57.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.57.1 + "@rollup/rollup-linux-arm-musleabihf": 4.57.1 + "@rollup/rollup-linux-arm64-gnu": 4.57.1 + "@rollup/rollup-linux-arm64-musl": 4.57.1 + "@rollup/rollup-linux-loong64-gnu": 4.57.1 + "@rollup/rollup-linux-loong64-musl": 4.57.1 + "@rollup/rollup-linux-ppc64-gnu": 4.57.1 + "@rollup/rollup-linux-ppc64-musl": 4.57.1 + "@rollup/rollup-linux-riscv64-gnu": 4.57.1 + "@rollup/rollup-linux-riscv64-musl": 4.57.1 + "@rollup/rollup-linux-s390x-gnu": 4.57.1 + "@rollup/rollup-linux-x64-gnu": 4.57.1 + "@rollup/rollup-linux-x64-musl": 4.57.1 + "@rollup/rollup-openbsd-x64": 4.57.1 + "@rollup/rollup-openharmony-arm64": 4.57.1 + "@rollup/rollup-win32-arm64-msvc": 4.57.1 + "@rollup/rollup-win32-ia32-msvc": 4.57.1 + "@rollup/rollup-win32-x64-gnu": 4.57.1 + "@rollup/rollup-win32-x64-msvc": 4.57.1 fsevents: 2.3.3 rxjs@7.8.2: @@ -2715,7 +3624,7 @@ snapshots: sucrase@3.35.1: dependencies: - '@jridgewell/gen-mapping': 0.3.13 + "@jridgewell/gen-mapping": 0.3.13 commander: 4.1.1 lines-and-columns: 1.2.4 mz: 2.7.0 @@ -2830,19 +3739,19 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.10.13 + "@types/node": 24.10.13 fsevents: 2.3.3 tsx: 4.21.0 vitest@4.0.18(@types/node@24.10.13)(tsx@4.21.0): dependencies: - '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0)) - '@vitest/pretty-format': 4.0.18 - '@vitest/runner': 4.0.18 - '@vitest/snapshot': 4.0.18 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 + "@vitest/expect": 4.0.18 + "@vitest/mocker": 4.0.18(vite@7.3.1(@types/node@24.10.13)(tsx@4.21.0)) + "@vitest/pretty-format": 4.0.18 + "@vitest/runner": 4.0.18 + "@vitest/snapshot": 4.0.18 + "@vitest/spy": 4.0.18 + "@vitest/utils": 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -2857,7 +3766,7 @@ snapshots: vite: 7.3.1(@types/node@24.10.13)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.10.13 + "@types/node": 24.10.13 transitivePeerDependencies: - jiti - less diff --git a/e2e/shared/address.ts b/e2e/shared/address.ts index 5585c4cb68..75eff6342a 100644 --- a/e2e/shared/address.ts +++ b/e2e/shared/address.ts @@ -1,5 +1,10 @@ import { sr25519CreateDerive } from "@polkadot-labs/hdkd"; -import { DEV_PHRASE, entropyToMiniSecret, mnemonicToEntropy, KeyPair } from "@polkadot-labs/hdkd-helpers"; +import { + DEV_PHRASE, + entropyToMiniSecret, + mnemonicToEntropy, + KeyPair, +} from "@polkadot-labs/hdkd-helpers"; import { getPolkadotSigner } from "polkadot-api/signer"; import { PolkadotSigner } from "polkadot-api"; import { randomBytes } from "crypto"; diff --git a/e2e/shared/balance.ts b/e2e/shared/balance.ts index d5cafa1326..c54d2c7e18 100644 --- a/e2e/shared/balance.ts +++ b/e2e/shared/balance.ts @@ -9,7 +9,10 @@ export function tao(value: number): bigint { return TAO * BigInt(value); } -export async function getBalance(api: TypedApi, ss58Address: string): Promise { +export async function getBalance( + api: TypedApi, + ss58Address: string, +): Promise { const account = await api.query.System.Account.getValue(ss58Address); return account.data.free; } @@ -17,7 +20,7 @@ export async function getBalance(api: TypedApi, ss58Address: s export async function forceSetBalance( api: TypedApi, ss58Address: string, - amount: bigint = tao(1e10) + amount: bigint = tao(1e10), ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.Balances.force_set_balance({ diff --git a/e2e/shared/node.ts b/e2e/shared/node.ts index 51b80a0c18..5e93e5007a 100644 --- a/e2e/shared/node.ts +++ b/e2e/shared/node.ts @@ -146,4 +146,3 @@ export function innerEnsure( node.process.stderr?.on("data", fn); }); } - diff --git a/e2e/shared/staking.ts b/e2e/shared/staking.ts index 080172ba33..96241f64e9 100644 --- a/e2e/shared/staking.ts +++ b/e2e/shared/staking.ts @@ -35,7 +35,7 @@ export async function addStake( coldkey: KeyPair, hotkey: string, netuid: number, - amount: bigint + amount: bigint, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.add_stake({ @@ -53,7 +53,7 @@ export async function addStakeLimit( netuid: number, amount: bigint, limitPrice: bigint, - allowPartial: boolean + allowPartial: boolean, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.add_stake_limit({ @@ -71,7 +71,7 @@ export async function removeStake( coldkey: KeyPair, hotkey: string, netuid: number, - amount: bigint + amount: bigint, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.remove_stake({ @@ -89,7 +89,7 @@ export async function removeStakeLimit( netuid: number, amount: bigint, limitPrice: bigint, - allowPartial: boolean + allowPartial: boolean, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.remove_stake_limit({ @@ -107,7 +107,7 @@ export async function removeStakeFullLimit( coldkey: KeyPair, hotkey: string, netuid: number, - limitPrice: bigint | undefined + limitPrice: bigint | undefined, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.remove_stake_full_limit({ @@ -121,7 +121,7 @@ export async function removeStakeFullLimit( export async function unstakeAll( api: TypedApi, coldkey: KeyPair, - hotkey: string + hotkey: string, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.unstake_all({ @@ -133,7 +133,7 @@ export async function unstakeAll( export async function unstakeAllAlpha( api: TypedApi, coldkey: KeyPair, - hotkey: string + hotkey: string, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.unstake_all_alpha({ @@ -150,7 +150,7 @@ export async function getStake( api: TypedApi, hotkey: string, coldkey: string, - netuid: number + netuid: number, ): Promise { const raw = await api.query.SubtensorModule.Alpha.getValue(hotkey, coldkey, netuid); return u64f64ToInt(raw); @@ -164,7 +164,7 @@ export async function getStakeRaw( api: TypedApi, hotkey: string, coldkey: string, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.Alpha.getValue(hotkey, coldkey, netuid); } @@ -176,7 +176,7 @@ export async function transferStake( hotkey: string, originNetuid: number, destinationNetuid: number, - amount: bigint + amount: bigint, ): Promise { const signer = getSignerFromKeypair(originColdkey); const tx = api.tx.SubtensorModule.transfer_stake({ @@ -196,7 +196,7 @@ export async function moveStake( destinationHotkey: string, originNetuid: number, destinationNetuid: number, - amount: bigint + amount: bigint, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.move_stake({ @@ -215,7 +215,7 @@ export async function swapStake( hotkey: string, originNetuid: number, destinationNetuid: number, - amount: bigint + amount: bigint, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.swap_stake({ @@ -235,7 +235,7 @@ export async function swapStakeLimit( destinationNetuid: number, amount: bigint, limitPrice: bigint, - allowPartial: boolean + allowPartial: boolean, ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.swap_stake_limit({ @@ -253,7 +253,7 @@ export type RootClaimType = "Swap" | "Keep" | { type: "KeepSubnets"; subnets: nu export async function getRootClaimType( api: TypedApi, - coldkey: string + coldkey: string, ): Promise { const result = await api.query.SubtensorModule.RootClaimType.getValue(coldkey); if (result.type === "KeepSubnets") { @@ -265,7 +265,7 @@ export async function getRootClaimType( export async function setRootClaimType( api: TypedApi, coldkey: KeyPair, - claimType: RootClaimType + claimType: RootClaimType, ): Promise { const signer = getSignerFromKeypair(coldkey); let newRootClaimType; @@ -283,7 +283,7 @@ export async function setRootClaimType( export async function claimRoot( api: TypedApi, coldkey: KeyPair, - subnets: number[] + subnets: number[], ): Promise { const signer = getSignerFromKeypair(coldkey); const tx = api.tx.SubtensorModule.claim_root({ @@ -292,15 +292,13 @@ export async function claimRoot( await waitForTransactionWithRetry(api, tx, signer, "claim_root"); } -export async function getNumRootClaims( - api: TypedApi -): Promise { +export async function getNumRootClaims(api: TypedApi): Promise { return await api.query.SubtensorModule.NumRootClaim.getValue(); } export async function sudoSetNumRootClaims( api: TypedApi, - newValue: bigint + newValue: bigint, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.SubtensorModule.sudo_set_num_root_claims({ @@ -312,7 +310,7 @@ export async function sudoSetNumRootClaims( export async function getRootClaimThreshold( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.RootClaimableThreshold.getValue(netuid); } @@ -320,7 +318,7 @@ export async function getRootClaimThreshold( export async function sudoSetRootClaimThreshold( api: TypedApi, netuid: number, - newValue: bigint + newValue: bigint, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.SubtensorModule.sudo_set_root_claim_threshold({ @@ -331,17 +329,14 @@ export async function sudoSetRootClaimThreshold( await waitForTransactionWithRetry(api, tx, alice, "sudo_set_root_claim_threshold"); } -export async function getTempo( - api: TypedApi, - netuid: number -): Promise { +export async function getTempo(api: TypedApi, netuid: number): Promise { return await api.query.SubtensorModule.Tempo.getValue(netuid); } export async function sudoSetTempo( api: TypedApi, netuid: number, - tempo: number + tempo: number, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_tempo({ @@ -354,7 +349,7 @@ export async function sudoSetTempo( export async function waitForBlocks( api: TypedApi, - numBlocks: number + numBlocks: number, ): Promise { const startBlock = await api.query.System.Number.getValue(); const targetBlock = startBlock + numBlocks; @@ -370,7 +365,7 @@ export async function waitForBlocks( export async function getRootClaimable( api: TypedApi, - hotkey: string + hotkey: string, ): Promise> { const result = await api.query.SubtensorModule.RootClaimable.getValue(hotkey); const claimableMap = new Map(); @@ -384,14 +379,14 @@ export async function getRootClaimed( api: TypedApi, netuid: number, hotkey: string, - coldkey: string + coldkey: string, ): Promise { return await api.query.SubtensorModule.RootClaimed.getValue(netuid, hotkey, coldkey); } export async function isSubtokenEnabled( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.SubtokenEnabled.getValue(netuid); } @@ -399,7 +394,7 @@ export async function isSubtokenEnabled( export async function sudoSetSubtokenEnabled( api: TypedApi, netuid: number, - enabled: boolean + enabled: boolean, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_subtoken_enabled({ @@ -412,20 +407,18 @@ export async function sudoSetSubtokenEnabled( export async function isNetworkAdded( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.NetworksAdded.getValue(netuid); } -export async function getAdminFreezeWindow( - api: TypedApi -): Promise { +export async function getAdminFreezeWindow(api: TypedApi): Promise { return await api.query.SubtensorModule.AdminFreezeWindow.getValue(); } export async function sudoSetAdminFreezeWindow( api: TypedApi, - window: number + window: number, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_admin_freeze_window({ @@ -438,7 +431,7 @@ export async function sudoSetAdminFreezeWindow( export async function sudoSetEmaPriceHalvingPeriod( api: TypedApi, netuid: number, - emaPriceHalvingPeriod: number + emaPriceHalvingPeriod: number, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_ema_price_halving_period({ @@ -451,7 +444,7 @@ export async function sudoSetEmaPriceHalvingPeriod( export async function sudoSetLockReductionInterval( api: TypedApi, - interval: number + interval: number, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_lock_reduction_interval({ @@ -463,7 +456,7 @@ export async function sudoSetLockReductionInterval( export async function sudoSetSubnetMovingAlpha( api: TypedApi, - alpha: bigint + alpha: bigint, ): Promise { const alice = getAliceSigner(); const internalCall = api.tx.AdminUtils.sudo_set_subnet_moving_alpha({ @@ -476,34 +469,32 @@ export async function sudoSetSubnetMovingAlpha( // Debug helpers for claim_root investigation export async function getSubnetTAO( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.SubnetTAO.getValue(netuid); } export async function getSubnetMovingPrice( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.SubnetMovingPrice.getValue(netuid); } export async function getPendingRootAlphaDivs( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.PendingRootAlphaDivs.getValue(netuid); } -export async function getTaoWeight( - api: TypedApi -): Promise { +export async function getTaoWeight(api: TypedApi): Promise { return await api.query.SubtensorModule.TaoWeight.getValue(); } export async function getSubnetAlphaIn( api: TypedApi, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.SubnetAlphaIn.getValue(netuid); } @@ -511,7 +502,7 @@ export async function getSubnetAlphaIn( export async function getTotalHotkeyAlpha( api: TypedApi, hotkey: string, - netuid: number + netuid: number, ): Promise { return await api.query.SubtensorModule.TotalHotkeyAlpha.getValue(hotkey, netuid); } diff --git a/e2e/shared/subnet.ts b/e2e/shared/subnet.ts index 510779c19e..e15bd7cbe9 100644 --- a/e2e/shared/subnet.ts +++ b/e2e/shared/subnet.ts @@ -8,7 +8,7 @@ import { log } from "./logger.js"; export async function addNewSubnetwork( api: TypedApi, hotkey: KeyPair, - coldkey: KeyPair + coldkey: KeyPair, ): Promise { const alice = getAliceSigner(); const totalNetworks = await api.query.SubtensorModule.TotalNetworks.getValue(); @@ -34,7 +34,7 @@ export async function burnedRegister( api: TypedApi, netuid: number, hotkeyAddress: string, - coldkey: KeyPair + coldkey: KeyPair, ): Promise { const registered = await api.query.SubtensorModule.Uids.getValue(netuid, hotkeyAddress); if (registered !== undefined) { @@ -51,9 +51,11 @@ export async function burnedRegister( export async function startCall( api: TypedApi, netuid: number, - coldkey: KeyPair + coldkey: KeyPair, ): Promise { - const registerBlock = Number(await api.query.SubtensorModule.NetworkRegisteredAt.getValue(netuid)); + const registerBlock = Number( + await api.query.SubtensorModule.NetworkRegisteredAt.getValue(netuid), + ); let currentBlock = await api.query.System.Number.getValue(); const duration = Number(await api.constants.SubtensorModule.InitialStartCallDelay); diff --git a/e2e/shared/transactions.ts b/e2e/shared/transactions.ts index 27e55749f4..f6bb700335 100644 --- a/e2e/shared/transactions.ts +++ b/e2e/shared/transactions.ts @@ -9,7 +9,7 @@ export async function waitForTransactionWithRetry( tx: Transaction<{}, string, string, void>, signer: PolkadotSigner, label: string, - maxRetries = 1 + maxRetries = 1, ): Promise { let success = false; let retries = 0; @@ -34,7 +34,7 @@ export async function waitForTransactionWithRetry( async function waitForTransactionCompletion( tx: Transaction<{}, string, string, void>, signer: PolkadotSigner, - label: string + label: string, ): Promise { return new Promise((resolve, reject) => { let txHash = ""; diff --git a/e2e/shield/setup.ts b/e2e/shield/setup.ts index 49c45b8576..3ba1294026 100644 --- a/e2e/shield/setup.ts +++ b/e2e/shield/setup.ts @@ -1,8 +1,5 @@ import { writeFile, readFile, rm, mkdir } from "node:fs/promises"; -import { - generateChainSpec, - insertKeys, -} from "e2e-shared/chainspec.js"; +import { generateChainSpec, insertKeys } from "e2e-shared/chainspec.js"; import { startNode, started, @@ -136,7 +133,6 @@ export async function teardown() { } } } - } // Clean up the entire suite directory in one shot. diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index 7fd4ca8ce2..04b0f32c42 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -149,9 +149,7 @@ describe("MEV Shield — encrypted transactions", () => { value: amount, }).sign(sender.signer, { nonce: nonce + 1 }); - txPromises.push( - submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), - ); + txPromises.push(submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce)); } await Promise.all(txPromises); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts index bd4bfcaaca..512b4cf9a1 100644 --- a/e2e/shield/tests/01-scaling.test.ts +++ b/e2e/shield/tests/01-scaling.test.ts @@ -120,9 +120,7 @@ describe("MEV Shield — 6 node scaling", () => { value: amount, }).sign(sender.signer, { nonce: nonce + 1 }); - txPromises.push( - submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce), - ); + txPromises.push(submitEncrypted(api, sender.signer, hexToU8a(innerTxHex), nextKey!, nonce)); } await Promise.all(txPromises); diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts index 63baa27c56..383317f9ad 100644 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -4,12 +4,7 @@ import type { PolkadotClient, TypedApi } from "polkadot-api"; import { hexToU8a } from "@polkadot/util"; import { subtensor, MultiAddress } from "@polkadot-api/descriptors"; import type { NetworkState } from "../setup.js"; -import { - connectClient, - createSigner, - getAccountNonce, - getBalance, -} from "e2e-shared/client.js"; +import { connectClient, createSigner, getAccountNonce, getBalance } from "e2e-shared/client.js"; import { getNextKey, submitEncrypted } from "../helpers.js"; let client: PolkadotClient; diff --git a/e2e/shield/tests/04-mortality.test.ts b/e2e/shield/tests/04-mortality.test.ts index 86dfc5c918..cc35e36a58 100644 --- a/e2e/shield/tests/04-mortality.test.ts +++ b/e2e/shield/tests/04-mortality.test.ts @@ -112,10 +112,7 @@ describe("MEV Shield — mortality eviction", () => { // Submit via raw RPC to get immediate feedback on pool acceptance. let txHash: string; try { - txHash = await extraClient._request( - "author_submitExtrinsic", - [signedHex], - ); + txHash = await extraClient._request("author_submitExtrinsic", [signedHex]); log(`Tx submitted successfully, hash: ${txHash}`); } catch (err: unknown) { throw new Error(`Tx rejected at pool entry: ${err}`); @@ -123,10 +120,7 @@ describe("MEV Shield — mortality eviction", () => { // Verify it's in the pool. await sleep(1_000); - const pending: string[] = await extraClient._request( - "author_pendingExtrinsics", - [], - ); + const pending: string[] = await extraClient._request("author_pendingExtrinsics", []); log(`Pool has ${pending.length} pending tx(s)`); // Now poll until the tx disappears (mortality eviction). @@ -139,10 +133,7 @@ describe("MEV Shield — mortality eviction", () => { while (Date.now() - start < maxPollMs) { await sleep(POLL_INTERVAL_MS); - const pending: string[] = await extraClient._request( - "author_pendingExtrinsics", - [], - ); + const pending: string[] = await extraClient._request("author_pendingExtrinsics", []); if (pending.length === 0) { evicted = true; diff --git a/e2e/staking/test/claim-root.test.ts b/e2e/staking/test/claim-root.test.ts index 5f48f20b2b..e6ca55876c 100644 --- a/e2e/staking/test/claim-root.test.ts +++ b/e2e/staking/test/claim-root.test.ts @@ -292,8 +292,8 @@ describe("▶ claim_root extrinsic", () => { const movingPrice2 = await getSubnetMovingPrice(api, netuid2); log.info(`SubnetMovingPrice - netuid1: ${movingPrice1}, netuid2: ${movingPrice2}`); // Note: Moving price is I96F32, so divide by 2^32 to get actual value - const mp1Float = Number(movingPrice1) / 2**32; - const mp2Float = Number(movingPrice2) / 2**32; + const mp1Float = Number(movingPrice1) / 2 ** 32; + const mp2Float = Number(movingPrice2) / 2 ** 32; log.info(`SubnetMovingPrice (float) - netuid1: ${mp1Float}, netuid2: ${mp2Float}, sum: ${mp1Float + mp2Float}`); const pendingDivs1 = await getPendingRootAlphaDivs(api, netuid1); @@ -328,7 +328,9 @@ describe("▶ claim_root extrinsic", () => { log.info(`RootClaimed value: ${rootClaimed}`); // Verify dividends were claimed - expect(stakerSubnetStakeAfter, "Stake should increase after claiming root dividends").toBeGreaterThan(stakerSubnetStakeBefore); + expect(stakerSubnetStakeAfter, "Stake should increase after claiming root dividends").toBeGreaterThan( + stakerSubnetStakeBefore, + ); log.info(`✅ Root claim successful: stake increased from ${stakerSubnetStakeBefore} to ${stakerSubnetStakeAfter}`); }); @@ -419,8 +421,8 @@ describe("▶ claim_root extrinsic", () => { // Debug: Check moving prices const movingPrice1 = await getSubnetMovingPrice(api, netuid1); const movingPrice2 = await getSubnetMovingPrice(api, netuid2); - const mp1Float = Number(movingPrice1) / 2**32; - const mp2Float = Number(movingPrice2) / 2**32; + const mp1Float = Number(movingPrice1) / 2 ** 32; + const mp2Float = Number(movingPrice2) / 2 ** 32; log.info(`SubnetMovingPrice (float) - netuid1: ${mp1Float}, netuid2: ${mp2Float}, sum: ${mp1Float + mp2Float}`); const pendingDivs1 = await getPendingRootAlphaDivs(api, netuid1); diff --git a/e2e/staking/test/move-stake.test.ts b/e2e/staking/test/move-stake.test.ts index 532ffce168..292d8d8ded 100644 --- a/e2e/staking/test/move-stake.test.ts +++ b/e2e/staking/test/move-stake.test.ts @@ -47,7 +47,9 @@ describe("▶ move_stake extrinsic", () => { const destStakeBefore = await getStake(api, destinationHotkeyAddress, coldkeyAddress, netuid2); expect(originStakeBefore, "Origin hotkey should have stake before move").toBeGreaterThan(0n); - log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); + log.info( + `Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`, + ); // Move stake to destination hotkey on different subnet // Use raw U64F64 value for the extrinsic diff --git a/e2e/staking/test/transfer-stake.test.ts b/e2e/staking/test/transfer-stake.test.ts index 8cac7a5413..330ca0b8d9 100644 --- a/e2e/staking/test/transfer-stake.test.ts +++ b/e2e/staking/test/transfer-stake.test.ts @@ -49,13 +49,23 @@ describe("▶ transfer_stake extrinsic", () => { const destStakeBefore = await getStake(api, hotkey1Address, destinationColdkeyAddress, netuid2); expect(originStakeBefore, "Origin should have stake before transfer").toBeGreaterThan(0n); - log.info(`Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`); + log.info( + `Origin stake (netuid1) before: ${originStakeBefore}, Destination stake (netuid2) before: ${destStakeBefore}`, + ); // Transfer stake to destination coldkey on a different subnet // Use raw U64F64 value for the extrinsic const originStakeRaw = await getStakeRaw(api, hotkey1Address, originColdkeyAddress, netuid1); const transferAmount = originStakeRaw / 2n; - await transferStake(api, originColdkey, destinationColdkeyAddress, hotkey1Address, netuid1, netuid2, transferAmount); + await transferStake( + api, + originColdkey, + destinationColdkeyAddress, + hotkey1Address, + netuid1, + netuid2, + transferAmount, + ); // Verify stakes changed const originStakeAfter = await getStake(api, hotkey1Address, originColdkeyAddress, netuid1); From 89699dabfb14a8f795394a108fbe04d7d63eb6c1 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 16:41:39 -0300 Subject: [PATCH 191/204] fix bootstrap_types --- e2e/bootstrap_types.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/e2e/bootstrap_types.sh b/e2e/bootstrap_types.sh index 5c175365c0..74039d37a8 100755 --- a/e2e/bootstrap_types.sh +++ b/e2e/bootstrap_types.sh @@ -10,8 +10,11 @@ # set -e +BASE_DIR="/tmp/subtensor-e2e" +mkdir -p $BASE_DIR + BINARY="${BINARY_PATH:-../target/release/node-subtensor}" -NODE_LOG="/tmp/subtensor-e2e/bootstrap-node.log" +NODE_LOG="${BASE_DIR}/bootstrap-node.log" if [ "$1" != "--skip-build" ]; then echo "==> Building node-subtensor..." From 96004ea6620415ff6a4ef1ca40b2b90cc149e5ba Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 17:17:28 -0300 Subject: [PATCH 192/204] fix path error --- e2e/shield/tests/00-basic.test.ts | 2 +- e2e/shield/tests/01-scaling.test.ts | 10 +++++----- e2e/shield/tests/02-edge-cases.test.ts | 2 +- e2e/shield/tests/03-timing.test.ts | 2 +- e2e/shield/tests/04-mortality.test.ts | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/e2e/shield/tests/00-basic.test.ts b/e2e/shield/tests/00-basic.test.ts index 04b0f32c42..8eca09daf6 100644 --- a/e2e/shield/tests/00-basic.test.ts +++ b/e2e/shield/tests/00-basic.test.ts @@ -23,7 +23,7 @@ const bob = createSigner("//Bob"); const charlie = createSigner("//Charlie"); beforeAll(async () => { - const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield-tests/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); diff --git a/e2e/shield/tests/01-scaling.test.ts b/e2e/shield/tests/01-scaling.test.ts index 512b4cf9a1..386124a655 100644 --- a/e2e/shield/tests/01-scaling.test.ts +++ b/e2e/shield/tests/01-scaling.test.ts @@ -24,13 +24,13 @@ const charlie = createSigner("//Charlie"); // Extra nodes join as non-authority full nodes. const EXTRA_NODE_CONFIGS = [ - { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/subtensor-e2e/shield/four" }, - { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/subtensor-e2e/shield/five" }, - { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/subtensor-e2e/shield/six" }, + { name: "four", port: 30336, rpcPort: 9947, basePath: "/tmp/subtensor-e2e/shield-tests/four" }, + { name: "five", port: 30337, rpcPort: 9948, basePath: "/tmp/subtensor-e2e/shield-tests/five" }, + { name: "six", port: 30338, rpcPort: 9949, basePath: "/tmp/subtensor-e2e/shield-tests/six" }, ]; beforeAll(async () => { - const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield-tests/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); @@ -58,7 +58,7 @@ beforeAll(async () => { } // Persist updated state for subsequent test files (edge-cases). - await writeFile("/tmp/subtensor-e2e/shield/nodes.json", JSON.stringify(state, null, 2)); + await writeFile("/tmp/subtensor-e2e/shield-tests/nodes.json", JSON.stringify(state, null, 2)); }); afterAll(() => { diff --git a/e2e/shield/tests/02-edge-cases.test.ts b/e2e/shield/tests/02-edge-cases.test.ts index 383317f9ad..55dc53f134 100644 --- a/e2e/shield/tests/02-edge-cases.test.ts +++ b/e2e/shield/tests/02-edge-cases.test.ts @@ -15,7 +15,7 @@ const alice = createSigner("//Alice"); const bob = createSigner("//Bob"); beforeAll(async () => { - const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield-tests/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); }); diff --git a/e2e/shield/tests/03-timing.test.ts b/e2e/shield/tests/03-timing.test.ts index 9ab00fd505..c7309708d2 100644 --- a/e2e/shield/tests/03-timing.test.ts +++ b/e2e/shield/tests/03-timing.test.ts @@ -22,7 +22,7 @@ const alice = createSigner("//Alice"); const bob = createSigner("//Bob"); beforeAll(async () => { - const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield-tests/nodes.json", "utf-8"); state = JSON.parse(data); ({ client, api } = await connectClient(state.nodes[0].rpcPort)); }); diff --git a/e2e/shield/tests/04-mortality.test.ts b/e2e/shield/tests/04-mortality.test.ts index cc35e36a58..76e704f82b 100644 --- a/e2e/shield/tests/04-mortality.test.ts +++ b/e2e/shield/tests/04-mortality.test.ts @@ -29,7 +29,7 @@ const EXTRA_NODE = { name: "mortality-test", port: 30339, rpcPort: 9950, - basePath: "/tmp/subtensor-e2e/shield/mortality-test", + basePath: "/tmp/subtensor-e2e/shield-tests/mortality-test", }; // MAX_SHIELD_ERA_PERIOD is 8 blocks. With 12s slots, that's ~96s. @@ -38,7 +38,7 @@ const SLOT_DURATION_MS = 12_000; const POLL_INTERVAL_MS = 3_000; beforeAll(async () => { - const data = await readFile("/tmp/subtensor-e2e/shield/nodes.json", "utf-8"); + const data = await readFile("/tmp/subtensor-e2e/shield-tests/nodes.json", "utf-8"); state = JSON.parse(data); // Connect to an authority node for key queries. @@ -61,7 +61,7 @@ beforeAll(async () => { ...EXTRA_NODE, pid: extraNode.process.pid!, }); - await writeFile("/tmp/subtensor-e2e/shield/nodes.json", JSON.stringify(state, null, 2)); + await writeFile("/tmp/subtensor-e2e/shield-tests/nodes.json", JSON.stringify(state, null, 2)); ({ client: extraClient, api: extraApi } = await connectClient(EXTRA_NODE.rpcPort)); }); From 6e62bc580acab69cddf9aeaff9ebdcce3abd59b2 Mon Sep 17 00:00:00 2001 From: Loris Moulin Date: Mon, 9 Mar 2026 18:11:26 -0300 Subject: [PATCH 193/204] updated psdk and frontier hash to mev timing fix --- Cargo.lock | 818 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 270 +++++++++--------- 2 files changed, 544 insertions(+), 544 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0f59eb2b13..7bdb24a9d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1056,7 +1056,7 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "assets-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "ethereum-standards", @@ -1435,7 +1435,7 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "binary-merkle-tree" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "hash-db", "log", @@ -1704,7 +1704,7 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-runtime", "finality-grandpa", @@ -1721,7 +1721,7 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-runtime", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "bp-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-polkadot-core", @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-messages", "bp-runtime", @@ -1770,7 +1770,7 @@ dependencies = [ [[package]] name = "bp-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-messages", @@ -1788,7 +1788,7 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -1811,7 +1811,7 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-parachains", @@ -1831,7 +1831,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-messages", "bp-runtime", @@ -1848,7 +1848,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -1860,7 +1860,7 @@ dependencies = [ [[package]] name = "bridge-hub-common" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1879,7 +1879,7 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.22.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-messages", @@ -2742,7 +2742,7 @@ dependencies = [ [[package]] name = "cumulus-client-bootnodes" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -2768,7 +2768,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "clap", "parity-scale-codec", @@ -2785,7 +2785,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2808,7 +2808,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2855,7 +2855,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "anyhow", "async-trait", @@ -2902,7 +2902,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2925,7 +2925,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2952,7 +2952,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2962,7 +2962,7 @@ dependencies = [ "parity-scale-codec", "sc-client-api", "sc-consensus-babe", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -2973,7 +2973,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3001,7 +3001,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.25.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-channel 1.9.0", "cumulus-client-cli", @@ -3041,7 +3041,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3058,7 +3058,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-dmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "frame-benchmarking", @@ -3075,7 +3075,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -3112,7 +3112,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3123,7 +3123,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-session-benchmarking" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-solo-to-para" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -3151,7 +3151,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-weight-reclaim" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "derive-where", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3185,7 +3185,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "approx", "bounded-collections 0.2.4", @@ -3210,7 +3210,7 @@ dependencies = [ [[package]] name = "cumulus-ping" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-pallet-xcm", "cumulus-primitives-core", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-api", "sp-consensus-aura", @@ -3234,7 +3234,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -3251,7 +3251,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3265,7 +3265,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.13.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -3275,7 +3275,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-storage-weight-reclaim" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-proof-size-hostfunction", @@ -3292,7 +3292,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -3309,7 +3309,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -3337,7 +3337,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3357,7 +3357,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -3393,7 +3393,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.24.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -3434,7 +3434,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-streams" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-relay-chain-interface", "futures", @@ -3448,7 +3448,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4230,7 +4230,7 @@ dependencies = [ [[package]] name = "ethereum-standards" version = "0.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "alloy-core", ] @@ -4447,7 +4447,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "async-trait", "fp-storage", @@ -4459,7 +4459,7 @@ dependencies = [ [[package]] name = "fc-aura" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fc-rpc", "fp-storage", @@ -4475,7 +4475,7 @@ dependencies = [ [[package]] name = "fc-babe" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fc-rpc", "sc-client-api", @@ -4491,7 +4491,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "async-trait", "fp-consensus", @@ -4507,7 +4507,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "async-trait", "ethereum", @@ -4537,7 +4537,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fc-db", "fc-storage", @@ -4560,7 +4560,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -4611,7 +4611,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -4620,13 +4620,13 @@ dependencies = [ "rustc-hex", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", ] [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -4791,7 +4791,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", ] @@ -4818,7 +4818,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "hex", "impl-serde", @@ -4836,7 +4836,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "parity-scale-codec", @@ -4847,7 +4847,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -4859,7 +4859,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "environmental", "evm", @@ -4875,7 +4875,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -4891,7 +4891,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "frame-support", "parity-scale-codec", @@ -4903,7 +4903,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "parity-scale-codec", "serde", @@ -4918,7 +4918,7 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-support-procedural", @@ -4942,7 +4942,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "49.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -5007,7 +5007,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-pallet-pov" version = "31.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -5035,7 +5035,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "16.1.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -5046,7 +5046,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -5063,7 +5063,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "aquamarine", "frame-support", @@ -5116,7 +5116,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "const-hex", @@ -5132,7 +5132,7 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -5146,7 +5146,7 @@ dependencies = [ [[package]] name = "frame-support" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "aquamarine", "array-bytes 6.2.3", @@ -5187,7 +5187,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "34.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "Inflector", "cfg-expr", @@ -5200,7 +5200,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "syn 2.0.106", ] @@ -5220,7 +5220,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support-procedural-tools-derive 12.0.0", "proc-macro-crate 3.4.0", @@ -5243,7 +5243,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro2", "quote", @@ -5253,7 +5253,7 @@ dependencies = [ [[package]] name = "frame-system" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cfg-if", "docify", @@ -5272,7 +5272,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -5286,7 +5286,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "parity-scale-codec", @@ -5296,7 +5296,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "parity-scale-codec", @@ -7880,7 +7880,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "log", @@ -7899,7 +7899,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8842,7 +8842,7 @@ dependencies = [ [[package]] name = "pallet-alliance" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -8854,7 +8854,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-io", "sp-runtime", ] @@ -8862,7 +8862,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8880,7 +8880,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-ops" version = "0.9.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8898,7 +8898,7 @@ dependencies = [ [[package]] name = "pallet-asset-conversion-tx-payment" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8913,7 +8913,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8927,7 +8927,7 @@ dependencies = [ [[package]] name = "pallet-asset-rewards" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8945,7 +8945,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -8961,7 +8961,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ethereum-standards", "frame-benchmarking", @@ -8979,7 +8979,7 @@ dependencies = [ [[package]] name = "pallet-assets-freezer" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "pallet-assets", @@ -8991,7 +8991,7 @@ dependencies = [ [[package]] name = "pallet-assets-holder" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9006,7 +9006,7 @@ dependencies = [ [[package]] name = "pallet-atomic-swap" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9016,7 +9016,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9032,7 +9032,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9047,7 +9047,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9060,7 +9060,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9083,7 +9083,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "aquamarine", "docify", @@ -9104,7 +9104,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -9120,7 +9120,7 @@ dependencies = [ [[package]] name = "pallet-base-fee" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "frame-support", @@ -9134,7 +9134,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9153,7 +9153,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "binary-merkle-tree", @@ -9178,7 +9178,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9195,7 +9195,7 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-runtime", @@ -9214,7 +9214,7 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-messages", @@ -9233,7 +9233,7 @@ dependencies = [ [[package]] name = "pallet-bridge-parachains" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-parachains", @@ -9253,7 +9253,7 @@ dependencies = [ [[package]] name = "pallet-bridge-relayers" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-header-chain", "bp-messages", @@ -9276,7 +9276,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "frame-benchmarking", @@ -9294,7 +9294,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9312,7 +9312,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9331,7 +9331,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -9348,7 +9348,7 @@ dependencies = [ [[package]] name = "pallet-collective-content" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9389,7 +9389,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "environmental", "frame-benchmarking", @@ -9420,7 +9420,7 @@ dependencies = [ [[package]] name = "pallet-contracts-mock-network" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9451,7 +9451,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro2", "quote", @@ -9461,7 +9461,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -9472,7 +9472,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9488,7 +9488,7 @@ dependencies = [ [[package]] name = "pallet-core-fellowship" version = "25.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9526,7 +9526,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "8.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9541,7 +9541,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "pallet-dev-mode" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -9607,7 +9607,7 @@ dependencies = [ [[package]] name = "pallet-dummy-dim" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9625,7 +9625,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-block" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9646,7 +9646,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9667,7 +9667,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9680,7 +9680,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9698,7 +9698,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "ethereum", "ethereum-types", @@ -9721,7 +9721,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "cumulus-primitives-storage-weight-reclaim", "environmental", @@ -9746,7 +9746,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "frame-support", "frame-system", @@ -9757,7 +9757,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "sp-core", @@ -9767,7 +9767,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "frame-support", @@ -9779,7 +9779,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "num", @@ -9788,7 +9788,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "tiny-keccak", @@ -9797,7 +9797,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "fp-evm", "ripemd", @@ -9807,7 +9807,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -9825,7 +9825,7 @@ dependencies = [ [[package]] name = "pallet-glutton" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "blake2 0.10.6", "frame-benchmarking", @@ -9843,7 +9843,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9865,7 +9865,7 @@ dependencies = [ [[package]] name = "pallet-hotfix-sufficients" version = "1.0.0" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "frame-benchmarking", "frame-support", @@ -9880,7 +9880,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "enumflags2", "frame-benchmarking", @@ -9896,7 +9896,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9915,7 +9915,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9930,7 +9930,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -9941,7 +9941,7 @@ dependencies = [ [[package]] name = "pallet-lottery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9954,7 +9954,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -9970,7 +9970,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "environmental", "frame-benchmarking", @@ -9989,7 +9989,7 @@ dependencies = [ [[package]] name = "pallet-meta-tx" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10007,7 +10007,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10026,7 +10026,7 @@ dependencies = [ [[package]] name = "pallet-mixnet" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -10040,7 +10040,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -10052,7 +10052,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -10063,7 +10063,7 @@ dependencies = [ [[package]] name = "pallet-nft-fractionalization" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "pallet-assets", @@ -10076,7 +10076,7 @@ dependencies = [ [[package]] name = "pallet-nfts" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "enumflags2", "frame-benchmarking", @@ -10093,7 +10093,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10103,7 +10103,7 @@ dependencies = [ [[package]] name = "pallet-node-authorization" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -10114,7 +10114,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10132,7 +10132,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10152,7 +10152,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -10162,7 +10162,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10177,7 +10177,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10200,7 +10200,7 @@ dependencies = [ [[package]] name = "pallet-origin-restriction" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10218,7 +10218,7 @@ dependencies = [ [[package]] name = "pallet-paged-list" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "parity-scale-codec", @@ -10229,7 +10229,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.12.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10246,7 +10246,7 @@ dependencies = [ [[package]] name = "pallet-people" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10264,7 +10264,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10280,7 +10280,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10290,7 +10290,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10308,7 +10308,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -10318,7 +10318,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "assert_matches", "frame-benchmarking", @@ -10353,7 +10353,7 @@ dependencies = [ [[package]] name = "pallet-remark" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10368,7 +10368,7 @@ dependencies = [ [[package]] name = "pallet-revive" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "alloy-core", "derive_more 0.99.20", @@ -10414,7 +10414,7 @@ dependencies = [ [[package]] name = "pallet-revive-fixtures" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "anyhow", "cargo_metadata", @@ -10428,7 +10428,7 @@ dependencies = [ [[package]] name = "pallet-revive-proc-macro" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro2", "quote", @@ -10438,7 +10438,7 @@ dependencies = [ [[package]] name = "pallet-revive-uapi" version = "0.5.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitflags 1.3.2", "pallet-revive-proc-macro", @@ -10450,7 +10450,7 @@ dependencies = [ [[package]] name = "pallet-root-offences" version = "38.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10466,7 +10466,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10479,7 +10479,7 @@ dependencies = [ [[package]] name = "pallet-safe-mode" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "pallet-balances", @@ -10493,7 +10493,7 @@ dependencies = [ [[package]] name = "pallet-salary" version = "26.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "pallet-ranked-collective", @@ -10505,7 +10505,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10522,7 +10522,7 @@ dependencies = [ [[package]] name = "pallet-scored-pool" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10535,7 +10535,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10556,7 +10556,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10602,7 +10602,7 @@ dependencies = [ [[package]] name = "pallet-skip-feeless-payment" version = "16.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10614,7 +10614,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10631,7 +10631,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10653,7 +10653,7 @@ dependencies = [ [[package]] name = "pallet-staking-async" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -10676,7 +10676,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-ah-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10695,7 +10695,7 @@ dependencies = [ [[package]] name = "pallet-staking-async-rc-client" version = "0.2.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10712,7 +10712,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10723,7 +10723,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "sp-arithmetic", @@ -10732,7 +10732,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "sp-api", @@ -10742,7 +10742,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10758,7 +10758,7 @@ dependencies = [ [[package]] name = "pallet-statement" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", @@ -10917,7 +10917,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10932,7 +10932,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -10950,7 +10950,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10968,7 +10968,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -10983,7 +10983,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -10999,7 +10999,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -11011,7 +11011,7 @@ dependencies = [ [[package]] name = "pallet-transaction-storage" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "frame-benchmarking", @@ -11030,7 +11030,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -11049,7 +11049,7 @@ dependencies = [ [[package]] name = "pallet-tx-pause" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "parity-scale-codec", @@ -11060,7 +11060,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -11074,7 +11074,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -11089,7 +11089,7 @@ dependencies = [ [[package]] name = "pallet-verify-signature" version = "0.4.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -11104,7 +11104,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -11118,7 +11118,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -11128,7 +11128,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "20.1.3" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bounded-collections 0.2.4", "frame-benchmarking", @@ -11154,7 +11154,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-benchmarking", "frame-support", @@ -11171,7 +11171,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-messages", "bp-runtime", @@ -11193,7 +11193,7 @@ dependencies = [ [[package]] name = "pallet-xcm-bridge-hub-router" version = "0.19.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-xcm-bridge-hub-router", "frame-benchmarking", @@ -11213,7 +11213,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -11552,7 +11552,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "polkadot-approval-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "futures-timer", @@ -11570,7 +11570,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "futures-timer", @@ -11585,7 +11585,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fatality", "futures", @@ -11608,7 +11608,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "fatality", @@ -11641,7 +11641,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "clap", "frame-benchmarking-cli", @@ -11665,7 +11665,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "fatality", @@ -11688,7 +11688,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -11699,7 +11699,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fatality", "futures", @@ -11721,7 +11721,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -11735,7 +11735,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "futures-timer", @@ -11748,7 +11748,7 @@ dependencies = [ "sc-network", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-keystore", "tracing-gum", ] @@ -11756,7 +11756,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "always-assert", "async-trait", @@ -11779,7 +11779,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "parity-scale-codec", @@ -11797,7 +11797,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "bitvec", @@ -11829,7 +11829,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting-parallel" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -11853,7 +11853,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "futures", @@ -11872,7 +11872,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "fatality", @@ -11893,7 +11893,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "polkadot-node-subsystem", @@ -11908,7 +11908,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -11930,7 +11930,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "polkadot-node-metrics", @@ -11944,7 +11944,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "futures-timer", @@ -11960,7 +11960,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fatality", "futures", @@ -11978,7 +11978,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -11995,7 +11995,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fatality", "futures", @@ -12009,7 +12009,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "fatality", @@ -12026,7 +12026,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "always-assert", "array-bytes 6.2.3", @@ -12054,7 +12054,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "polkadot-node-subsystem", @@ -12067,7 +12067,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cpu-time", "futures", @@ -12082,7 +12082,7 @@ dependencies = [ "sc-executor-wasmtime", "seccompiler", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-externalities", "sp-io", "sp-tracing", @@ -12093,7 +12093,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "polkadot-node-metrics", @@ -12108,7 +12108,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bs58", "futures", @@ -12125,7 +12125,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -12150,7 +12150,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "bounded-vec", @@ -12174,7 +12174,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "polkadot-node-subsystem-types", "polkadot-overseer", @@ -12183,7 +12183,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -12211,7 +12211,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fatality", "futures", @@ -12242,7 +12242,7 @@ dependencies = [ [[package]] name = "polkadot-omni-node-lib" version = "0.7.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "clap", @@ -12328,7 +12328,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -12348,7 +12348,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bounded-collections 0.2.4", "derive_more 0.99.20", @@ -12364,7 +12364,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "bounded-collections 0.2.4", @@ -12393,7 +12393,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -12426,7 +12426,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "frame-benchmarking", @@ -12476,7 +12476,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bs58", "frame-benchmarking", @@ -12488,7 +12488,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "20.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -12536,7 +12536,7 @@ dependencies = [ [[package]] name = "polkadot-sdk" version = "2506.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "assets-common", "bridge-hub-common", @@ -12694,7 +12694,7 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" version = "0.10.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-benchmarking", @@ -12729,7 +12729,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "frame-benchmarking", @@ -12837,7 +12837,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitvec", "fatality", @@ -12857,7 +12857,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -13130,7 +13130,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "derive_more 1.0.0", "environmental", @@ -13159,14 +13159,14 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/frontier?rev=b41edd7ff190507e3530febecc3cf90268c1cc56#b41edd7ff190507e3530febecc3cf90268c1cc56" +source = "git+https://github.com/opentensor/frontier?rev=a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710#a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710" dependencies = [ "case", "num_enum", "prettyplease", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "syn 2.0.106", ] @@ -13348,7 +13348,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "syn 2.0.106", ] @@ -13995,7 +13995,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "binary-merkle-tree", "bitvec", @@ -14093,7 +14093,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "polkadot-primitives", @@ -14489,7 +14489,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "sp-core", @@ -14500,7 +14500,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -14531,7 +14531,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "log", @@ -14553,7 +14553,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.45.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "sp-api", @@ -14568,7 +14568,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "clap", @@ -14584,7 +14584,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -14595,7 +14595,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -14606,7 +14606,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.53.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -14648,7 +14648,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fnv", "futures", @@ -14674,7 +14674,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.47.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "hash-db", "kvdb", @@ -14702,7 +14702,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -14725,7 +14725,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -14754,7 +14754,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "fork-tree", @@ -14779,7 +14779,7 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-inherents", "sp-keystore", "sp-runtime", @@ -14790,7 +14790,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "jsonrpsee", @@ -14812,7 +14812,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -14846,7 +14846,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "jsonrpsee", @@ -14866,7 +14866,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "fork-tree", "parity-scale-codec", @@ -14879,7 +14879,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ahash", "array-bytes 6.2.3", @@ -14913,7 +14913,7 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-keystore", "sp-runtime", "substrate-prometheus-endpoint", @@ -14923,7 +14923,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "finality-grandpa", "futures", @@ -14943,7 +14943,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "assert_matches", "async-trait", @@ -14978,7 +14978,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -15001,7 +15001,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -15024,7 +15024,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "polkavm 0.24.0", "sc-allocator", @@ -15037,7 +15037,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.36.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "polkavm 0.24.0", @@ -15048,7 +15048,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "anyhow", "log", @@ -15064,7 +15064,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "console", "futures", @@ -15080,7 +15080,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "36.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.5", @@ -15094,7 +15094,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "arrayvec 0.7.6", @@ -15122,7 +15122,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.51.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15172,7 +15172,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.49.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -15182,7 +15182,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ahash", "futures", @@ -15201,7 +15201,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15222,7 +15222,7 @@ dependencies = [ [[package]] name = "sc-network-statement" version = "0.33.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15242,7 +15242,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "async-channel 1.9.0", @@ -15277,7 +15277,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15296,7 +15296,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.17.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bs58", "bytes", @@ -15317,7 +15317,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bytes", "fnv", @@ -15351,7 +15351,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.20.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -15360,7 +15360,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "46.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "jsonrpsee", @@ -15392,7 +15392,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.50.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15412,7 +15412,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -15436,7 +15436,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "futures", @@ -15469,13 +15469,13 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" version = "0.3.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "sc-executor", "sc-executor-common", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-state-machine", "sp-wasm-interface", "thiserror 1.0.69", @@ -15484,7 +15484,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.52.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "directories", @@ -15548,7 +15548,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.39.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -15559,7 +15559,7 @@ dependencies = [ [[package]] name = "sc-statement-store" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-db", @@ -15578,7 +15578,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.25.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "clap", "fs4", @@ -15591,7 +15591,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.51.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15610,7 +15610,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "43.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "derive_more 0.99.20", "futures", @@ -15623,14 +15623,14 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-io", ] [[package]] name = "sc-telemetry" version = "29.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "chrono", "futures", @@ -15649,7 +15649,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "chrono", "console", @@ -15677,7 +15677,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -15688,7 +15688,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "40.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -15705,7 +15705,7 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-runtime", "sp-tracing", "sp-transaction-pool", @@ -15719,7 +15719,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -15736,7 +15736,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-channel 1.9.0", "futures", @@ -16454,7 +16454,7 @@ checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "slot-range-helper" version = "18.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "enumn", "parity-scale-codec", @@ -16717,7 +16717,7 @@ dependencies = [ [[package]] name = "snowbridge-core" version = "0.14.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bp-relayers", "frame-support", @@ -16801,7 +16801,7 @@ dependencies = [ [[package]] name = "sp-api" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "hash-db", @@ -16823,7 +16823,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "23.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "Inflector", "blake2 0.10.6", @@ -16837,7 +16837,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "41.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -16849,7 +16849,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "integer-sqrt", @@ -16863,7 +16863,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -16875,7 +16875,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-api", "sp-inherents", @@ -16885,7 +16885,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "futures", "parity-scale-codec", @@ -16904,7 +16904,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "futures", @@ -16918,7 +16918,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "parity-scale-codec", @@ -16934,7 +16934,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "parity-scale-codec", @@ -16952,7 +16952,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "25.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -16960,7 +16960,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-io", "sp-keystore", "sp-mmr-primitives", @@ -16972,7 +16972,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "24.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "finality-grandpa", "log", @@ -16989,7 +16989,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17000,7 +17000,7 @@ dependencies = [ [[package]] name = "sp-core" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ark-vrf", "array-bytes 6.2.3", @@ -17031,7 +17031,7 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-debug-derive", "sp-externalities", "sp-runtime-interface", @@ -17048,7 +17048,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.16.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -17082,7 +17082,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "blake2b_simd", "byteorder", @@ -17095,17 +17095,17 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "syn 2.0.106", ] [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "kvdb", "parking_lot 0.12.5", @@ -17114,7 +17114,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "proc-macro2", "quote", @@ -17124,7 +17124,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.30.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "environmental", "parity-scale-codec", @@ -17134,7 +17134,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.18.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17146,7 +17146,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -17159,7 +17159,7 @@ dependencies = [ [[package]] name = "sp-io" version = "41.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bytes", "docify", @@ -17171,7 +17171,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -17185,7 +17185,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-core", "sp-runtime", @@ -17195,7 +17195,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.43.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -17206,7 +17206,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -17215,7 +17215,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.11.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-metadata 23.0.0", "parity-scale-codec", @@ -17225,7 +17225,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.15.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17236,7 +17236,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "log", "parity-scale-codec", @@ -17253,7 +17253,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17266,7 +17266,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-api", "sp-core", @@ -17276,7 +17276,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "backtrace", "regex", @@ -17285,7 +17285,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "35.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -17295,7 +17295,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "42.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "binary-merkle-tree", "docify", @@ -17324,7 +17324,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "30.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -17343,7 +17343,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "19.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "Inflector", "expander", @@ -17356,7 +17356,7 @@ dependencies = [ [[package]] name = "sp-session" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17370,7 +17370,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "39.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -17383,7 +17383,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.46.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "hash-db", "log", @@ -17403,7 +17403,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -17416,7 +17416,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3)", + "sp-crypto-hashing 0.1.0 (git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee)", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -17427,12 +17427,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" [[package]] name = "sp-storage" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17444,7 +17444,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "parity-scale-codec", @@ -17456,7 +17456,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "tracing", @@ -17467,7 +17467,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "sp-api", "sp-runtime", @@ -17476,7 +17476,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "37.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "async-trait", "parity-scale-codec", @@ -17490,7 +17490,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "ahash", "foldhash 0.1.5", @@ -17515,7 +17515,7 @@ dependencies = [ [[package]] name = "sp-version" version = "40.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "impl-serde", "parity-scale-codec", @@ -17532,7 +17532,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "15.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -17544,7 +17544,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "22.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -17556,7 +17556,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "32.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "bounded-collections 0.2.4", "parity-scale-codec", @@ -17730,7 +17730,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-chain-spec-builder" version = "12.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "clap", "docify", @@ -17743,7 +17743,7 @@ dependencies = [ [[package]] name = "staging-node-inspect" version = "0.29.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "clap", "parity-scale-codec", @@ -17761,7 +17761,7 @@ dependencies = [ [[package]] name = "staging-parachain-info" version = "0.21.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -17774,7 +17774,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "17.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "bounded-collections 0.2.4", @@ -17795,7 +17795,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "21.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "environmental", "frame-support", @@ -17819,7 +17819,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "20.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "environmental", "frame-benchmarking", @@ -17873,7 +17873,7 @@ dependencies = [ [[package]] name = "stc-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "anyhow", "async-trait", @@ -17894,7 +17894,7 @@ dependencies = [ [[package]] name = "stp-shield" version = "0.1.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "parity-scale-codec", "scale-info", @@ -17964,7 +17964,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -17989,7 +17989,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" [[package]] name = "substrate-fixed" @@ -18005,7 +18005,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "45.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -18025,7 +18025,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.6" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "http-body-util", "hyper 1.7.0", @@ -18039,7 +18039,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "44.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -18066,7 +18066,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "27.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -19100,7 +19100,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "20.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "coarsetime", "polkadot-primitives", @@ -19111,7 +19111,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -20105,7 +20105,7 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "westend-runtime" version = "24.0.1" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "binary-merkle-tree", "bitvec", @@ -20212,7 +20212,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "polkadot-primitives", @@ -20853,7 +20853,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "11.0.2" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "Inflector", "proc-macro2", @@ -20864,7 +20864,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.8.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "parity-scale-codec", @@ -20878,7 +20878,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "21.0.0" -source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3#741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3" +source = "git+https://github.com/opentensor/polkadot-sdk.git?rev=fb1dd20df37710800aa284ac49bb26193d5539ee#fb1dd20df37710800aa284ac49bb26193d5539ee" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 9436a10eb2..0d95b9a054 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,8 +73,8 @@ subtensor-runtime-common = { default-features = false, path = "common" } subtensor-swap-interface = { default-features = false, path = "pallets/swap-interface" } subtensor-transaction-fee = { default-features = false, path = "pallets/transaction-fee" } subtensor-chain-extensions = { default-features = false, path = "chain-extensions" } -stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +stp-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +stc-shield = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } ed25519-dalek = { version = "2.1.0", default-features = false } async-trait = "0.1" @@ -126,158 +126,158 @@ num_enum = { version = "0.7.4", default-features = false } environmental = { version = "1.1.4", default-features = false } tokio = { version = "1.38", default-features = false } -frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame = { package = "polkadot-sdk-frame", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-executive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-system-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-try-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-benchmarking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } frame-metadata = { version = "23.0.0", default-features = false } pallet-subtensor-proxy = { path = "pallets/proxy", default-features = false } pallet-subtensor-utility = { path = "pallets/utility", default-features = false } -pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +pallet-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-balances = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-multisig = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-preimage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-safe-mode = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-scheduler = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-sudo = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-transaction-payment = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-root-testing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-contracts = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } # NPoS -frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +frame-election-provider-support = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-bags-list = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-fast-unstake = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-nomination-pools = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-nomination-pools-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-staking-reward-fn = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +pallet-offences = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } -sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sc-basic-authorship = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-cli = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-client-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-babe-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-grandpa-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-epochs = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-chain-spec-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-chain-spec = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-executor = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-network = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-rpc-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-service = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-telemetry = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-transaction-pool-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-consensus-manual-seal = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sc-network-sync = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } -sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-api = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-authority-discovery = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-arithmetic = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-block-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-blockchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-staking = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-consensus = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-consensus-aura = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-consensus-babe = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-consensus-slots = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-npos-elections = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-genesis-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-core = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-inherents = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-io = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-keyring = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-offchain = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-rpc = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-runtime = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-session = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-std = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-storage = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-timestamp = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-tracing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-transaction-pool = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-version = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-weights = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-crypto-hashing = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-application-crypto = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-debug-derive = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-externalities = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-runtime-interface = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } -substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +substrate-build-script-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.6.0", default-features = false } -substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +substrate-frame-rpc-system = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +substrate-wasm-builder = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +substrate-prometheus-endpoint = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } -polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +polkadot-sdk = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } -runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +runtime-common = { package = "polkadot-runtime-common", git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } # Frontier -fp-evm = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fp-account = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-storage = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-db = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-api = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-aura = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-babe = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +fp-evm = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fp-rpc = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fp-self-contained = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fp-account = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-storage = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-db = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-consensus = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fp-consensus = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fp-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-api = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-rpc = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-rpc-core = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-aura = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-babe = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +fc-mapping-sync = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +precompile-utils = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } # Frontier FRAME -pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } -pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "b41edd7ff190507e3530febecc3cf90268c1cc56", default-features = false } +pallet-base-fee = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-dynamic-fee = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-ethereum = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } +pallet-hotfix-sufficients = { git = "https://github.com/opentensor/frontier", rev = "a1aa78ca4a0b9ca21324cdc555ccbfa56a16f710", default-features = false } #DRAND pallet-drand = { path = "pallets/drand", default-features = false } -sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } -sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "741ca9d7e6a28569b59a6bf8a64bf3d205e88dc3", default-features = false } +sp-crypto-ec-utils = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } +sp-keystore = { git = "https://github.com/opentensor/polkadot-sdk.git", rev = "fb1dd20df37710800aa284ac49bb26193d5539ee", default-features = false } w3f-bls = { git = "https://github.com/opentensor/bls", branch = "fix-no-std", default-features = false } ark-crypto-primitives = { version = "0.4.0", default-features = false } ark-scale = { version = "0.0.11", default-features = false } From af7d2b52edabf5f11dc06bbf50822b5ed1610a41 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Tue, 10 Mar 2026 10:34:28 +0100 Subject: [PATCH 194/204] - cargo fmt --- .../subtensor/src/tests/swap_hotkey_with_subnet.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index be2895941c..0d249f5137 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -2190,9 +2190,7 @@ fn test_revert_claim_root_with_swap_hotkey() { .into(); let hk1_root_claimed = RootClaimed::::get((netuid, &hk1, &coldkey)); - let hk1_claimable = *RootClaimable::::get(hk1) - .get(&netuid) - .unwrap(); + let hk1_claimable = *RootClaimable::::get(hk1).get(&netuid).unwrap(); assert_eq!(u128::from(stake_after_claim), hk1_root_claimed); assert!(!RootClaimable::::get(hk2).contains_key(&netuid)); @@ -2217,9 +2215,7 @@ fn test_revert_claim_root_with_swap_hotkey() { ); assert!(!RootClaimable::::get(hk1).contains_key(&netuid)); assert_eq!( - *RootClaimable::::get(hk2) - .get(&netuid) - .unwrap(), + *RootClaimable::::get(hk2).get(&netuid).unwrap(), hk1_claimable, "hk2 must have hk1's RootClaimable after swap" ); @@ -2246,9 +2242,7 @@ fn test_revert_claim_root_with_swap_hotkey() { assert!(!RootClaimable::::get(hk2).contains_key(&netuid)); assert_eq!( - *RootClaimable::::get(hk1) - .get(&netuid) - .unwrap(), + *RootClaimable::::get(hk1).get(&netuid).unwrap(), hk1_claimable, "hk1 RootClaimable must be restored after revert" ); From c2d5dbe39d6f0771518c02e4550a3b53243caa80 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Tue, 10 Mar 2026 10:35:50 +0100 Subject: [PATCH 195/204] - runtime version bump --- 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 b21af85162..cc9e42558d 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -267,7 +267,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: 387, + spec_version: 388, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From fa41075c84769d6890721fbc42a5e0c19a0683b8 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Tue, 10 Mar 2026 13:10:12 +0100 Subject: [PATCH 196/204] - Use match instead --- pallets/subtensor/src/swap/swap_hotkey.rs | 29 ++++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index c2d7c54567..95710e4fb2 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -57,20 +57,21 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads(2)); - // 7. Ensure the new hotkey is not already registered on any network, only if netuid is none - if netuid.is_none() { - ensure!( - !Self::is_hotkey_registered_on_any_network(new_hotkey), - Error::::HotKeyAlreadyRegisteredInSubNet - ); - } - - // 7.1. Ensure the hotkey is not registered on the network before, if netuid is provided - if let Some(netuid) = netuid { - ensure!( - !Self::is_hotkey_registered_on_specific_network(new_hotkey, netuid), - Error::::HotKeyAlreadyRegisteredInSubNet - ); + match netuid { + // 7. Ensure the hotkey is not registered on the network before, if netuid is provided + Some(netuid) => { + ensure!( + !Self::is_hotkey_registered_on_specific_network(new_hotkey, netuid), + Error::::HotKeyAlreadyRegisteredInSubNet + ); + } + // 7.1 Ensure the new hotkey is not already registered on any network, only if netuid is none + None => { + ensure!( + !Self::is_hotkey_registered_on_any_network(new_hotkey), + Error::::HotKeyAlreadyRegisteredInSubNet + ); + } } // 8. Swap LastTxBlock From 27e32abf2b7ba200c637e97fc8f79190189eff3f Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Tue, 10 Mar 2026 19:23:57 +0100 Subject: [PATCH 197/204] - Added optional keep_stake parameter for swap_hotkey extrinsic --- pallets/subtensor/src/benchmarks.rs | 1 + pallets/subtensor/src/macros/dispatches.rs | 13 +- pallets/subtensor/src/swap/swap_hotkey.rs | 200 ++++++++++-------- pallets/subtensor/src/tests/claim_root.rs | 3 +- pallets/subtensor/src/tests/swap_hotkey.rs | 100 ++++++--- .../src/tests/swap_hotkey_with_subnet.rs | 178 ++++++++++------ 6 files changed, 318 insertions(+), 177 deletions(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 98bb64c263..a8339d214d 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -1349,6 +1349,7 @@ mod pallet_benchmarks { old.clone(), new.clone(), None, + false, ); } diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 93803cfc13..71380c9825 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -1051,7 +1051,15 @@ mod dispatches { Self::do_burned_registration(origin, netuid, hotkey) } - /// The extrinsic for user to change its hotkey in subnet or all subnets. + /// ---- The extrinsic for user to change its hotkey in subnet or all subnets. + /// + /// # Arguments + /// * `origin` - The origin of the transaction (must be signed by the coldkey). + /// * `hotkey` - The old hotkey to be swapped. + /// * `new_hotkey` - The new hotkey to replace the old one. + /// * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. + /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata + /// is transferred to the new hotkey. #[pallet::call_index(70)] #[pallet::weight((Weight::from_parts(275_300_000, 0) .saturating_add(T::DbWeight::get().reads(52_u64)) @@ -1061,8 +1069,9 @@ mod dispatches { hotkey: T::AccountId, new_hotkey: T::AccountId, netuid: Option, + maybe_keep_stake: Option, ) -> DispatchResultWithPostInfo { - Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid) + Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, maybe_keep_stake) } /// Performs an arbitrary coldkey swap for any coldkey. diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index 95710e4fb2..fc803f1bb3 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -13,6 +13,7 @@ impl Pallet { /// * `old_hotkey` - The old hotkey to be swapped. /// * `new_hotkey` - The new hotkey to replace the old one. /// * `netuid` - The hotkey swap in a subnet or all subnets. + /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata /// /// # Returns /// @@ -30,7 +31,10 @@ impl Pallet { old_hotkey: &T::AccountId, new_hotkey: &T::AccountId, netuid: Option, + maybe_keep_stake: Option, ) -> DispatchResultWithPostInfo { + let keep_stake = maybe_keep_stake.unwrap_or(false); + // 1. Ensure the origin is signed and get the coldkey let coldkey = ensure_signed(origin)?; @@ -91,7 +95,9 @@ impl Pallet { // 11. fork for swap hotkey on a specific subnet case after do the common check if let Some(netuid) = netuid { - return Self::swap_hotkey_on_subnet(&coldkey, old_hotkey, new_hotkey, netuid, weight); + return Self::swap_hotkey_on_subnet( + &coldkey, old_hotkey, new_hotkey, netuid, weight, keep_stake, + ); }; // Start to do everything for swap hotkey on all subnets case @@ -116,7 +122,13 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(0, 2)); // 19. Perform the hotkey swap - Self::perform_hotkey_swap_on_all_subnets(old_hotkey, new_hotkey, &coldkey, &mut weight)?; + Self::perform_hotkey_swap_on_all_subnets( + old_hotkey, + new_hotkey, + &coldkey, + &mut weight, + keep_stake, + )?; // 20. Update the last transaction block for the coldkey Self::set_last_tx_block(&coldkey, block); @@ -171,6 +183,7 @@ impl Pallet { new_hotkey: &T::AccountId, coldkey: &T::AccountId, weight: &mut Weight, + keep_stake: bool, ) -> DispatchResult { // 1. keep the old hotkey alpha values for the case where hotkey staked by multiple coldkeys. let old_alpha_values: Vec<((T::AccountId, NetUid), U64F64)> = @@ -199,7 +212,9 @@ impl Pallet { // 5. execute the hotkey swap on all subnets for netuid in Self::get_all_subnet_netuids() { - Self::perform_hotkey_swap_on_one_subnet(old_hotkey, new_hotkey, weight, netuid)?; + Self::perform_hotkey_swap_on_one_subnet( + old_hotkey, new_hotkey, weight, netuid, keep_stake, + )?; } // 6. Swap LastTxBlock @@ -228,18 +243,20 @@ impl Pallet { // 10. Alpha already update in perform_hotkey_swap_on_one_subnet // Update the StakingHotkeys for the case where hotkey staked by multiple coldkeys. - for ((coldkey, _netuid), _alpha) in old_alpha_values { - // Swap StakingHotkeys. - // StakingHotkeys( coldkey ) --> Vec -- the hotkeys that the coldkey stakes. - let mut staking_hotkeys = StakingHotkeys::::get(&coldkey); - weight.saturating_accrue(T::DbWeight::get().reads(1)); - if staking_hotkeys.contains(old_hotkey) { - staking_hotkeys.retain(|hk| *hk != *old_hotkey && *hk != *new_hotkey); - if !staking_hotkeys.contains(new_hotkey) { - staking_hotkeys.push(new_hotkey.clone()); + if !keep_stake { + for ((coldkey, _netuid), _alpha) in old_alpha_values { + // Swap StakingHotkeys. + // StakingHotkeys( coldkey ) --> Vec -- the hotkeys that the coldkey stakes. + let mut staking_hotkeys = StakingHotkeys::::get(&coldkey); + weight.saturating_accrue(T::DbWeight::get().reads(1)); + if staking_hotkeys.contains(old_hotkey) { + staking_hotkeys.retain(|hk| *hk != *old_hotkey && *hk != *new_hotkey); + if !staking_hotkeys.contains(new_hotkey) { + staking_hotkeys.push(new_hotkey.clone()); + } + StakingHotkeys::::insert(&coldkey, staking_hotkeys); + weight.saturating_accrue(T::DbWeight::get().writes(1)); } - StakingHotkeys::::insert(&coldkey, staking_hotkeys); - weight.saturating_accrue(T::DbWeight::get().writes(1)); } } @@ -253,6 +270,7 @@ impl Pallet { new_hotkey: &T::AccountId, netuid: NetUid, init_weight: Weight, + keep_stake: bool, ) -> DispatchResultWithPostInfo { // 1. Ensure coldkey not swap hotkey too frequently let mut weight: Weight = init_weight; @@ -310,7 +328,13 @@ impl Pallet { } // 9. Perform the hotkey swap - Self::perform_hotkey_swap_on_one_subnet(old_hotkey, new_hotkey, &mut weight, netuid)?; + Self::perform_hotkey_swap_on_one_subnet( + old_hotkey, + new_hotkey, + &mut weight, + netuid, + keep_stake, + )?; // 10. Update the last transaction block for the coldkey Self::set_last_tx_block(coldkey, block); @@ -334,24 +358,27 @@ impl Pallet { new_hotkey: &T::AccountId, weight: &mut Weight, netuid: NetUid, + keep_stake: bool, ) -> DispatchResult { // 1. Swap total hotkey alpha for all subnets it exists on. // TotalHotkeyAlpha( hotkey, netuid ) -> alpha -- the total alpha that the hotkey has on a specific subnet. - let alpha = TotalHotkeyAlpha::::take(old_hotkey, netuid); + // Only transfer stake when keep_stake is false. + if !keep_stake { + let alpha = TotalHotkeyAlpha::::take(old_hotkey, netuid); - TotalHotkeyAlpha::::mutate(new_hotkey, netuid, |value| { - *value = value.saturating_add(alpha) - }); - weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + TotalHotkeyAlpha::::mutate(new_hotkey, netuid, |value| { + *value = value.saturating_add(alpha) + }); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); - // 2. Swap total hotkey shares on all subnets it exists on. - // TotalHotkeyShares( hotkey, netuid ) -> alpha -- the total alpha that the hotkey has on a specific subnet. - let share = TotalHotkeyShares::::take(old_hotkey, netuid); - // TotalHotkeyAlpha::::remove(old_hotkey, netuid); - TotalHotkeyShares::::mutate(new_hotkey, netuid, |value| { - *value = value.saturating_add(share) - }); - weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + // 2. Swap total hotkey shares on all subnets it exists on. + // TotalHotkeyShares( hotkey, netuid ) -> alpha -- the total alpha that the hotkey has on a specific subnet. + let share = TotalHotkeyShares::::take(old_hotkey, netuid); + TotalHotkeyShares::::mutate(new_hotkey, netuid, |value| { + *value = value.saturating_add(share) + }); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + } // 3. Swap all subnet specific info. @@ -481,68 +508,71 @@ impl Pallet { // 8. Swap dividend records // 8.1 Swap TotalHotkeyAlphaLastEpoch - let old_alpha = TotalHotkeyAlphaLastEpoch::::take(old_hotkey, netuid); - let new_total_hotkey_alpha = TotalHotkeyAlphaLastEpoch::::get(new_hotkey, netuid); - TotalHotkeyAlphaLastEpoch::::insert( - new_hotkey, - netuid, - old_alpha.saturating_add(new_total_hotkey_alpha), - ); - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - - // 8.2 Swap AlphaDividendsPerSubnet - let old_hotkey_alpha_dividends = AlphaDividendsPerSubnet::::get(netuid, old_hotkey); - let new_hotkey_alpha_dividends = AlphaDividendsPerSubnet::::get(netuid, new_hotkey); - AlphaDividendsPerSubnet::::remove(netuid, old_hotkey); - AlphaDividendsPerSubnet::::insert( - netuid, - new_hotkey, - old_hotkey_alpha_dividends.saturating_add(new_hotkey_alpha_dividends), - ); - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - - // 8.3 Swap TaoDividendsPerSubnet - // Tao dividends were removed - - // 8.4 Swap VotingPower - // VotingPower( netuid, hotkey ) --> u64 -- the voting power EMA for the hotkey. - Self::swap_voting_power_for_hotkey(old_hotkey, new_hotkey, netuid); - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - - // 9. Swap Alpha - // Alpha( hotkey, coldkey, netuid ) -> alpha - let old_alpha_values: Vec<((T::AccountId, NetUid), U64F64)> = - Alpha::::iter_prefix((old_hotkey,)).collect(); - weight.saturating_accrue(T::DbWeight::get().reads(old_alpha_values.len() as u64)); - weight.saturating_accrue(T::DbWeight::get().writes(old_alpha_values.len() as u64)); + if !keep_stake { + // 8.1 Swap TotalHotkeyAlphaLastEpoch + let old_alpha = TotalHotkeyAlphaLastEpoch::::take(old_hotkey, netuid); + let new_total_hotkey_alpha = TotalHotkeyAlphaLastEpoch::::get(new_hotkey, netuid); + TotalHotkeyAlphaLastEpoch::::insert( + new_hotkey, + netuid, + old_alpha.saturating_add(new_total_hotkey_alpha), + ); + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - // 9.1. Transfer root claimable + // 8.2 Swap AlphaDividendsPerSubnet + let old_hotkey_alpha_dividends = AlphaDividendsPerSubnet::::get(netuid, old_hotkey); + let new_hotkey_alpha_dividends = AlphaDividendsPerSubnet::::get(netuid, new_hotkey); + AlphaDividendsPerSubnet::::remove(netuid, old_hotkey); + AlphaDividendsPerSubnet::::insert( + netuid, + new_hotkey, + old_hotkey_alpha_dividends.saturating_add(new_hotkey_alpha_dividends), + ); + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - Self::transfer_root_claimable_for_new_hotkey(old_hotkey, new_hotkey); + // 8.3 Swap TaoDividendsPerSubnet + // Tao dividends were removed - // 9.2. Insert the new alpha values. - for ((coldkey, netuid_alpha), alpha) in old_alpha_values { - if netuid == netuid_alpha { - Self::transfer_root_claimed_for_new_keys( - netuid, old_hotkey, new_hotkey, &coldkey, &coldkey, - ); + // 8.4 Swap VotingPower + // VotingPower( netuid, hotkey ) --> u64 -- the voting power EMA for the hotkey. + Self::swap_voting_power_for_hotkey(old_hotkey, new_hotkey, netuid); + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - let new_alpha = Alpha::::take((new_hotkey, &coldkey, netuid)); - Alpha::::remove((old_hotkey, &coldkey, netuid)); - Alpha::::insert( - (new_hotkey, &coldkey, netuid), - alpha.saturating_add(new_alpha), - ); - weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); + // 9. Swap Alpha + // Alpha( hotkey, coldkey, netuid ) -> alpha + let old_alpha_values: Vec<((T::AccountId, NetUid), U64F64)> = + Alpha::::iter_prefix((old_hotkey,)).collect(); + weight.saturating_accrue(T::DbWeight::get().reads(old_alpha_values.len() as u64)); + weight.saturating_accrue(T::DbWeight::get().writes(old_alpha_values.len() as u64)); + + // 9.1. Transfer root claimable + Self::transfer_root_claimable_for_new_hotkey(old_hotkey, new_hotkey); + + // 9.2. Insert the new alpha values. + for ((coldkey, netuid_alpha), alpha) in old_alpha_values { + if netuid == netuid_alpha { + Self::transfer_root_claimed_for_new_keys( + netuid, old_hotkey, new_hotkey, &coldkey, &coldkey, + ); + + let new_alpha = Alpha::::take((new_hotkey, &coldkey, netuid)); + Alpha::::remove((old_hotkey, &coldkey, netuid)); + Alpha::::insert( + (new_hotkey, &coldkey, netuid), + alpha.saturating_add(new_alpha), + ); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); - // Swap StakingHotkeys. - // StakingHotkeys( coldkey ) --> Vec -- the hotkeys that the coldkey stakes. - let mut staking_hotkeys = StakingHotkeys::::get(&coldkey); - weight.saturating_accrue(T::DbWeight::get().reads(1)); - if staking_hotkeys.contains(old_hotkey) && !staking_hotkeys.contains(new_hotkey) { - staking_hotkeys.push(new_hotkey.clone()); - StakingHotkeys::::insert(&coldkey, staking_hotkeys); - weight.saturating_accrue(T::DbWeight::get().writes(1)); + // Swap StakingHotkeys. + // StakingHotkeys( coldkey ) --> Vec -- the hotkeys that the coldkey stakes. + let mut staking_hotkeys = StakingHotkeys::::get(&coldkey); + weight.saturating_accrue(T::DbWeight::get().reads(1)); + if staking_hotkeys.contains(old_hotkey) && !staking_hotkeys.contains(new_hotkey) + { + staking_hotkeys.push(new_hotkey.clone()); + StakingHotkeys::::insert(&coldkey, staking_hotkeys); + weight.saturating_accrue(T::DbWeight::get().writes(1)); + } } } } diff --git a/pallets/subtensor/src/tests/claim_root.rs b/pallets/subtensor/src/tests/claim_root.rs index 70999ebf01..0f628d6b86 100644 --- a/pallets/subtensor/src/tests/claim_root.rs +++ b/pallets/subtensor/src/tests/claim_root.rs @@ -1280,7 +1280,8 @@ fn test_claim_root_with_swap_hotkey() { &hotkey, &new_hotkey, &mut weight, - netuid + netuid, + false, )); // Check swapped keys claimed values diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 87812a32aa..077c4de94f 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -29,7 +29,8 @@ fn test_swap_owner() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!Owner::::contains_key(old_hotkey)); @@ -51,7 +52,8 @@ fn test_swap_owned_hotkeys() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); let hotkeys = OwnedHotkeys::::get(coldkey); @@ -105,7 +107,8 @@ fn test_swap_total_hotkey_stake() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); // Verify that total hotkey stake swapped @@ -135,7 +138,8 @@ fn test_swap_delegates() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!Delegates::::contains_key(old_hotkey)); @@ -159,7 +163,8 @@ fn test_swap_subnet_membership() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!IsNetworkMember::::contains_key(old_hotkey, netuid)); @@ -187,7 +192,8 @@ fn test_swap_uids_and_keys() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert_eq!(Uids::::get(netuid, old_hotkey), None); @@ -215,7 +221,8 @@ fn test_swap_prometheus() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!Prometheus::::contains_key(netuid, old_hotkey)); @@ -245,7 +252,8 @@ fn test_swap_axons() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!Axons::::contains_key(netuid, old_hotkey)); @@ -272,7 +280,8 @@ fn test_swap_certificates() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!NeuronCertificates::::contains_key( @@ -309,7 +318,8 @@ fn test_swap_weight_commits() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(!WeightCommits::::contains_key( @@ -346,7 +356,8 @@ fn test_swap_loaded_emission() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); let new_loaded_emission = LoadedEmission::::get(netuid); @@ -379,7 +390,8 @@ fn test_swap_staking_hotkeys() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); let staking_hotkeys = StakingHotkeys::::get(coldkey); @@ -434,7 +446,8 @@ fn test_swap_hotkey_with_multiple_coldkeys() { &old_hotkey, &new_hotkey, &coldkey1, - &mut weight + &mut weight, + false )); assert_eq!( @@ -470,7 +483,8 @@ fn test_swap_hotkey_with_multiple_subnets() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); assert!(IsNetworkMember::::get(new_hotkey, netuid1)); @@ -528,7 +542,8 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { &old_hotkey, &new_hotkey, &coldkey1, - &mut weight + &mut weight, + false )); // Check if new_hotkey replaced old_hotkey in StakingHotkeys @@ -563,7 +578,8 @@ fn test_swap_hotkey_with_no_stake() { &old_hotkey, &new_hotkey, &coldkey, - &mut weight + &mut weight, + false )); // Check if ownership transferred @@ -638,7 +654,8 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &old_hotkey, &new_hotkey, &coldkey1, - &mut weight + &mut weight, + false )); // Check ownership transfer @@ -745,7 +762,8 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { <::RuntimeOrigin>::signed(coldkey), &old_hotkey, &new_hotkey_1, - None + None, + None, )); // Attempt to perform another swap immediately, which should fail due to rate limit @@ -754,7 +772,8 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { <::RuntimeOrigin>::signed(coldkey), &new_hotkey_1, &new_hotkey_2, - None + None, + None, ), Error::::HotKeySetTxRateLimitExceeded ); @@ -765,7 +784,8 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { <::RuntimeOrigin>::signed(coldkey), &new_hotkey_1, &new_hotkey_2, - None + None, + None, )); }); } @@ -793,7 +813,8 @@ fn test_do_swap_hotkey_err_not_owner() { <::RuntimeOrigin>::signed(not_owner_coldkey), &old_hotkey, &new_hotkey, - None + None, + None, ), Error::::NonAssociatedColdKey ); @@ -818,6 +839,7 @@ fn test_swap_owner_old_hotkey_not_exist() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap @@ -846,6 +868,7 @@ fn test_swap_owner_new_hotkey_already_exists() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap @@ -885,6 +908,7 @@ fn test_swap_stake_success() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap @@ -958,6 +982,7 @@ fn test_swap_stake_old_hotkey_not_exist() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify that new_hotkey has the stake and old_hotkey does not @@ -1014,7 +1039,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - None + None, + None, ), Error::::NotEnoughBalanceToPaySwapHotKey ); @@ -1028,7 +1054,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &old_hotkey, - None + None, + None, ), Error::::NewHotKeyIsSameWithOld ); @@ -1040,7 +1067,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - None + None, + None, ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -1052,7 +1080,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(wrong_coldkey), &old_hotkey, &new_hotkey, - None + None, + None, ), Error::::NonAssociatedColdKey ); @@ -1062,7 +1091,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - None + None, + None, )); // Check balance after swap @@ -1091,6 +1121,7 @@ fn test_swap_child_keys() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap @@ -1124,6 +1155,7 @@ fn test_swap_parent_keys() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify ParentKeys swap @@ -1168,6 +1200,7 @@ fn test_swap_multiple_subnets() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap for both subnets @@ -1218,6 +1251,7 @@ fn test_swap_complex_parent_child_structure() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify ParentKeys swap @@ -1278,7 +1312,8 @@ fn test_swap_parent_hotkey_childkey_maps() { &parent_old, &parent_new, &coldkey, - &mut weight + &mut weight, + false )); // Verify parent and child keys updates @@ -1333,7 +1368,8 @@ fn test_swap_child_hotkey_childkey_maps() { &child_old, &child_new, &coldkey, - &mut weight + &mut weight, + false )); // Verify parent and child keys updates @@ -1372,6 +1408,7 @@ fn test_swap_hotkey_is_sn_owner_hotkey() { &new_hotkey, &coldkey, &mut weight, + false, ); // Check for SubnetOwnerHotkey @@ -1405,7 +1442,8 @@ fn test_swap_hotkey_swap_rate_limits() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - None + None, + None, )); // Check for new hotkey @@ -1463,7 +1501,8 @@ fn test_swap_parent_hotkey_self_loops_in_pending() { &parent_old, &parent_new, &coldkey, - &mut weight + &mut weight, + false ), Error::::InvalidChild ); @@ -1491,6 +1530,7 @@ fn test_swap_auto_stake_destination_coldkeys() { &new_hotkey, &coldkey, &mut weight, + false, ); // Verify the swap diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 0d249f5137..b335543d02 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -30,7 +30,8 @@ fn test_swap_owner() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None, )); assert_eq!(Owner::::get(old_hotkey), coldkey); @@ -55,7 +56,8 @@ fn test_swap_owned_hotkeys() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); let hotkeys = OwnedHotkeys::::get(coldkey); @@ -107,7 +109,8 @@ fn test_swap_total_hotkey_stake() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); // Verify that total hotkey stake swapped @@ -141,7 +144,8 @@ fn test_swap_delegates() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(Delegates::::contains_key(old_hotkey)); @@ -166,7 +170,8 @@ fn test_swap_subnet_membership() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(!IsNetworkMember::::contains_key(old_hotkey, netuid)); @@ -195,7 +200,8 @@ fn test_swap_uids_and_keys() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert_eq!(Uids::::get(netuid, old_hotkey), None); @@ -226,7 +232,8 @@ fn test_swap_prometheus() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(!Prometheus::::contains_key(netuid, old_hotkey)); @@ -259,7 +266,8 @@ fn test_swap_axons() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(!Axons::::contains_key(netuid, old_hotkey)); @@ -289,7 +297,8 @@ fn test_swap_certificates() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(!NeuronCertificates::::contains_key( @@ -329,7 +338,8 @@ fn test_swap_weight_commits() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(!WeightCommits::::contains_key( @@ -369,7 +379,8 @@ fn test_swap_loaded_emission() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); let new_loaded_emission = LoadedEmission::::get(netuid); @@ -398,7 +409,8 @@ fn test_swap_staking_hotkeys() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); let staking_hotkeys = StakingHotkeys::::get(coldkey); @@ -448,7 +460,8 @@ fn test_swap_hotkey_with_multiple_coldkeys() { RuntimeOrigin::signed(coldkey1), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -496,7 +509,8 @@ fn test_swap_hotkey_with_multiple_subnets() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid1) + Some(netuid1), + None )); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -504,7 +518,8 @@ fn test_swap_hotkey_with_multiple_subnets() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey_2, - Some(netuid2) + Some(netuid2), + None )); assert!(IsNetworkMember::::get(new_hotkey, netuid1)); @@ -556,7 +571,8 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { RuntimeOrigin::signed(coldkey1), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); // Check if new_hotkey replaced old_hotkey in StakingHotkeys @@ -593,7 +609,8 @@ fn test_swap_hotkey_with_no_stake() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); // Check if ownership transferred @@ -665,7 +682,8 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { RuntimeOrigin::signed(coldkey1), &old_hotkey, &new_hotkey, - Some(netuid1) + Some(netuid1), + None )); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -673,7 +691,8 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { RuntimeOrigin::signed(coldkey1), &old_hotkey, &new_hotkey_2, - Some(netuid2) + Some(netuid2), + None )); // Check ownership transfer @@ -787,7 +806,8 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey_1, - Some(netuid) + Some(netuid), + None ),); // Attempt to perform another swap immediately, which should fail due to rate limit @@ -796,7 +816,8 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey_1, - Some(netuid) + Some(netuid), + None ), Error::::HotKeySetTxRateLimitExceeded ); @@ -808,6 +829,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { <::RuntimeOrigin>::signed(coldkey), &new_hotkey_1, &new_hotkey_2, + None, None )); }); @@ -836,7 +858,8 @@ fn test_do_swap_hotkey_err_not_owner() { RuntimeOrigin::signed(not_owner_coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::NonAssociatedColdKey ); @@ -863,7 +886,8 @@ fn test_swap_owner_old_hotkey_not_exist() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::NonAssociatedColdKey ); @@ -897,7 +921,8 @@ fn test_swap_owner_new_hotkey_already_exists() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -939,7 +964,8 @@ fn test_swap_stake_success() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Verify the swap @@ -1009,7 +1035,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::NotEnoughBalanceToPaySwapHotKey ); @@ -1024,7 +1051,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &old_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::NewHotKeyIsSameWithOld ); @@ -1037,7 +1065,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -1049,7 +1078,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(wrong_coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::NonAssociatedColdKey ); @@ -1060,7 +1090,8 @@ fn test_swap_hotkey_error_cases() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); }); } @@ -1086,7 +1117,8 @@ fn test_swap_child_keys() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Verify the swap @@ -1121,7 +1153,8 @@ fn test_swap_child_keys_self_loop() { RuntimeOrigin::signed(coldkey), old_hotkey, new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::InvalidChild ); @@ -1161,7 +1194,8 @@ fn test_swap_parent_keys() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Verify ParentKeys swap @@ -1206,7 +1240,8 @@ fn test_swap_multiple_subnets() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid1) + Some(netuid1), + None ),); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -1214,7 +1249,8 @@ fn test_swap_multiple_subnets() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey_2, - Some(netuid2) + Some(netuid2), + None ),); // Verify the swap for both subnets @@ -1263,7 +1299,8 @@ fn test_swap_complex_parent_child_structure() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Verify ParentKeys swap @@ -1327,7 +1364,8 @@ fn test_swap_parent_hotkey_childkey_maps() { RuntimeOrigin::signed(coldkey), &parent_old, &parent_new, - Some(netuid) + Some(netuid), + None ),); // Verify parent and child keys updates @@ -1384,7 +1422,8 @@ fn test_swap_child_hotkey_childkey_maps() { RuntimeOrigin::signed(coldkey), &child_old, &child_new, - Some(netuid) + Some(netuid), + None ),); // Verify parent and child keys updates @@ -1424,7 +1463,8 @@ fn test_swap_hotkey_is_sn_owner_hotkey() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Check for SubnetOwnerHotkey @@ -1460,7 +1500,8 @@ fn test_swap_hotkey_swap_rate_limits() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ),); // Check for new hotkey @@ -1494,7 +1535,8 @@ fn test_swap_owner_failed_interval_not_passed() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None ), Error::::HotKeySwapOnSubnetIntervalNotPassed, ); @@ -1517,7 +1559,8 @@ fn test_swap_owner_check_swap_block_set() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1542,7 +1585,8 @@ fn test_swap_owner_check_swap_record_clean_up() { RuntimeOrigin::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1604,7 +1648,8 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { <::RuntimeOrigin>::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -1628,7 +1673,8 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { <::RuntimeOrigin>::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); let hk1_stake_after_revert = @@ -1676,7 +1722,8 @@ fn test_revert_hotkey_swap() { <::RuntimeOrigin>::signed(coldkey), &old_hotkey, &new_hotkey, - Some(netuid) + Some(netuid), + None )); assert!(SubtensorModule::is_hotkey_registered_on_any_network( @@ -1689,7 +1736,8 @@ fn test_revert_hotkey_swap() { <::RuntimeOrigin>::signed(coldkey), &new_hotkey, &old_hotkey, - Some(netuid) + Some(netuid), + None )); }); } @@ -1726,7 +1774,8 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { RuntimeOrigin::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1747,7 +1796,8 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { RuntimeOrigin::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1798,7 +1848,8 @@ fn test_revert_hotkey_swap_uids_and_keys() { RuntimeOrigin::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!(Uids::::get(netuid, hk1), None); @@ -1811,7 +1862,8 @@ fn test_revert_hotkey_swap_uids_and_keys() { RuntimeOrigin::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1861,7 +1913,8 @@ fn test_revert_hotkey_swap_auto_stake_destination() { RuntimeOrigin::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1888,7 +1941,8 @@ fn test_revert_hotkey_swap_auto_stake_destination() { RuntimeOrigin::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1937,7 +1991,8 @@ fn test_revert_hotkey_swap_subnet_owner() { RuntimeOrigin::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1952,7 +2007,8 @@ fn test_revert_hotkey_swap_subnet_owner() { RuntimeOrigin::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -1989,7 +2045,8 @@ fn test_revert_hotkey_swap_dividends() { RuntimeOrigin::signed(coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -2039,7 +2096,8 @@ fn test_revert_hotkey_swap_dividends() { RuntimeOrigin::signed(coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -2200,7 +2258,8 @@ fn test_revert_claim_root_with_swap_hotkey() { RuntimeOrigin::signed(owner_coldkey), &hk1, &hk2, - Some(netuid) + Some(netuid), + None )); assert_eq!( @@ -2226,7 +2285,8 @@ fn test_revert_claim_root_with_swap_hotkey() { RuntimeOrigin::signed(owner_coldkey), &hk2, &hk1, - Some(netuid) + Some(netuid), + None )); assert_eq!( From 597ef8991655459e418ae7d44e00932a8acbf119 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Tue, 10 Mar 2026 22:35:19 +0100 Subject: [PATCH 198/204] - Fixed benchmarks --- pallets/subtensor/src/benchmarks.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index a8339d214d..5c2ebac620 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -1349,7 +1349,7 @@ mod pallet_benchmarks { old.clone(), new.clone(), None, - false, + None, ); } From acfa24f57cd4b04926dbfb27a8306ee2d0606aad Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 11:29:55 +0100 Subject: [PATCH 199/204] - Deprecate the current swap_hotkey extrinsic and add a new one - swap_hotkey_v2 --- pallets/subtensor/src/benchmarks.rs | 1 - pallets/subtensor/src/macros/dispatches.rs | 28 ++++++++++++++++++- .../src/tests/swap_hotkey_with_subnet.rs | 1 - 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 5c2ebac620..98bb64c263 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -1349,7 +1349,6 @@ mod pallet_benchmarks { old.clone(), new.clone(), None, - None, ); } diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 71380c9825..3d6d5c5051 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -1058,8 +1058,10 @@ mod dispatches { /// * `hotkey` - The old hotkey to be swapped. /// * `new_hotkey` - The new hotkey to replace the old one. /// * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. - /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata /// is transferred to the new hotkey. + #[deprecated( + note = "Please use swap_hotkey_v2 instead. This extrinsic will be removed some time after June 2026." + )] #[pallet::call_index(70)] #[pallet::weight((Weight::from_parts(275_300_000, 0) .saturating_add(T::DbWeight::get().reads(52_u64)) @@ -1069,6 +1071,30 @@ mod dispatches { hotkey: T::AccountId, new_hotkey: T::AccountId, netuid: Option, + ) -> DispatchResultWithPostInfo { + Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, Some(false)) + } + + /// ---- The extrinsic for user to change its hotkey in subnet or all subnets. This extrinsic is + /// similar to swap_hotkey, but with keep_stake parameter bo be able to keep the stake when swapping + /// a root key to a child key + /// + /// # Arguments + /// * `origin` - The origin of the transaction (must be signed by the coldkey). + /// * `hotkey` - The old hotkey to be swapped. + /// * `new_hotkey` - The new hotkey to replace the old one. + /// * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. + /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata + /// is transferred to the new hotkey. + #[pallet::call_index(72)] + #[pallet::weight((Weight::from_parts(275_300_000, 0) + .saturating_add(T::DbWeight::get().reads(52_u64)) + .saturating_add(T::DbWeight::get().writes(35_u64)), DispatchClass::Normal, Pays::No))] + pub fn swap_hotkey_v2( + origin: OriginFor, + hotkey: T::AccountId, + new_hotkey: T::AccountId, + netuid: Option, maybe_keep_stake: Option, ) -> DispatchResultWithPostInfo { Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, maybe_keep_stake) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index b335543d02..6d6d035e88 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1154,7 +1154,6 @@ fn test_swap_child_keys_self_loop() { old_hotkey, new_hotkey, Some(netuid), - None ), Error::::InvalidChild ); From 62e5824b2a4aa37e709b3bb963e3da5095a83daa Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 12:04:14 +0100 Subject: [PATCH 200/204] - Fix clippy --- pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 6d6d035e88..e62613bec5 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1129,6 +1129,7 @@ fn test_swap_child_keys() { // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_swap_child_keys_self_loop --exact --show-output #[test] +#[allow(deprecated)] fn test_swap_child_keys_self_loop() { new_test_ext(1).execute_with(|| { let old_hotkey = U256::from(1); From 2be9066dacc7b5fabf426c68b03718826d9ac395 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 14:26:03 +0100 Subject: [PATCH 201/204] - Fixed parent-child delegation + added test --- pallets/subtensor/src/swap/swap_hotkey.rs | 12 +- .../src/tests/swap_hotkey_with_subnet.rs | 132 ++++++++++++++++++ 2 files changed, 139 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index fc803f1bb3..179fff569c 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -462,10 +462,13 @@ impl Pallet { NeuronCertificates::::insert(netuid, new_hotkey, old_neuron_certificates); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); } - // 4. Swap ChildKeys. - // 5. Swap ParentKeys. - // 6. Swap PendingChildKeys. - Self::parent_child_swap_hotkey(old_hotkey, new_hotkey, netuid, weight)?; + + if !keep_stake { + // 4. Swap ChildKeys. + // 5. Swap ParentKeys. + // 6. Swap PendingChildKeys. + Self::parent_child_swap_hotkey(old_hotkey, new_hotkey, netuid, weight)?; + } // Also check for others with our hotkey as a child for (hotkey, (children, cool_down_block)) in PendingChildKeys::::iter_prefix(netuid) { @@ -507,7 +510,6 @@ impl Pallet { } // 8. Swap dividend records - // 8.1 Swap TotalHotkeyAlphaLastEpoch if !keep_stake { // 8.1 Swap TotalHotkeyAlphaLastEpoch let old_alpha = TotalHotkeyAlphaLastEpoch::::take(old_hotkey, netuid); diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index e62613bec5..bcb462db48 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1696,6 +1696,138 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { }); } +// Check swap hotkey with keep_stake doesn't affect stake and related storage maps +// SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_hotkey_swap_keep_stake --exact --nocapture +#[test] +fn test_hotkey_swap_keep_stake() { + new_test_ext(1).execute_with(|| { + let netuid = NetUid::from(1); + let tempo: u16 = 13; + let old_hotkey = U256::from(1); + let new_hotkey = U256::from(2); + let child_key = U256::from(4); + let coldkey = U256::from(3); + let swap_cost = 1_000_000_000u64 * 2; + let stake_amount = 1_000_000_000u64; + let voting_power_value = 5_000_000_000_000_u64; + + // Setup + add_network(netuid, tempo, 0); + register_ok_neuron(netuid, old_hotkey, coldkey, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, swap_cost.into()); + + VotingPower::::insert(netuid, old_hotkey, voting_power_value); + assert_eq!( + SubtensorModule::get_voting_power(netuid, &old_hotkey), + voting_power_value + ); + + ChildKeys::::insert(old_hotkey, netuid, vec![(u64::MAX, child_key)]); + ParentKeys::::insert(child_key, netuid, vec![(u64::MAX, old_hotkey)]); + + SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( + &old_hotkey, + &coldkey, + netuid, + stake_amount.into(), + ); + + assert!(SubtensorModule::is_hotkey_registered_on_network( + netuid, + &old_hotkey + )); + + step_block(20); + + let old_hotkey_stake_before_swap = + SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( + &old_hotkey, + &coldkey, + netuid, + ); + + assert_ok!(SubtensorModule::do_swap_hotkey( + <::RuntimeOrigin>::signed(coldkey), + &old_hotkey, + &new_hotkey, + Some(netuid), + Some(true) + )); + + let old_hotkey_stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( + &old_hotkey, + &coldkey, + netuid, + ); + assert_eq!( + old_hotkey_stake_after, old_hotkey_stake_before_swap, + "old_hotkey stake must NOT change during keep_stake swap" + ); + + let new_hotkey_stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( + &new_hotkey, + &coldkey, + netuid, + ); + assert_eq!( + new_hotkey_stake_after, + 0.into(), + "new_hotkey should have no stake" + ); + + assert!( + SubtensorModule::is_hotkey_registered_on_network(netuid, &new_hotkey), + "new_hotkey should be registered on netuid" + ); + + assert!( + !SubtensorModule::is_hotkey_registered_on_network(netuid, &old_hotkey), + "old_hotkey should NOT be registered on netuid after swap" + ); + + let root_total_alpha = TotalHotkeyAlpha::::get(&old_hotkey, netuid); + let child_total_alpha = TotalHotkeyAlpha::::get(&new_hotkey, netuid); + assert!( + root_total_alpha > 0.into(), + "old_hotkey should retain TotalHotkeyAlpha" + ); + assert_eq!( + child_total_alpha, + 0.into(), + "new_hotkey should have zero TotalHotkeyAlpha" + ); + + let root_voting_power = VotingPower::::get(netuid, &old_hotkey); + let child_voting_power = VotingPower::::get(netuid, &new_hotkey); + assert!( + root_voting_power > 0, + "old_hotkey should retain VotingPower" + ); + assert_eq!( + child_voting_power, 0, + "new_hotkey should have zero VotingPower" + ); + + let old_hotkey_children = ChildKeys::::get(old_hotkey, netuid); + assert!( + old_hotkey_children.iter().any(|(_, c)| *c == child_key), + "old_hotkey should retain its ChildKeys — stake weight delegation must work" + ); + + let child_key_parents = ParentKeys::::get(child_key, netuid); + assert!( + child_key_parents.iter().any(|(_, p)| *p == old_hotkey), + "child_key should still have old_hotkey as parent" + ); + + let new_hotkey_children = ChildKeys::::get(new_hotkey, netuid); + assert!( + !new_hotkey_children.iter().any(|(_, c)| *c == child_key), + "new_hotkey should NOT have child_key as child" + ); + }); +} + // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap --exact --nocapture // This test confirms, that the old hotkey can be reverted after the hotkey swap #[test] From 0c001674413558bb217fc1b5ea134fedba13b255 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 15:13:16 +0100 Subject: [PATCH 202/204] - Fixed clippy --- pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index bcb462db48..71f598b52e 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1785,8 +1785,8 @@ fn test_hotkey_swap_keep_stake() { "old_hotkey should NOT be registered on netuid after swap" ); - let root_total_alpha = TotalHotkeyAlpha::::get(&old_hotkey, netuid); - let child_total_alpha = TotalHotkeyAlpha::::get(&new_hotkey, netuid); + let root_total_alpha = TotalHotkeyAlpha::::get(old_hotkey, netuid); + let child_total_alpha = TotalHotkeyAlpha::::get(new_hotkey, netuid); assert!( root_total_alpha > 0.into(), "old_hotkey should retain TotalHotkeyAlpha" @@ -1797,8 +1797,8 @@ fn test_hotkey_swap_keep_stake() { "new_hotkey should have zero TotalHotkeyAlpha" ); - let root_voting_power = VotingPower::::get(netuid, &old_hotkey); - let child_voting_power = VotingPower::::get(netuid, &new_hotkey); + let root_voting_power = VotingPower::::get(netuid, old_hotkey); + let child_voting_power = VotingPower::::get(netuid, new_hotkey); assert!( root_voting_power > 0, "old_hotkey should retain VotingPower" From a78c36a62de615d94739d7a6dc6a89017e620ae1 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 17:16:26 +0100 Subject: [PATCH 203/204] - Make keep_stake bool instead of Option + test fixes --- pallets/subtensor/src/macros/dispatches.rs | 8 +- pallets/subtensor/src/swap/swap_hotkey.rs | 6 +- pallets/subtensor/src/tests/swap_hotkey.rs | 20 +-- .../src/tests/swap_hotkey_with_subnet.rs | 120 +++++++++--------- 4 files changed, 76 insertions(+), 78 deletions(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 3d6d5c5051..19a8f635dc 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -1072,7 +1072,7 @@ mod dispatches { new_hotkey: T::AccountId, netuid: Option, ) -> DispatchResultWithPostInfo { - Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, Some(false)) + Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, false) } /// ---- The extrinsic for user to change its hotkey in subnet or all subnets. This extrinsic is @@ -1084,7 +1084,7 @@ mod dispatches { /// * `hotkey` - The old hotkey to be swapped. /// * `new_hotkey` - The new hotkey to replace the old one. /// * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. - /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata + /// * `keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata /// is transferred to the new hotkey. #[pallet::call_index(72)] #[pallet::weight((Weight::from_parts(275_300_000, 0) @@ -1095,9 +1095,9 @@ mod dispatches { hotkey: T::AccountId, new_hotkey: T::AccountId, netuid: Option, - maybe_keep_stake: Option, + keep_stake: bool, ) -> DispatchResultWithPostInfo { - Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, maybe_keep_stake) + Self::do_swap_hotkey(origin, &hotkey, &new_hotkey, netuid, keep_stake) } /// Performs an arbitrary coldkey swap for any coldkey. diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index 179fff569c..88e8a44e1b 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -13,7 +13,7 @@ impl Pallet { /// * `old_hotkey` - The old hotkey to be swapped. /// * `new_hotkey` - The new hotkey to replace the old one. /// * `netuid` - The hotkey swap in a subnet or all subnets. - /// * `maybe_keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata + /// * `keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata /// /// # Returns /// @@ -31,10 +31,8 @@ impl Pallet { old_hotkey: &T::AccountId, new_hotkey: &T::AccountId, netuid: Option, - maybe_keep_stake: Option, + keep_stake: bool, ) -> DispatchResultWithPostInfo { - let keep_stake = maybe_keep_stake.unwrap_or(false); - // 1. Ensure the origin is signed and get the coldkey let coldkey = ensure_signed(origin)?; diff --git a/pallets/subtensor/src/tests/swap_hotkey.rs b/pallets/subtensor/src/tests/swap_hotkey.rs index 077c4de94f..d7f5a1274f 100644 --- a/pallets/subtensor/src/tests/swap_hotkey.rs +++ b/pallets/subtensor/src/tests/swap_hotkey.rs @@ -763,7 +763,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &old_hotkey, &new_hotkey_1, None, - None, + false, )); // Attempt to perform another swap immediately, which should fail due to rate limit @@ -773,7 +773,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &new_hotkey_1, &new_hotkey_2, None, - None, + false, ), Error::::HotKeySetTxRateLimitExceeded ); @@ -785,7 +785,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &new_hotkey_1, &new_hotkey_2, None, - None, + false, )); }); } @@ -814,7 +814,7 @@ fn test_do_swap_hotkey_err_not_owner() { &old_hotkey, &new_hotkey, None, - None, + false, ), Error::::NonAssociatedColdKey ); @@ -1040,7 +1040,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, None, - None, + false, ), Error::::NotEnoughBalanceToPaySwapHotKey ); @@ -1055,7 +1055,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &old_hotkey, None, - None, + false, ), Error::::NewHotKeyIsSameWithOld ); @@ -1068,7 +1068,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, None, - None, + false, ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -1081,7 +1081,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, None, - None, + false, ), Error::::NonAssociatedColdKey ); @@ -1092,7 +1092,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, None, - None, + false, )); // Check balance after swap @@ -1443,7 +1443,7 @@ fn test_swap_hotkey_swap_rate_limits() { &old_hotkey, &new_hotkey, None, - None, + false, )); // Check for new hotkey diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 71f598b52e..07643e9f36 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -31,7 +31,7 @@ fn test_swap_owner() { &old_hotkey, &new_hotkey, Some(netuid), - None, + false, )); assert_eq!(Owner::::get(old_hotkey), coldkey); @@ -57,7 +57,7 @@ fn test_swap_owned_hotkeys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); let hotkeys = OwnedHotkeys::::get(coldkey); @@ -110,7 +110,7 @@ fn test_swap_total_hotkey_stake() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); // Verify that total hotkey stake swapped @@ -145,7 +145,7 @@ fn test_swap_delegates() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(Delegates::::contains_key(old_hotkey)); @@ -171,7 +171,7 @@ fn test_swap_subnet_membership() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(!IsNetworkMember::::contains_key(old_hotkey, netuid)); @@ -201,7 +201,7 @@ fn test_swap_uids_and_keys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert_eq!(Uids::::get(netuid, old_hotkey), None); @@ -233,7 +233,7 @@ fn test_swap_prometheus() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(!Prometheus::::contains_key(netuid, old_hotkey)); @@ -267,7 +267,7 @@ fn test_swap_axons() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(!Axons::::contains_key(netuid, old_hotkey)); @@ -298,7 +298,7 @@ fn test_swap_certificates() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(!NeuronCertificates::::contains_key( @@ -339,7 +339,7 @@ fn test_swap_weight_commits() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(!WeightCommits::::contains_key( @@ -380,7 +380,7 @@ fn test_swap_loaded_emission() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); let new_loaded_emission = LoadedEmission::::get(netuid); @@ -410,7 +410,7 @@ fn test_swap_staking_hotkeys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); let staking_hotkeys = StakingHotkeys::::get(coldkey); @@ -461,7 +461,7 @@ fn test_swap_hotkey_with_multiple_coldkeys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert_eq!( @@ -510,7 +510,7 @@ fn test_swap_hotkey_with_multiple_subnets() { &old_hotkey, &new_hotkey, Some(netuid1), - None + false )); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -519,7 +519,7 @@ fn test_swap_hotkey_with_multiple_subnets() { &old_hotkey, &new_hotkey_2, Some(netuid2), - None + false )); assert!(IsNetworkMember::::get(new_hotkey, netuid1)); @@ -572,7 +572,7 @@ fn test_swap_staking_hotkeys_multiple_coldkeys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); // Check if new_hotkey replaced old_hotkey in StakingHotkeys @@ -610,7 +610,7 @@ fn test_swap_hotkey_with_no_stake() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); // Check if ownership transferred @@ -683,7 +683,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &old_hotkey, &new_hotkey, Some(netuid1), - None + false )); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -692,7 +692,7 @@ fn test_swap_hotkey_with_multiple_coldkeys_and_subnets() { &old_hotkey, &new_hotkey_2, Some(netuid2), - None + false )); // Check ownership transfer @@ -807,7 +807,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &old_hotkey, &new_hotkey_1, Some(netuid), - None + false ),); // Attempt to perform another swap immediately, which should fail due to rate limit @@ -817,7 +817,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &old_hotkey, &new_hotkey_1, Some(netuid), - None + false ), Error::::HotKeySetTxRateLimitExceeded ); @@ -830,7 +830,7 @@ fn test_swap_hotkey_tx_rate_limit_exceeded() { &new_hotkey_1, &new_hotkey_2, None, - None + false )); }); } @@ -859,7 +859,7 @@ fn test_do_swap_hotkey_err_not_owner() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::NonAssociatedColdKey ); @@ -887,7 +887,7 @@ fn test_swap_owner_old_hotkey_not_exist() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::NonAssociatedColdKey ); @@ -922,7 +922,7 @@ fn test_swap_owner_new_hotkey_already_exists() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -965,7 +965,7 @@ fn test_swap_stake_success() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Verify the swap @@ -1036,7 +1036,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::NotEnoughBalanceToPaySwapHotKey ); @@ -1052,7 +1052,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &old_hotkey, Some(netuid), - None + false ), Error::::NewHotKeyIsSameWithOld ); @@ -1066,7 +1066,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::HotKeyAlreadyRegisteredInSubNet ); @@ -1079,7 +1079,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::NonAssociatedColdKey ); @@ -1091,7 +1091,7 @@ fn test_swap_hotkey_error_cases() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); }); } @@ -1118,7 +1118,7 @@ fn test_swap_child_keys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Verify the swap @@ -1195,7 +1195,7 @@ fn test_swap_parent_keys() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Verify ParentKeys swap @@ -1241,7 +1241,7 @@ fn test_swap_multiple_subnets() { &old_hotkey, &new_hotkey, Some(netuid1), - None + false ),); System::set_block_number(System::block_number() + HotkeySwapOnSubnetInterval::get()); @@ -1250,7 +1250,7 @@ fn test_swap_multiple_subnets() { &old_hotkey, &new_hotkey_2, Some(netuid2), - None + false ),); // Verify the swap for both subnets @@ -1300,7 +1300,7 @@ fn test_swap_complex_parent_child_structure() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Verify ParentKeys swap @@ -1365,7 +1365,7 @@ fn test_swap_parent_hotkey_childkey_maps() { &parent_old, &parent_new, Some(netuid), - None + false ),); // Verify parent and child keys updates @@ -1423,7 +1423,7 @@ fn test_swap_child_hotkey_childkey_maps() { &child_old, &child_new, Some(netuid), - None + false ),); // Verify parent and child keys updates @@ -1464,7 +1464,7 @@ fn test_swap_hotkey_is_sn_owner_hotkey() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Check for SubnetOwnerHotkey @@ -1501,7 +1501,7 @@ fn test_swap_hotkey_swap_rate_limits() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ),); // Check for new hotkey @@ -1536,7 +1536,7 @@ fn test_swap_owner_failed_interval_not_passed() { &old_hotkey, &new_hotkey, Some(netuid), - None + false ), Error::::HotKeySwapOnSubnetIntervalNotPassed, ); @@ -1560,7 +1560,7 @@ fn test_swap_owner_check_swap_block_set() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert_eq!( @@ -1586,7 +1586,7 @@ fn test_swap_owner_check_swap_record_clean_up() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert_eq!( @@ -1649,7 +1649,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { &hk1, &hk2, Some(netuid), - None + false )); SubtensorModule::increase_stake_for_hotkey_and_coldkey_on_subnet( @@ -1674,7 +1674,7 @@ fn test_revert_hotkey_swap_stake_is_not_lost() { &hk2, &hk1, Some(netuid), - None + false )); let hk1_stake_after_revert = @@ -1751,7 +1751,7 @@ fn test_hotkey_swap_keep_stake() { &old_hotkey, &new_hotkey, Some(netuid), - Some(true) + true )); let old_hotkey_stake_after = SubtensorModule::get_stake_for_hotkey_and_coldkey_on_subnet( @@ -1855,7 +1855,7 @@ fn test_revert_hotkey_swap() { &old_hotkey, &new_hotkey, Some(netuid), - None + false )); assert!(SubtensorModule::is_hotkey_registered_on_any_network( @@ -1869,7 +1869,7 @@ fn test_revert_hotkey_swap() { &new_hotkey, &old_hotkey, Some(netuid), - None + false )); }); } @@ -1907,7 +1907,7 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!( @@ -1929,7 +1929,7 @@ fn test_revert_hotkey_swap_parent_hotkey_childkey_maps() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( @@ -1981,7 +1981,7 @@ fn test_revert_hotkey_swap_uids_and_keys() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!(Uids::::get(netuid, hk1), None); @@ -1995,7 +1995,7 @@ fn test_revert_hotkey_swap_uids_and_keys() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( @@ -2046,7 +2046,7 @@ fn test_revert_hotkey_swap_auto_stake_destination() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!( @@ -2074,7 +2074,7 @@ fn test_revert_hotkey_swap_auto_stake_destination() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( @@ -2124,7 +2124,7 @@ fn test_revert_hotkey_swap_subnet_owner() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!( @@ -2140,7 +2140,7 @@ fn test_revert_hotkey_swap_subnet_owner() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( @@ -2178,7 +2178,7 @@ fn test_revert_hotkey_swap_dividends() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!( @@ -2229,7 +2229,7 @@ fn test_revert_hotkey_swap_dividends() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( @@ -2391,7 +2391,7 @@ fn test_revert_claim_root_with_swap_hotkey() { &hk1, &hk2, Some(netuid), - None + false )); assert_eq!( @@ -2418,7 +2418,7 @@ fn test_revert_claim_root_with_swap_hotkey() { &hk2, &hk1, Some(netuid), - None + false )); assert_eq!( From 5b28aedca9a7003813750b1a234f149f161c57e5 Mon Sep 17 00:00:00 2001 From: Evgeny Svirsky Date: Wed, 11 Mar 2026 18:19:10 +0100 Subject: [PATCH 204/204] - Reverted wrapping `parent_child_swap_hotkey` because it doesn't related to stake --- pallets/subtensor/src/swap/swap_hotkey.rs | 10 ++++------ .../src/tests/swap_hotkey_with_subnet.rs | 20 ++++++++++--------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pallets/subtensor/src/swap/swap_hotkey.rs b/pallets/subtensor/src/swap/swap_hotkey.rs index 88e8a44e1b..488778e33e 100644 --- a/pallets/subtensor/src/swap/swap_hotkey.rs +++ b/pallets/subtensor/src/swap/swap_hotkey.rs @@ -461,12 +461,10 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); } - if !keep_stake { - // 4. Swap ChildKeys. - // 5. Swap ParentKeys. - // 6. Swap PendingChildKeys. - Self::parent_child_swap_hotkey(old_hotkey, new_hotkey, netuid, weight)?; - } + // 4. Swap ChildKeys. + // 5. Swap ParentKeys. + // 6. Swap PendingChildKeys. + Self::parent_child_swap_hotkey(old_hotkey, new_hotkey, netuid, weight)?; // Also check for others with our hotkey as a child for (hotkey, (children, cool_down_block)) in PendingChildKeys::::iter_prefix(netuid) { diff --git a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs index 07643e9f36..6f43d46fde 100644 --- a/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs +++ b/pallets/subtensor/src/tests/swap_hotkey_with_subnet.rs @@ -1810,24 +1810,26 @@ fn test_hotkey_swap_keep_stake() { let old_hotkey_children = ChildKeys::::get(old_hotkey, netuid); assert!( - old_hotkey_children.iter().any(|(_, c)| *c == child_key), - "old_hotkey should retain its ChildKeys — stake weight delegation must work" + !old_hotkey_children.iter().any(|(_, c)| *c == child_key), + "old_hotkey should NOT retain ChildKeys after swap" + ); + let new_hotkey_children = ChildKeys::::get(new_hotkey, netuid); + assert!( + new_hotkey_children.iter().any(|(_, c)| *c == child_key), + "new_hotkey should inherit ChildKeys from old_hotkey" ); let child_key_parents = ParentKeys::::get(child_key, netuid); assert!( - child_key_parents.iter().any(|(_, p)| *p == old_hotkey), - "child_key should still have old_hotkey as parent" + child_key_parents.iter().any(|(_, p)| *p == new_hotkey), + "child_key should have new_hotkey as parent after swap" ); - - let new_hotkey_children = ChildKeys::::get(new_hotkey, netuid); assert!( - !new_hotkey_children.iter().any(|(_, c)| *c == child_key), - "new_hotkey should NOT have child_key as child" + !child_key_parents.iter().any(|(_, p)| *p == old_hotkey), + "child_key should NOT have old_hotkey as parent after swap" ); }); } - // SKIP_WASM_BUILD=1 RUST_LOG=debug cargo test --package pallet-subtensor --lib -- tests::swap_hotkey_with_subnet::test_revert_hotkey_swap --exact --nocapture // This test confirms, that the old hotkey can be reverted after the hotkey swap #[test]