From b43bed6f0834ba307b64b2654d2722f396131ba3 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Tue, 9 Jul 2024 22:37:13 +0400 Subject: [PATCH 01/52] draft: hotkey swap for senate --- pallets/subtensor/src/swap.rs | 14 +++++ pallets/subtensor/tests/swap.rs | 93 +++++++++++++++++++++++++-------- 2 files changed, 85 insertions(+), 22 deletions(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 24d67aeb4..2073aa5e2 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -76,6 +76,7 @@ impl Pallet { Self::swap_prometheus(old_hotkey, new_hotkey, &netuid_is_member, &mut weight); Self::swap_total_hotkey_coldkey_stakes_this_interval(old_hotkey, new_hotkey, &mut weight); + Self::swap_senate_member(old_hotkey, new_hotkey, &mut weight)?; Self::set_last_tx_block(&coldkey, block); weight.saturating_accrue(T::DbWeight::get().writes(1)); @@ -948,4 +949,17 @@ impl Pallet { } weight.saturating_accrue(T::DbWeight::get().reads(TotalNetworks::::get() as u64)); } + + /// Swaps the Senate membership from the old hotkey to the new hotkey if applicable. + pub fn swap_senate_member( + old_hotkey: &T::AccountId, + new_hotkey: &T::AccountId, + weight: &mut Weight, + ) -> DispatchResult { + if T::SenateMembers::is_member(old_hotkey) { + T::SenateMembers::swap_member(old_hotkey, new_hotkey).map_err(|e| e.error)?; + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); + } + Ok(()) + } } diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 90ebdfdcb..7445470f8 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -2,7 +2,7 @@ use codec::Encode; use frame_support::weights::Weight; -use frame_support::{assert_err, assert_ok}; +use frame_support::{assert_err, assert_noop, assert_ok}; use frame_system::Config; mod mock; use mock::*; @@ -1666,24 +1666,73 @@ fn test_coldkey_swap_total() { }); } -// #[test] -// fn test_coldkey_arbitrated_sw() { -// new_test_ext(1).execute_with(|| { -// let coldkey = U256::from(1); -// let hotkey = U256::from(2); -// let netuid = 1u16; - -// // Setup initial state -// add_network(netuid, 13, 0); -// register_ok_neuron(netuid, hotkey, coldkey, 0); - -// // Check if coldkey has associated hotkeys -// assert!(SubtensorModule::coldkey_has_associated_hotkeys(&coldkey)); - -// // Check for a coldkey without associated hotkeys -// let unassociated_coldkey = U256::from(3); -// assert!(!SubtensorModule::coldkey_has_associated_hotkeys( -// &unassociated_coldkey -// )); -// }); -// } +#[test] +fn test_swap_senate_member() { + new_test_ext(1).execute_with(|| { + let old_hotkey = U256::from(1); + let new_hotkey = U256::from(2); + let non_member_hotkey = U256::from(3); + let mut weight = Weight::zero(); + + // Setup: Add old_hotkey as a Senate member + assert_ok!(Senate::set_members( + RuntimeOrigin::root(), + vec![old_hotkey], + None, + 0 + )); + + // Test 1: Successful swap + assert_ok!(SubtensorModule::swap_senate_member( + &old_hotkey, + &new_hotkey, + &mut weight + )); + assert!(Senate::is_member(&new_hotkey)); + assert!(!Senate::is_member(&old_hotkey)); + + // Verify weight update + let expected_weight = ::DbWeight::get().reads_writes(2, 2); + assert_eq!(weight, expected_weight); + + // Reset weight for next test + weight = Weight::zero(); + + // Test 2: Swap with non-member (should not change anything) + assert_ok!(SubtensorModule::swap_senate_member( + &non_member_hotkey, + &new_hotkey, + &mut weight + )); + assert!(Senate::is_member(&new_hotkey)); + assert!(!Senate::is_member(&non_member_hotkey)); + + // Verify weight update (should only have read operations) + let expected_weight = ::DbWeight::get().reads(1); + assert_eq!(weight, expected_weight); + + // Reset weight for next test + weight = Weight::zero(); + + // Test 3: Setup for swap to an existing member + let another_member = U256::from(4); + assert_ok!(Senate::set_members( + RuntimeOrigin::root(), + vec![new_hotkey, another_member], + None, + 1 + )); + + // Test 4: Setup for swap with maximum members reached + let mut members = vec![new_hotkey, another_member]; + for i in 5..=SenateMaxMembers::get() { + members.push(U256::from(i as u64)); + } + assert_ok!(Senate::set_members( + RuntimeOrigin::root(), + members.clone(), + None, + 2 + )); + }); +} From 9a179bb2ceea0d0f00f8d50473c68120c3324cc5 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Fri, 12 Jul 2024 11:01:05 -0400 Subject: [PATCH 02/52] feature-gate hash --- runtime/build.rs | 11 ++++++++++- scripts/build.sh | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/runtime/build.rs b/runtime/build.rs index 8f021e838..4d65d12a7 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -1,5 +1,5 @@ fn main() { - #[cfg(feature = "std")] + #[cfg(all(feature = "std", not(feature = "metadata-hash")))] { substrate_wasm_builder::WasmBuilder::new() .with_current_project() @@ -7,4 +7,13 @@ fn main() { .import_memory() .build(); } + #[cfg(all(feature = "std", feature = "metadata-hash"))] + { + substrate_wasm_builder::WasmBuilder::new() + .with_current_project() + .export_heap_base() + .import_memory() + .enable_metadata_hash("TAO", 9) + .build(); + } } diff --git a/scripts/build.sh b/scripts/build.sh index 548af664b..3f588a1cc 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,2 +1,2 @@ -cargo build --profile production --features runtime-benchmarks +cargo build --profile production --features "runtime-benchmarks metadata-hash" From 5039e5bdb83e2f677e46773d9da3335a0298a98e Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Fri, 12 Jul 2024 11:45:49 -0400 Subject: [PATCH 03/52] use 1.10.0-rc2 --- Cargo.toml | 139 +++++++++++++++++++++++++++-------------------------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8d9eff122..8bfb9d2b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,80 +39,81 @@ litep2p = { git = "https://github.com/paritytech/litep2p", branch = "master" } subtensor-macros = { path = "support/macros" } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" , default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.5.9" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-v1.10.0" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } frame-metadata = "16" [profile.release] From 322752b502eb428e99c23a09b63b47b21b5934a9 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Fri, 12 Jul 2024 11:46:09 -0400 Subject: [PATCH 04/52] add feature --- runtime/Cargo.toml | 3 +++ runtime/src/lib.rs | 2 ++ 2 files changed, 5 insertions(+) diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index fcb02a24c..042d0337c 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -41,6 +41,7 @@ pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-utility = { workspace = true } frame-executive = { workspace = true } +frame-metadata-hash-extension = { workspace = true } sp-api = { workspace = true } sp-block-builder = { workspace = true } sp-consensus-aura = { workspace = true } @@ -111,6 +112,7 @@ std = [ "codec/std", "scale-info/std", "frame-executive/std", + "frame-metadata-hash-extension/std", "frame-support/std", "frame-system-rpc-runtime-api/std", "frame-system/std", @@ -204,3 +206,4 @@ try-runtime = [ "pallet-commitments/try-runtime", "pallet-registry/try-runtime" ] +metadata-hash = ["substrate-wasm-builder/metadata-hash"] diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index de8be6e61..3457ecb5f 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -23,6 +23,7 @@ use pallet_commitments::CanCommit; use pallet_grandpa::{ fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList, }; +use frame_metadata_hash_extension::CheckMetadataHash; use pallet_registry::CanRegisterIdentity; use scale_info::TypeInfo; use smallvec::smallvec; @@ -1283,6 +1284,7 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, pallet_subtensor::SubtensorSignedExtension, pallet_commitments::CommitmentsSignedExtension, + frame_metadata_hash_extension::CheckMetadataHash, ); type Migrations = pallet_grandpa::migrations::MigrateV4ToV5; From 9d1f6c9cbd9b1bbf2d498b0a5025351ab87f0c8d Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 21:19:24 +0400 Subject: [PATCH 05/52] feat: remove schedule coldkey swap --- pallets/subtensor/src/benchmarks.rs | 26 ----------------------- pallets/subtensor/src/lib.rs | 2 +- pallets/subtensor/src/swap.rs | 32 +++++++++++++++++------------ runtime/src/lib.rs | 3 +-- 4 files changed, 21 insertions(+), 42 deletions(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 6da83c5af..80a375d10 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -429,30 +429,4 @@ reveal_weights { }: reveal_weights(RawOrigin::Signed(hotkey.clone()), netuid, uids, weight_values, salt, version_key) - schedule_coldkey_swap { - let seed: u32 = 1; - let old_coldkey: T::AccountId = account("OldColdkey", 0, seed); - let new_coldkey: T::AccountId = account("NewColdkey", 0, seed + 1); - let hotkey: T::AccountId = account("Hotkey", 0, seed); - - let netuid = 1u16; - let tempo = 1u16; - let block_number: u64 = Subtensor::::get_current_block_as_u64(); - let nonce = 0; - - // Initialize the network - Subtensor::::init_new_network(netuid, tempo); - Subtensor::::set_network_registration_allowed(netuid, true); - - // Add balance to the old coldkey account - let amount_to_be_staked: u64 = 1000000u32.into(); - Subtensor::::add_balance_to_coldkey_account(&old_coldkey.clone(), amount_to_be_staked+1000000000); - // Burned register the hotkey with the old coldkey - assert_ok!(Subtensor::::burned_register( - RawOrigin::Signed(old_coldkey.clone()).into(), - netuid, - hotkey.clone() - )); - - }: schedule_coldkey_swap(RawOrigin::Signed(old_coldkey.clone()), new_coldkey.clone(), vec![], block_number, nonce) } diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index d4def0c27..c4ac1f3e5 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -2089,7 +2089,6 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { Self::do_swap_coldkey(origin, &new_coldkey) } - /// Unstakes all tokens associated with a hotkey and transfers them to a new coldkey. /// /// # Arguments @@ -2105,6 +2104,7 @@ pub mod pallet { /// # Weight /// /// Weight is calculated based on the number of database reads and writes. + #[cfg(test)] #[pallet::call_index(72)] #[pallet::weight((Weight::from_parts(21_000_000, 0) .saturating_add(T::DbWeight::get().reads(3)) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 24d67aeb4..6c914f855 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -31,10 +31,6 @@ impl Pallet { new_hotkey: &T::AccountId, ) -> DispatchResultWithPostInfo { let coldkey = ensure_signed(origin)?; - ensure!( - !Self::coldkey_in_arbitration(&coldkey), - Error::::ColdkeyIsInArbitration - ); let mut weight = T::DbWeight::get().reads(2); @@ -60,6 +56,16 @@ impl Pallet { T::DbWeight::get().reads((TotalNetworks::::get().saturating_add(1u16)) as u64), ); + let swap_cost = Self::get_hotkey_swap_cost(); + log::debug!("Swap cost: {:?}", swap_cost); + + ensure!( + Self::can_remove_balance_from_coldkey_account(&coldkey, swap_cost), + Error::::NotEnoughBalanceToPaySwapHotKey + ); + let actual_burn_amount = Self::remove_balance_from_coldkey_account(&coldkey, swap_cost)?; + Self::burn_tokens(actual_burn_amount); + Self::swap_owner(old_hotkey, new_hotkey, &coldkey, &mut weight); Self::swap_total_hotkey_stake(old_hotkey, new_hotkey, &mut weight); Self::swap_delegates(old_hotkey, new_hotkey, &mut weight); @@ -189,15 +195,15 @@ impl Pallet { /// /// This function calculates the remaining arbitration period by subtracting the current block number /// from the arbitration block number of the coldkey. - // pub fn get_remaining_arbitration_period(coldkey: &T::AccountId) -> u64 { - // let current_block: u64 = Self::get_current_block_as_u64(); - // let arbitration_block: u64 = ColdkeyArbitrationBlock::::get(coldkey); - // if arbitration_block > current_block { - // arbitration_block.saturating_sub(current_block) - // } else { - // 0 - // } - // } + pub fn get_remaining_arbitration_period(coldkey: &T::AccountId) -> u64 { + let current_block: u64 = Self::get_current_block_as_u64(); + let arbitration_block: u64 = ColdkeyArbitrationBlock::::get(coldkey); + if arbitration_block > current_block { + arbitration_block.saturating_sub(current_block) + } else { + 0 + } + } pub fn meets_min_allowed_coldkey_balance(coldkey: &T::AccountId) -> bool { let all_staked_keys: Vec = StakingHotkeys::::get(coldkey); diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index de8be6e61..0e171e9ea 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -312,8 +312,7 @@ impl Contains for SafeModeWhitelistedCalls { | RuntimeCall::SafeMode(_) | RuntimeCall::Timestamp(_) | RuntimeCall::SubtensorModule( - pallet_subtensor::Call::schedule_coldkey_swap { .. } - | pallet_subtensor::Call::set_weights { .. } + pallet_subtensor::Call::set_weights { .. } | pallet_subtensor::Call::set_root_weights { .. } | pallet_subtensor::Call::serve_axon { .. } ) From 90512c28279dcb0b4a233b61351ece84284a1fdd Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 21:41:33 +0400 Subject: [PATCH 06/52] chore: fix tests --- pallets/subtensor/src/swap.rs | 15 ++++++++++++--- pallets/subtensor/tests/swap.rs | 34 ++++----------------------------- 2 files changed, 16 insertions(+), 33 deletions(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 2073aa5e2..02abda0d5 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -60,6 +60,16 @@ impl Pallet { T::DbWeight::get().reads((TotalNetworks::::get().saturating_add(1u16)) as u64), ); + let swap_cost = Self::get_hotkey_swap_cost(); + log::debug!("Swap cost: {:?}", swap_cost); + + ensure!( + Self::can_remove_balance_from_coldkey_account(&coldkey, swap_cost), + Error::::NotEnoughBalanceToPaySwapHotKey + ); + let actual_burn_amount = Self::remove_balance_from_coldkey_account(&coldkey, swap_cost)?; + Self::burn_tokens(actual_burn_amount); + Self::swap_owner(old_hotkey, new_hotkey, &coldkey, &mut weight); Self::swap_total_hotkey_stake(old_hotkey, new_hotkey, &mut weight); Self::swap_delegates(old_hotkey, new_hotkey, &mut weight); @@ -76,7 +86,6 @@ impl Pallet { Self::swap_prometheus(old_hotkey, new_hotkey, &netuid_is_member, &mut weight); Self::swap_total_hotkey_coldkey_stakes_this_interval(old_hotkey, new_hotkey, &mut weight); - Self::swap_senate_member(old_hotkey, new_hotkey, &mut weight)?; Self::set_last_tx_block(&coldkey, block); weight.saturating_accrue(T::DbWeight::get().writes(1)); @@ -950,15 +959,15 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads(TotalNetworks::::get() as u64)); } - /// Swaps the Senate membership from the old hotkey to the new hotkey if applicable. pub fn swap_senate_member( old_hotkey: &T::AccountId, new_hotkey: &T::AccountId, weight: &mut Weight, ) -> DispatchResult { + weight.saturating_accrue(T::DbWeight::get().reads(1)); if T::SenateMembers::is_member(old_hotkey) { T::SenateMembers::swap_member(old_hotkey, new_hotkey).map_err(|e| e.error)?; - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); } Ok(()) } diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 7445470f8..488f2e1d0 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -3,7 +3,7 @@ use codec::Encode; use frame_support::weights::Weight; use frame_support::{assert_err, assert_noop, assert_ok}; -use frame_system::Config; +use frame_system::{Config, RawOrigin}; mod mock; use mock::*; use pallet_subtensor::*; @@ -1675,11 +1675,9 @@ fn test_swap_senate_member() { let mut weight = Weight::zero(); // Setup: Add old_hotkey as a Senate member - assert_ok!(Senate::set_members( - RuntimeOrigin::root(), - vec![old_hotkey], - None, - 0 + assert_ok!(SenateMembers::add_member( + RawOrigin::Root.into(), + old_hotkey )); // Test 1: Successful swap @@ -1710,29 +1708,5 @@ fn test_swap_senate_member() { // Verify weight update (should only have read operations) let expected_weight = ::DbWeight::get().reads(1); assert_eq!(weight, expected_weight); - - // Reset weight for next test - weight = Weight::zero(); - - // Test 3: Setup for swap to an existing member - let another_member = U256::from(4); - assert_ok!(Senate::set_members( - RuntimeOrigin::root(), - vec![new_hotkey, another_member], - None, - 1 - )); - - // Test 4: Setup for swap with maximum members reached - let mut members = vec![new_hotkey, another_member]; - for i in 5..=SenateMaxMembers::get() { - members.push(U256::from(i as u64)); - } - assert_ok!(Senate::set_members( - RuntimeOrigin::root(), - members.clone(), - None, - 2 - )); }); } From 606b771f7ebc1810bdb124c5170c9c5d2a726c89 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 22:02:12 +0400 Subject: [PATCH 07/52] fixes for network resumption --- pallets/admin-utils/tests/mock.rs | 4 ++-- pallets/subtensor/src/lib.rs | 2 +- pallets/subtensor/src/swap.rs | 16 +++++++++++++++- pallets/subtensor/src/utils.rs | 4 ++-- pallets/subtensor/tests/mock.rs | 4 ++-- pallets/subtensor/tests/swap.rs | 8 +++++--- runtime/src/lib.rs | 4 ++-- 7 files changed, 29 insertions(+), 13 deletions(-) diff --git a/pallets/admin-utils/tests/mock.rs b/pallets/admin-utils/tests/mock.rs index 5f71626ad..dbf88bdfa 100644 --- a/pallets/admin-utils/tests/mock.rs +++ b/pallets/admin-utils/tests/mock.rs @@ -110,7 +110,7 @@ parameter_types! { pub const InitialSubnetLimit: u16 = 10; // Max 10 subnets. pub const InitialNetworkRateLimit: u64 = 0; pub const InitialTargetStakesPerInterval: u16 = 1; - pub const InitialHotkeySwapCost: u64 = 1_000_000_000; + pub const InitialKeySwapCost: u64 = 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 @@ -166,7 +166,7 @@ impl pallet_subtensor::Config for Test { type InitialSubnetLimit = InitialSubnetLimit; type InitialNetworkRateLimit = InitialNetworkRateLimit; type InitialTargetStakesPerInterval = InitialTargetStakesPerInterval; - type HotkeySwapCost = InitialHotkeySwapCost; + type KeySwapCost = InitialKeySwapCost; type AlphaHigh = InitialAlphaHigh; type AlphaLow = InitialAlphaLow; type LiquidAlphaOn = InitialLiquidAlphaOn; diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index c4ac1f3e5..fc802a78a 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -247,7 +247,7 @@ pub mod pallet { type InitialTargetStakesPerInterval: Get; /// Cost of swapping a hotkey. #[pallet::constant] - type HotkeySwapCost: Get; + type KeySwapCost: Get; /// The upper bound for the alpha parameter. Used for Liquid Alpha. #[pallet::constant] type AlphaHigh: Get; diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index c9e01b008..6e91f205b 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -56,7 +56,7 @@ impl Pallet { T::DbWeight::get().reads((TotalNetworks::::get().saturating_add(1u16)) as u64), ); - let swap_cost = Self::get_hotkey_swap_cost(); + let swap_cost = Self::get_key_swap_cost(); log::debug!("Swap cost: {:?}", swap_cost); ensure!( @@ -146,6 +146,20 @@ impl Pallet { Error::::ColdKeyAlreadyAssociated ); + // Calculate and charge the swap fee + let swap_cost = Self::get_key_swap_cost(); + log::debug!("Coldkey swap cost: {:?}", swap_cost); + + ensure!( + Self::can_remove_balance_from_coldkey_account(&old_coldkey, swap_cost), + Error::::NotEnoughBalanceToPaySwapColdKey + ); + let actual_burn_amount = + Self::remove_balance_from_coldkey_account(&old_coldkey, swap_cost)?; + Self::burn_tokens(actual_burn_amount); + + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + // Actually do the swap. weight = weight.saturating_add( Self::perform_swap_coldkey(&old_coldkey, new_coldkey) diff --git a/pallets/subtensor/src/utils.rs b/pallets/subtensor/src/utils.rs index 94f18dfbf..c61133e94 100644 --- a/pallets/subtensor/src/utils.rs +++ b/pallets/subtensor/src/utils.rs @@ -671,8 +671,8 @@ impl Pallet { NominatorMinRequiredStake::::put(min_stake); } - pub fn get_hotkey_swap_cost() -> u64 { - T::HotkeySwapCost::get() + pub fn get_key_swap_cost() -> u64 { + T::KeySwapCost::get() } pub fn get_alpha_values(netuid: u16) -> (u16, u16) { diff --git a/pallets/subtensor/tests/mock.rs b/pallets/subtensor/tests/mock.rs index c3a864075..46e08e96a 100644 --- a/pallets/subtensor/tests/mock.rs +++ b/pallets/subtensor/tests/mock.rs @@ -164,7 +164,7 @@ parameter_types! { pub const InitialSubnetLimit: u16 = 10; // Max 10 subnets. pub const InitialNetworkRateLimit: u64 = 0; pub const InitialTargetStakesPerInterval: u16 = 2; - pub const InitialHotkeySwapCost: u64 = 1_000_000_000; + pub const InitialKeySwapCost: u64 = 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 @@ -369,7 +369,7 @@ impl pallet_subtensor::Config for Test { type InitialSubnetLimit = InitialSubnetLimit; type InitialNetworkRateLimit = InitialNetworkRateLimit; type InitialTargetStakesPerInterval = InitialTargetStakesPerInterval; - type HotkeySwapCost = InitialHotkeySwapCost; + type KeySwapCost = InitialKeySwapCost; type AlphaHigh = InitialAlphaHigh; type AlphaLow = InitialAlphaLow; type LiquidAlphaOn = InitialLiquidAlphaOn; diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 488f2e1d0..4e2b80a47 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1059,7 +1059,8 @@ fn test_do_swap_coldkey_success() { let netuid = 1u16; let stake_amount1 = 1000u64; let stake_amount2 = 2000u64; - let free_balance_old = 12345u64 + MIN_BALANCE_TO_PERFORM_COLDKEY_SWAP; + let swap_cost = SubtensorModule::get_key_swap_cost(); + let free_balance_old = 12345u64 + swap_cost; // Setup initial state add_network(netuid, 13, 0); @@ -1158,7 +1159,7 @@ fn test_do_swap_coldkey_success() { // Verify balance transfer assert_eq!( SubtensorModule::get_coldkey_balance(&new_coldkey), - free_balance_old + free_balance_old - swap_cost ); assert_eq!(SubtensorModule::get_coldkey_balance(&old_coldkey), 0); @@ -1332,6 +1333,7 @@ fn test_do_swap_coldkey_with_subnet_ownership() { let hotkey = U256::from(3); let netuid = 1u16; let stake_amount: u64 = 1000u64; + let swap_cost = SubtensorModule::get_key_swap_cost(); // Setup initial state add_network(netuid, 13, 0); @@ -1340,7 +1342,7 @@ fn test_do_swap_coldkey_with_subnet_ownership() { // Set TotalNetworks because swap relies on it pallet_subtensor::TotalNetworks::::set(1); - SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, stake_amount); + SubtensorModule::add_balance_to_coldkey_account(&old_coldkey, stake_amount + swap_cost); SubnetOwner::::insert(netuid, old_coldkey); // Populate OwnedHotkeys map diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 0e171e9ea..45c7cd9da 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -876,7 +876,7 @@ parameter_types! { pub const SubtensorInitialNetworkLockReductionInterval: u64 = 14 * 7200; pub const SubtensorInitialNetworkRateLimit: u64 = 7200; pub const SubtensorInitialTargetStakesPerInterval: u16 = 1; - pub const SubtensorInitialHotkeySwapCost: u64 = 1_000_000_000; + pub const SubtensorInitialKeySwapCost: u64 = 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 @@ -932,7 +932,7 @@ impl pallet_subtensor::Config for Runtime { type InitialSubnetLimit = SubtensorInitialSubnetLimit; type InitialNetworkRateLimit = SubtensorInitialNetworkRateLimit; type InitialTargetStakesPerInterval = SubtensorInitialTargetStakesPerInterval; - type HotkeySwapCost = SubtensorInitialHotkeySwapCost; + type KeySwapCost = SubtensorInitialKeySwapCost; type AlphaHigh = InitialAlphaHigh; type AlphaLow = InitialAlphaLow; type LiquidAlphaOn = InitialLiquidAlphaOn; From 8ebcf2dd7e1810b49500d70d9e2a0917e62533b0 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 22:08:59 +0400 Subject: [PATCH 08/52] chore: 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 45c7cd9da..b343ad0f0 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 194, + spec_version: 162, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 7b84d3c95f3096659e9d92bcdc006db3d1a7b237 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 23:08:23 +0400 Subject: [PATCH 09/52] fix: add back arbitration check --- pallets/subtensor/src/swap.rs | 6 ++++++ pallets/subtensor/tests/swap.rs | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 6e91f205b..2e7be5122 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -32,6 +32,11 @@ impl Pallet { ) -> DispatchResultWithPostInfo { let coldkey = ensure_signed(origin)?; + ensure!( + !Self::coldkey_in_arbitration(&old_coldkey), + Error::::ColdkeyIsInArbitration + ); + let mut weight = T::DbWeight::get().reads(2); ensure!(old_hotkey != new_hotkey, Error::::NewHotKeyIsSameWithOld); @@ -80,6 +85,7 @@ impl Pallet { Self::swap_loaded_emission(old_hotkey, new_hotkey, &netuid_is_member, &mut weight); Self::swap_uids(old_hotkey, new_hotkey, &netuid_is_member, &mut weight); Self::swap_prometheus(old_hotkey, new_hotkey, &netuid_is_member, &mut weight); + Self::swap_senate_member(old_hotkey, new_hotkey, &mut weight)?; Self::swap_total_hotkey_coldkey_stakes_this_interval(old_hotkey, new_hotkey, &mut weight); diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 4e2b80a47..2355dc960 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -167,6 +167,22 @@ fn test_do_swap_hotkey_ok_robust() { SubtensorModule::add_balance_to_coldkey_account(coldkey, swap_cost); } + // Add old_hotkeys[0] and old_hotkeys[1] to Senate + assert_ok!(SenateMembers::add_member( + RawOrigin::Root.into(), + old_hotkeys[0] + )); + assert_ok!(SenateMembers::add_member( + RawOrigin::Root.into(), + old_hotkeys[1] + )); + + // Verify initial Senate membership + assert!(Senate::is_member(&old_hotkeys[0])); + assert!(Senate::is_member(&old_hotkeys[1])); + assert!(!Senate::is_member(&new_hotkeys[0])); + assert!(!Senate::is_member(&new_hotkeys[1])); + // Perform the swaps for only two hotkeys assert_ok!(SubtensorModule::do_swap_hotkey( <::RuntimeOrigin>::signed(coldkeys[0]), @@ -268,6 +284,10 @@ fn test_do_swap_hotkey_ok_robust() { assert_eq!(Keys::::get(netuid, uid), new_hotkeys[i]); } } + + // Verify Senate membership swap + assert!(!Senate::is_member(&old_hotkeys[i])); + assert!(Senate::is_member(&new_hotkeys[i])); } else { // Ensure other hotkeys remain unchanged assert_eq!( @@ -278,6 +298,10 @@ fn test_do_swap_hotkey_ok_robust() { SubtensorModule::get_owning_coldkey_for_hotkey(&new_hotkeys[i]), coldkeys[i] ); + + // Verify Senate membership remains unchanged for other hotkeys + assert!(!Senate::is_member(&old_hotkeys[i])); + assert!(!Senate::is_member(&new_hotkeys[i])); } } } From 2455082e007069e6cd3ced93a2bee10774cebc44 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 23:19:53 +0400 Subject: [PATCH 10/52] fix: hotkey --- pallets/subtensor/src/swap.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 2e7be5122..ff93a1dbc 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -33,7 +33,7 @@ impl Pallet { let coldkey = ensure_signed(origin)?; ensure!( - !Self::coldkey_in_arbitration(&old_coldkey), + !Self::coldkey_in_arbitration(&old_hotkey), Error::::ColdkeyIsInArbitration ); From f49bb55de0605ee47f9a1883f098ca00afe62926 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Fri, 12 Jul 2024 23:24:21 +0400 Subject: [PATCH 11/52] fix: coldkey arb swap hotkey --- pallets/subtensor/src/swap.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index ff93a1dbc..307aeb641 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -33,7 +33,7 @@ impl Pallet { let coldkey = ensure_signed(origin)?; ensure!( - !Self::coldkey_in_arbitration(&old_hotkey), + !Self::coldkey_in_arbitration(&coldkey), Error::::ColdkeyIsInArbitration ); From 76f20cedc4d9314f28e3437b0b5a6f38d9cd7505 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Fri, 12 Jul 2024 23:38:31 -0400 Subject: [PATCH 12/52] swap delegate stake also --- pallets/subtensor/src/swap.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 307aeb641..053112363 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -862,6 +862,22 @@ impl Pallet { } } + for staking_hotkey in StakingHotkeys::::get(old_coldkey) { + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::take(hotkey, old_coldkey); + log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + Stake::::insert(hotkey, new_coldkey, stake); + total_transferred_stake = total_transferred_stake.saturating_add(stake); + + // Update the transaction weight + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); + } + } + + // Log the total transferred stake log::info!("Total transferred stake: {}", total_transferred_stake); From 4ccb8799eb0454e9581322a56c3e391cd67a9f12 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Fri, 12 Jul 2024 23:38:37 -0400 Subject: [PATCH 13/52] add test for this --- pallets/subtensor/tests/swap.rs | 61 +++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 2355dc960..ca45956d6 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1271,6 +1271,67 @@ fn test_swap_stake_for_coldkey() { }); } +#[test] +fn test_swap_delegated_stake_for_coldkey() { + new_test_ext(1).execute_with(|| { + let old_coldkey = U256::from(1); + let new_coldkey = U256::from(2); + let hotkey1 = U256::from(3); + let hotkey2 = U256::from(4); + let stake_amount1 = 1000u64; + let stake_amount2 = 2000u64; + let total_stake = stake_amount1 + stake_amount2; + let mut weight = Weight::zero(); + + // Notice hotkey1 and hotkey2 are not in OwnedHotkeys + // coldkey therefore delegates stake to them + + // Setup initial state + Stake::::insert(hotkey1, old_coldkey, stake_amount1); + Stake::::insert(hotkey2, old_coldkey, stake_amount2); + TotalHotkeyStake::::insert(hotkey1, stake_amount1); + TotalHotkeyStake::::insert(hotkey2, stake_amount2); + TotalColdkeyStake::::insert(old_coldkey, total_stake); + + // Set up total issuance + TotalIssuance::::put(total_stake); + TotalStake::::put(total_stake); + + // Record initial values + let initial_total_issuance = SubtensorModule::get_total_issuance(); + let initial_total_stake = SubtensorModule::get_total_stake(); + + // Perform the swap + SubtensorModule::swap_stake_for_coldkey(&old_coldkey, &new_coldkey, &mut weight); + + // Verify stake transfer + assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1); + assert_eq!(Stake::::get(hotkey2, new_coldkey), stake_amount2); + assert_eq!(Stake::::get(hotkey1, old_coldkey), 0); + assert_eq!(Stake::::get(hotkey2, old_coldkey), 0); + + // Verify TotalColdkeyStake + assert_eq!(TotalColdkeyStake::::get(new_coldkey), total_stake); + assert_eq!(TotalColdkeyStake::::get(old_coldkey), 0); + + // Verify TotalHotkeyStake remains unchanged + assert_eq!(TotalHotkeyStake::::get(hotkey1), stake_amount1); + assert_eq!(TotalHotkeyStake::::get(hotkey2), stake_amount2); + + // Verify total stake and issuance remain unchanged + assert_eq!( + SubtensorModule::get_total_stake(), + initial_total_stake, + "Total stake changed unexpectedly" + ); + assert_eq!( + SubtensorModule::get_total_issuance(), + initial_total_issuance, + "Total issuance changed unexpectedly" + ); + }); +} + #[test] fn test_swap_total_hotkey_coldkey_stakes_this_interval_for_coldkey() { new_test_ext(1).execute_with(|| { From 73533b9bf89899b005a44e1f5932e37110efb229 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 00:53:34 -0400 Subject: [PATCH 14/52] swap over stakinghotkeys map --- pallets/subtensor/src/swap.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 053112363..581d61799 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -909,7 +909,8 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); // Update the staking hotkeys for both old and new coldkeys - let staking_hotkeys: Vec = StakingHotkeys::::take(old_coldkey); + let staking_hotkeys: Vec = StakingHotkeys::::take(old_coldkey); + StakingHotkeys::::remove(old_coldkey); StakingHotkeys::::insert(new_coldkey, staking_hotkeys); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); From c370aad5e3f0eda1250740b97fc498c216be049b Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 00:55:11 -0400 Subject: [PATCH 15/52] check map first --- pallets/subtensor/src/swap.rs | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 581d61799..c6d3a5a8a 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -863,18 +863,23 @@ impl Pallet { } for staking_hotkey in StakingHotkeys::::get(old_coldkey) { - let hotkey = &staking_hotkey; - // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::take(hotkey, old_coldkey); - log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); - if stake > 0 { - // Insert the stake for the hotkey and new coldkey - Stake::::insert(hotkey, new_coldkey, stake); - total_transferred_stake = total_transferred_stake.saturating_add(stake); - - // Update the transaction weight - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); - } + if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { + + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::take(hotkey, old_coldkey); + log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + Stake::::insert(hotkey, new_coldkey, stake); + total_transferred_stake = total_transferred_stake.saturating_add(stake); + + // Update the transaction weight + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); + } + } else { + weight.saturating_accrue(T::DbWeight::get().reads(1)); + } } From 9b8c0e4944b971d39519d59340ad132e597c2cf6 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 00:57:37 -0400 Subject: [PATCH 16/52] add staking hotkeys test --- pallets/subtensor/tests/swap.rs | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index ca45956d6..de5c4212e 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1271,6 +1271,40 @@ fn test_swap_stake_for_coldkey() { }); } +#[test] +fn test_swap_staking_hotkeys_for_coldkey() { + new_test_ext(1).execute_with(|| { + let old_coldkey = U256::from(1); + let new_coldkey = U256::from(2); + let hotkey1 = U256::from(3); + let hotkey2 = U256::from(4); + let stake_amount1 = 1000u64; + let stake_amount2 = 2000u64; + let total_stake = stake_amount1 + stake_amount2; + let mut weight = Weight::zero(); + + // Setup initial state + OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); + Stake::::insert(hotkey1, old_coldkey, stake_amount1); + Stake::::insert(hotkey2, old_coldkey, stake_amount2); + TotalHotkeyStake::::insert(hotkey1, stake_amount1); + TotalHotkeyStake::::insert(hotkey2, stake_amount2); + TotalColdkeyStake::::insert(old_coldkey, total_stake); + + // Set up total issuance + TotalIssuance::::put(total_stake); + TotalStake::::put(total_stake); + + // Perform the swap + SubtensorModule::swap_stake_for_coldkey(&old_coldkey, &new_coldkey, &mut weight); + + + // Verify StakingHotkeys transfer + assert_eq!(StakingHotkeys::::get(new_coldkey), vec![hotkey1, hotkey2]); + assert_eq!(StakingHotkeys::::get(old_coldkey), vec![]); + }); +} + #[test] fn test_swap_delegated_stake_for_coldkey() { new_test_ext(1).execute_with(|| { From baec581eceeb646bd6aefc8bacfc9e3408c31536 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 00:59:42 -0400 Subject: [PATCH 17/52] no take --- pallets/subtensor/src/swap.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index c6d3a5a8a..5fa92d531 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -867,7 +867,8 @@ impl Pallet { let hotkey = &staking_hotkey; // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::take(hotkey, old_coldkey); + let stake: u64 = Stake::::get(hotkey, old_coldkey); + Stake::::remove(hotkey, old_coldkey); log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); if stake > 0 { // Insert the stake for the hotkey and new coldkey From a84ac6b478ff23148c6ea45170e54458a3596858 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:01:38 -0400 Subject: [PATCH 18/52] keep old stake --- pallets/subtensor/src/swap.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 5fa92d531..3a557e178 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -872,7 +872,8 @@ impl Pallet { log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); if stake > 0 { // Insert the stake for the hotkey and new coldkey - Stake::::insert(hotkey, new_coldkey, stake); + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); total_transferred_stake = total_transferred_stake.saturating_add(stake); // Update the transaction weight @@ -915,7 +916,7 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); // Update the staking hotkeys for both old and new coldkeys - let staking_hotkeys: Vec = StakingHotkeys::::take(old_coldkey); + let staking_hotkeys: Vec = StakingHotkeys::::get(old_coldkey); StakingHotkeys::::remove(old_coldkey); StakingHotkeys::::insert(new_coldkey, staking_hotkeys); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); From 221d3204235665d0781e3aca52a168cd21814541 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:03:12 -0400 Subject: [PATCH 19/52] add check to test --- pallets/subtensor/tests/swap.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index de5c4212e..60b5b10c1 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1214,6 +1214,7 @@ fn test_swap_stake_for_coldkey() { let hotkey2 = U256::from(4); let stake_amount1 = 1000u64; let stake_amount2 = 2000u64; + let stake_amount3 = 3000u64; let total_stake = stake_amount1 + stake_amount2; let mut weight = Weight::zero(); @@ -1221,6 +1222,10 @@ fn test_swap_stake_for_coldkey() { OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); + + // Insert existing for same hotkey1 + Stake::::insert(hotkey1, new_coldkey, stake_amount3); + TotalHotkeyStake::::insert(hotkey1, stake_amount1); TotalHotkeyStake::::insert(hotkey2, stake_amount2); TotalColdkeyStake::::insert(old_coldkey, total_stake); @@ -1249,6 +1254,9 @@ fn test_swap_stake_for_coldkey() { assert_eq!(Stake::::get(hotkey1, old_coldkey), 0); assert_eq!(Stake::::get(hotkey2, old_coldkey), 0); + // Verify stake is additive, not replaced + assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1 + stake_amount3); + // Verify TotalColdkeyStake assert_eq!(TotalColdkeyStake::::get(new_coldkey), total_stake); assert_eq!(TotalColdkeyStake::::get(old_coldkey), 0); From f9164fc1a023d497779163e58755edf39fed2ebb Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:27:56 -0400 Subject: [PATCH 20/52] fix some tests --- pallets/subtensor/tests/swap.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 60b5b10c1..637a0b4a9 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1220,11 +1220,13 @@ fn test_swap_stake_for_coldkey() { // Setup initial state OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); // Insert existing for same hotkey1 Stake::::insert(hotkey1, new_coldkey, stake_amount3); + StakingHotkeys::::insert(new_coldkey, vec![hotkey1]); TotalHotkeyStake::::insert(hotkey1, stake_amount1); TotalHotkeyStake::::insert(hotkey2, stake_amount2); @@ -1295,6 +1297,7 @@ fn test_swap_staking_hotkeys_for_coldkey() { OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); TotalHotkeyStake::::insert(hotkey1, stake_amount1); TotalHotkeyStake::::insert(hotkey2, stake_amount2); TotalColdkeyStake::::insert(old_coldkey, total_stake); @@ -1329,6 +1332,7 @@ fn test_swap_delegated_stake_for_coldkey() { // coldkey therefore delegates stake to them // Setup initial state + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); TotalHotkeyStake::::insert(hotkey1, stake_amount1); From 2a14df766e19655915f4c79b8e6cccbd81a947b7 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:28:07 -0400 Subject: [PATCH 21/52] fix delegate test --- pallets/subtensor/tests/swap.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 637a0b4a9..0aecdbbac 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1251,7 +1251,6 @@ fn test_swap_stake_for_coldkey() { assert_eq!(SubtensorModule::get_owned_hotkeys(&old_coldkey), vec![]); // Verify stake transfer - assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1); assert_eq!(Stake::::get(hotkey2, new_coldkey), stake_amount2); assert_eq!(Stake::::get(hotkey1, old_coldkey), 0); assert_eq!(Stake::::get(hotkey2, old_coldkey), 0); From b970f50be23a731542494f5212011bcee9dcbf77 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:28:18 -0400 Subject: [PATCH 22/52] update staking hotekys maps --- pallets/subtensor/src/swap.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 3a557e178..3cddff97e 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -917,8 +917,11 @@ impl Pallet { // Update the staking hotkeys for both old and new coldkeys let staking_hotkeys: Vec = StakingHotkeys::::get(old_coldkey); + let old_staking_hotkeys: Vec = StakingHotkeys::::get(new_coldkey); + + let combined_staking_hotkeys: Vec = staking_hotkeys.into_iter().chain(old_staking_hotkeys.into_iter()).collect(); StakingHotkeys::::remove(old_coldkey); - StakingHotkeys::::insert(new_coldkey, staking_hotkeys); + StakingHotkeys::::insert(new_coldkey, combined_staking_hotkeys); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); // Log the total stake of old and new coldkeys after the swap From ad57e2bb50e7a55d5edbd9b84a7cba8fb4a98a98 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 01:52:02 -0400 Subject: [PATCH 23/52] init --- pallets/subtensor/src/migration.rs | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 35b3c4260..72caa0743 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -603,3 +603,55 @@ pub fn migrate_populate_staking_hotkeys() -> Weight { Weight::zero() } } + +const LOG_TARGET_6: &str = "swapdelegate"; + +const ALREADY_SWAPPED_COLDKEYS = { + ("coldkey", "coldkey"), +}; + +pub fn migrate_to_v6_swap_delegate_stake_also() -> Weight { + let new_storage_version = 6; + + // Check storage version + let mut weight = T::DbWeight::get().reads(1); + + // Grab current version + let onchain_version = Pallet::::on_chain_storage_version(); + + // Only runs if we haven't already updated version past above new_storage_version. + if onchain_version < new_storage_version { + info!(target: LOG_TARGET_6, ">>> Swapping delegate stake for an already-swapped coldkey {:?}", onchain_version); + + for (old_coldkey, _) in ColdkeyArbitrationBlock::::iter() { + // Get new coldkey + let new_coldkey = ALREADY_SWAPPED_COLDKEYS.find(|x| x.0 == old_coldkey); + // Grab hotkeys + let staking_hotkeys = StakingHotkeys::::get(&old_coldkey); + // Iterate over hotkeys + for hotkey in staking_hotkeys { + // Get the stake + let stake = Stake::::get(&hotkey, &old_coldkey); + Stake::::remove(&hotkey, &old_coldkey); + + let old_stake = Stake::::get(&hotkey, &new_coldkey); + // Add the stake to the new coldkey + Stake::::insert(&hotkey, &new_coldkey, stake.saturating_add(old_stake)); + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); + } + + StakingHotkeys::::remove(&old_coldkey); + weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); + } + + // Update storage version. + StorageVersion::new(new_storage_version).put::>(); // Update to version so we don't run this again. + // One write to storage version + weight.saturating_accrue(T::DbWeight::get().writes(1)); + + weight + } else { + info!(target: LOG_TARGET_6, "Migration to v6 already done!"); + Weight::zero() + } +} From 1cc7d3cb8ca23d40295d1da2ebc53f7bd9185e88 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 02:05:39 -0400 Subject: [PATCH 24/52] comment out --- pallets/subtensor/src/lib.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index aa7cafde0..de551096b 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -2061,17 +2061,17 @@ pub mod pallet { } /// The extrinsic for user to change its hotkey - #[pallet::call_index(70)] - #[pallet::weight((Weight::from_parts(1_940_000_000, 0) - .saturating_add(T::DbWeight::get().reads(272)) - .saturating_add(T::DbWeight::get().writes(527)), DispatchClass::Operational, Pays::No))] - pub fn swap_hotkey( - origin: OriginFor, - hotkey: T::AccountId, - new_hotkey: T::AccountId, - ) -> DispatchResultWithPostInfo { - Self::do_swap_hotkey(origin, &hotkey, &new_hotkey) - } + ///#[pallet::call_index(70)] + ///#[pallet::weight((Weight::from_parts(1_940_000_000, 0) + ///.saturating_add(T::DbWeight::get().reads(272)) + ///.saturating_add(T::DbWeight::get().writes(527)), DispatchClass::Operational, Pays::No))] + ///pub fn swap_hotkey( + /// origin: OriginFor, + /// hotkey: T::AccountId, + /// new_hotkey: T::AccountId, + ///) -> DispatchResultWithPostInfo { + /// Self::do_swap_hotkey(origin, &hotkey, &new_hotkey) + ///} /// The extrinsic for user to change the coldkey associated with their account. /// From 6dcd0a13eecbfca7a45961966408632902099f16 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 02:13:49 -0400 Subject: [PATCH 25/52] add admin swap --- pallets/admin-utils/src/lib.rs | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 9a8744dc6..48b003a4b 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -17,6 +17,7 @@ pub mod pallet { use frame_support::pallet_prelude::*; use frame_support::traits::tokens::Balance; use frame_system::pallet_prelude::*; + use pallet_subtensor::StakingHotkeys; use sp_runtime::BoundedVec; /// The main data structure of the module. @@ -1034,6 +1035,43 @@ pub mod pallet { ) -> DispatchResult { T::Subtensor::ensure_subnet_owner_or_root(origin.clone(), netuid)?; T::Subtensor::do_set_alpha_values(origin, netuid, alpha_low, alpha_high) + } + + /// Sets values for liquid alpha + #[pallet::call_index(52)] + #[pallet::weight((0, DispatchClass::Operational, Pays::No))] + pub fn sudo_hotfix_swap_coldkey_delegates( + origin: OriginFor, + old_coldkey: T::AccountId, + new_coldkey: T::AccountId, + ) -> DispatchResult { + T::Subtensor::ensure_root(origin.clone())?; + + let weight = T::DbWeight::get().reads_writes(2, 1); + let staking_hotkeys = StakingHotkeys::::get(old_coldkey); + for staking_hotkey in staking_hotkeys { + if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { + + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::get(hotkey, old_coldkey); + Stake::::remove(hotkey, old_coldkey); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); + } + } + } + + let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); + for hotkey in staking_hotkeys { + if !existing_staking_hotkeys.contains(&hotkey) { + existing_staking_hotkeys.push(hotkey); + } + } + StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); + StakingHotkeys::::remove(old_coldkey); } } } From f474112da9ea61e5cb605ca4889f1d14db9cb4a7 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 02:13:54 -0400 Subject: [PATCH 26/52] fix swap --- pallets/subtensor/src/swap.rs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 3cddff97e..1a636f676 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -911,17 +911,30 @@ impl Pallet { } // Update the list of owned hotkeys for both old and new coldkeys - OwnedHotkeys::::remove(old_coldkey); - OwnedHotkeys::::insert(new_coldkey, old_owned_hotkeys); + + let mut new_owned_hotkeys = OwnedHotkeys::::get(new_coldkey); + for hotkey in old_owned_hotkeys { + if !new_owned_hotkeys.contains(&hotkey) { + new_owned_hotkeys.push(hotkey); + } + } + + OwnedHotkeys::::insert(new_coldkey, new_owned_hotkeys); + OwnedHotkeys::::remove(old_coldkey); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); // Update the staking hotkeys for both old and new coldkeys let staking_hotkeys: Vec = StakingHotkeys::::get(old_coldkey); - let old_staking_hotkeys: Vec = StakingHotkeys::::get(new_coldkey); - let combined_staking_hotkeys: Vec = staking_hotkeys.into_iter().chain(old_staking_hotkeys.into_iter()).collect(); + let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); + for hotkey in staking_hotkeys { + if !existing_staking_hotkeys.contains(&hotkey) { + existing_staking_hotkeys.push(hotkey); + } + } + StakingHotkeys::::remove(old_coldkey); - StakingHotkeys::::insert(new_coldkey, combined_staking_hotkeys); + StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); // Log the total stake of old and new coldkeys after the swap From b708c1d38b070144bc351122642dcb74991a2deb Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Sat, 13 Jul 2024 02:23:31 -0400 Subject: [PATCH 27/52] .. --- pallets/admin-utils/src/lib.rs | 30 ++-------- pallets/admin-utils/tests/tests.rs | 18 ++++++ pallets/subtensor/src/migration.rs | 96 +++++++++++++++--------------- pallets/subtensor/src/swap.rs | 33 ++++++++++ pallets/subtensor/tests/swap.rs | 79 ++++++++++++++++++++++++ 5 files changed, 181 insertions(+), 75 deletions(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 48b003a4b..a471a8387 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -1047,32 +1047,10 @@ pub mod pallet { ) -> DispatchResult { T::Subtensor::ensure_root(origin.clone())?; - let weight = T::DbWeight::get().reads_writes(2, 1); - let staking_hotkeys = StakingHotkeys::::get(old_coldkey); - for staking_hotkey in staking_hotkeys { - if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { - - let hotkey = &staking_hotkey; - // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::get(hotkey, old_coldkey); - Stake::::remove(hotkey, old_coldkey); - if stake > 0 { - // Insert the stake for the hotkey and new coldkey - let old_stake = Stake::::get(hotkey, new_coldkey); - Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); - } - } - } - - let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); - for hotkey in staking_hotkeys { - if !existing_staking_hotkeys.contains(&hotkey) { - existing_staking_hotkeys.push(hotkey); - } - } - StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); - StakingHotkeys::::remove(old_coldkey); - } + T::Subtensor::swap_hotfix(old_coldkey, new_coldkey); + + Ok(()) + } } } diff --git a/pallets/admin-utils/tests/tests.rs b/pallets/admin-utils/tests/tests.rs index 9df59978f..95ea84643 100644 --- a/pallets/admin-utils/tests/tests.rs +++ b/pallets/admin-utils/tests/tests.rs @@ -1361,3 +1361,21 @@ fn test_sudo_get_set_alpha() { )); }); } + + +#[test] +fn test_sudo_hotfix_swap_coldkey_delegates() { + new_test_ext().execute_with(|| { + let new_coldkey = U256::from(0); + let owner = U256::from(1); + let coldkey = U256::from(4); + + assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( + <::RuntimeOrigin>::root(), + coldkey, + new_coldkey + )); + + + }); +} diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 72caa0743..277c8e531 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -606,52 +606,50 @@ pub fn migrate_populate_staking_hotkeys() -> Weight { const LOG_TARGET_6: &str = "swapdelegate"; -const ALREADY_SWAPPED_COLDKEYS = { - ("coldkey", "coldkey"), -}; - -pub fn migrate_to_v6_swap_delegate_stake_also() -> Weight { - let new_storage_version = 6; - - // Check storage version - let mut weight = T::DbWeight::get().reads(1); - - // Grab current version - let onchain_version = Pallet::::on_chain_storage_version(); - - // Only runs if we haven't already updated version past above new_storage_version. - if onchain_version < new_storage_version { - info!(target: LOG_TARGET_6, ">>> Swapping delegate stake for an already-swapped coldkey {:?}", onchain_version); - - for (old_coldkey, _) in ColdkeyArbitrationBlock::::iter() { - // Get new coldkey - let new_coldkey = ALREADY_SWAPPED_COLDKEYS.find(|x| x.0 == old_coldkey); - // Grab hotkeys - let staking_hotkeys = StakingHotkeys::::get(&old_coldkey); - // Iterate over hotkeys - for hotkey in staking_hotkeys { - // Get the stake - let stake = Stake::::get(&hotkey, &old_coldkey); - Stake::::remove(&hotkey, &old_coldkey); - - let old_stake = Stake::::get(&hotkey, &new_coldkey); - // Add the stake to the new coldkey - Stake::::insert(&hotkey, &new_coldkey, stake.saturating_add(old_stake)); - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); - } - - StakingHotkeys::::remove(&old_coldkey); - weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); - } - - // Update storage version. - StorageVersion::new(new_storage_version).put::>(); // Update to version so we don't run this again. - // One write to storage version - weight.saturating_accrue(T::DbWeight::get().writes(1)); - - weight - } else { - info!(target: LOG_TARGET_6, "Migration to v6 already done!"); - Weight::zero() - } -} +// const ALREADY_SWAPPED_COLDKEYS = []; + +// pub fn migrate_to_v6_swap_delegate_stake_also() -> Weight { +// let new_storage_version = 6; + +// // Check storage version +// let mut weight = T::DbWeight::get().reads(1); + +// // Grab current version +// let onchain_version = Pallet::::on_chain_storage_version(); + +// // Only runs if we haven't already updated version past above new_storage_version. +// if onchain_version < new_storage_version { +// info!(target: LOG_TARGET_6, ">>> Swapping delegate stake for an already-swapped coldkey {:?}", onchain_version); + +// for (old_coldkey, _) in ColdkeyArbitrationBlock::::iter() { +// // Get new coldkey +// let new_coldkey = ALREADY_SWAPPED_COLDKEYS.find(|x| x.0 == old_coldkey); +// // Grab hotkeys +// let staking_hotkeys = StakingHotkeys::::get(&old_coldkey); +// // Iterate over hotkeys +// for hotkey in staking_hotkeys { +// // Get the stake +// let stake = Stake::::get(&hotkey, &old_coldkey); +// Stake::::remove(&hotkey, &old_coldkey); + +// let old_stake = Stake::::get(&hotkey, &new_coldkey); +// // Add the stake to the new coldkey +// Stake::::insert(&hotkey, &new_coldkey, stake.saturating_add(old_stake)); +// weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); +// } + +// StakingHotkeys::::remove(&old_coldkey); +// weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); +// } + +// // Update storage version. +// StorageVersion::new(new_storage_version).put::>(); // Update to version so we don't run this again. +// // One write to storage version +// weight.saturating_accrue(T::DbWeight::get().writes(1)); + +// weight +// } else { +// info!(target: LOG_TARGET_6, "Migration to v6 already done!"); +// Weight::zero() +// } +// } diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 1a636f676..d53175f92 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -947,6 +947,39 @@ impl Pallet { TotalColdkeyStake::::get(new_coldkey) ); } + + + pub fn swap_hotfix(old_coldkey: &T::AccountId, new_coldkey: &T::AccountId) { + + let weight = T::DbWeight::get().reads_writes(2, 1); + let staking_hotkeys = StakingHotkeys::::get(old_coldkey); + for staking_hotkey in staking_hotkeys { + if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { + + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::get(hotkey, old_coldkey); + Stake::::remove(hotkey, old_coldkey); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); + } + } + } + + let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); + + let staking_hotkeys = StakingHotkeys::::get(old_coldkey); + for hotkey in staking_hotkeys { + if !existing_staking_hotkeys.contains(&hotkey) { + existing_staking_hotkeys.push(hotkey); + } + } + StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); + StakingHotkeys::::remove(old_coldkey); + } + /// Swaps the total hotkey-coldkey stakes for the current interval from the old coldkey to the new coldkey. /// /// # Arguments diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 0aecdbbac..97347fe4d 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1842,3 +1842,82 @@ fn test_swap_senate_member() { assert_eq!(weight, expected_weight); }); } + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_coldkey_delegations --exact --nocapture +#[test] +fn test_coldkey_delegations() { + new_test_ext(1).execute_with(|| { + let new_coldkey = U256::from(0); + let owner = U256::from(1); + let coldkey = U256::from(4); + let delegate = U256::from(2); + let netuid = 1u16; + add_network(netuid, 13, 0); + register_ok_neuron(netuid, delegate, owner, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1000); + assert_ok!(SubtensorModule::do_become_delegate( + <::RuntimeOrigin>::signed(owner), + delegate, + u16::MAX / 10 + )); + assert_ok!(SubtensorModule::add_stake( + <::RuntimeOrigin>::signed(coldkey), + delegate, + 100 + )); + assert_ok!(SubtensorModule::perform_swap_coldkey( + &coldkey, + &new_coldkey + )); + assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); + assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); + assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); + assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); + assert_eq!( Stake::::get( delegate, coldkey ), 0 ); + }); +} + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture +#[test] +fn test_sudo_hotfix_swap_coldkey_delegates() { + new_test_ext(1).execute_with(|| { + let new_coldkey = U256::from(0); + let owner = U256::from(1); + let coldkey = U256::from(4); + let delegate = U256::from(2); + let netuid = 1u16; + add_network(netuid, 13, 0); + register_ok_neuron(netuid, delegate, owner, 0); + SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1000); + assert_ok!(SubtensorModule::do_become_delegate( + <::RuntimeOrigin>::signed(owner), + delegate, + u16::MAX / 10 + )); + assert_ok!(SubtensorModule::add_stake( + <::RuntimeOrigin>::signed(coldkey), + delegate, + 100 + )); + + assert_ok!(SubtensorModule::perform_swap_coldkey( + &coldkey, + &new_coldkey + )); + + + assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( + <::RuntimeOrigin>::root(), + to_be_set + )); + + assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); + assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); + assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); + assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); + assert_eq!( Stake::::get( delegate, coldkey ), 0 ); + + + }); +} + From 5b30256fae2fe3a80146a76c80af839d092fb554 Mon Sep 17 00:00:00 2001 From: const Date: Sat, 13 Jul 2024 02:04:04 -0500 Subject: [PATCH 28/52] hotkey staking maps fix --- pallets/admin-utils/src/lib.rs | 15 -- pallets/admin-utils/tests/tests.rs | 18 -- pallets/subtensor/src/lib.rs | 14 ++ pallets/subtensor/src/swap.rs | 9 +- pallets/subtensor/tests/registration.rs | 284 ++++++++++++------------ pallets/subtensor/tests/swap.rs | 119 +++++++--- runtime/src/lib.rs | 2 +- 7 files changed, 246 insertions(+), 215 deletions(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index a471a8387..71b709a10 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -1036,21 +1036,6 @@ pub mod pallet { T::Subtensor::ensure_subnet_owner_or_root(origin.clone(), netuid)?; T::Subtensor::do_set_alpha_values(origin, netuid, alpha_low, alpha_high) } - - /// Sets values for liquid alpha - #[pallet::call_index(52)] - #[pallet::weight((0, DispatchClass::Operational, Pays::No))] - pub fn sudo_hotfix_swap_coldkey_delegates( - origin: OriginFor, - old_coldkey: T::AccountId, - new_coldkey: T::AccountId, - ) -> DispatchResult { - T::Subtensor::ensure_root(origin.clone())?; - - T::Subtensor::swap_hotfix(old_coldkey, new_coldkey); - - Ok(()) - } } } diff --git a/pallets/admin-utils/tests/tests.rs b/pallets/admin-utils/tests/tests.rs index 95ea84643..9df59978f 100644 --- a/pallets/admin-utils/tests/tests.rs +++ b/pallets/admin-utils/tests/tests.rs @@ -1361,21 +1361,3 @@ fn test_sudo_get_set_alpha() { )); }); } - - -#[test] -fn test_sudo_hotfix_swap_coldkey_delegates() { - new_test_ext().execute_with(|| { - let new_coldkey = U256::from(0); - let owner = U256::from(1); - let coldkey = U256::from(4); - - assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( - <::RuntimeOrigin>::root(), - coldkey, - new_coldkey - )); - - - }); -} diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index de551096b..60d6c06d1 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -6,6 +6,7 @@ // pub use pallet::*; +use crate::system::ensure_root; use frame_system::{self as system, ensure_signed}; use frame_support::{ @@ -2253,6 +2254,19 @@ pub mod pallet { pub fn dissolve_network(origin: OriginFor, netuid: u16) -> DispatchResult { Self::user_remove_network(origin, netuid) } + + /// Sets values for liquid alpha + #[pallet::call_index(64)] + #[pallet::weight((0, DispatchClass::Operational, Pays::No))] + pub fn sudo_hotfix_swap_coldkey_delegates( + origin: OriginFor, + old_coldkey: T::AccountId, + new_coldkey: T::AccountId, + ) -> DispatchResult { + ensure_root(origin)?; + Self::swap_hotfix(&old_coldkey, &new_coldkey); + Ok(()) + } } // ---- Subtensor helper functions. diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index d53175f92..b8b0cc459 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -851,7 +851,8 @@ impl Pallet { log::info!("Transferring stake for hotkey {:?}: {}", hotkey, stake); if stake > 0 { // Insert the stake for the hotkey and new coldkey - Stake::::insert(hotkey, new_coldkey, stake); + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); total_transferred_stake = total_transferred_stake.saturating_add(stake); // Update the owner of the hotkey to the new coldkey @@ -861,10 +862,11 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); } } + log::info!("Starting transfer of delegated stakes for old coldkey: {:?}", old_coldkey); for staking_hotkey in StakingHotkeys::::get(old_coldkey) { + log::info!("Processing staking hotkey: {:?}", staking_hotkey); if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { - let hotkey = &staking_hotkey; // Retrieve and remove the stake associated with the hotkey and old coldkey let stake: u64 = Stake::::get(hotkey, old_coldkey); @@ -875,15 +877,18 @@ impl Pallet { let old_stake = Stake::::get(hotkey, new_coldkey); Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); total_transferred_stake = total_transferred_stake.saturating_add(stake); + log::info!("Updated stake for hotkey {:?} under new coldkey {:?}: {}", hotkey, new_coldkey, stake.saturating_add(old_stake)); // Update the transaction weight weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); } } else { + log::info!("No stake found for staking hotkey {:?} under old coldkey {:?}", staking_hotkey, old_coldkey); weight.saturating_accrue(T::DbWeight::get().reads(1)); } } + log::info!("Completed transfer of delegated stakes for old coldkey: {:?}", old_coldkey); // Log the total transferred stake log::info!("Total transferred stake: {}", total_transferred_stake); diff --git a/pallets/subtensor/tests/registration.rs b/pallets/subtensor/tests/registration.rs index 676d49a44..bd95ae3b1 100644 --- a/pallets/subtensor/tests/registration.rs +++ b/pallets/subtensor/tests/registration.rs @@ -1868,153 +1868,153 @@ fn test_registration_disabled() { }); } -#[ignore] -#[test] -fn test_hotkey_swap_ok() { - new_test_ext(1).execute_with(|| { - let netuid: u16 = 1; - let tempo: u16 = 13; - let hotkey_account_id = U256::from(1); - let burn_cost = 1000; - let coldkey_account_id = U256::from(667); - - SubtensorModule::set_burn(netuid, burn_cost); - add_network(netuid, tempo, 0); - - // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10_000_000_000); - - // Subscribe and check extrinsic output - assert_ok!(SubtensorModule::burned_register( - <::RuntimeOrigin>::signed(coldkey_account_id), - netuid, - hotkey_account_id - )); - - let new_hotkey = U256::from(1337); - assert_ok!(SubtensorModule::swap_hotkey( - <::RuntimeOrigin>::signed(coldkey_account_id), - hotkey_account_id, - new_hotkey - )); - assert_ne!( - SubtensorModule::get_owning_coldkey_for_hotkey(&hotkey_account_id), - coldkey_account_id - ); - assert_eq!( - SubtensorModule::get_owning_coldkey_for_hotkey(&new_hotkey), - coldkey_account_id - ); - }); -} - -#[ignore] -#[test] -fn test_hotkey_swap_not_owner() { - new_test_ext(1).execute_with(|| { - let netuid: u16 = 1; - let tempo: u16 = 13; - let hotkey_account_id = U256::from(1); - let burn_cost = 1000; - let coldkey_account_id = U256::from(2); - let not_owner_coldkey = U256::from(3); - - SubtensorModule::set_burn(netuid, burn_cost); - add_network(netuid, tempo, 0); - - // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); - - // Subscribe and check extrinsic output - assert_ok!(SubtensorModule::burned_register( - <::RuntimeOrigin>::signed(coldkey_account_id), - netuid, - hotkey_account_id - )); - - let new_hotkey = U256::from(4); - assert_err!( - SubtensorModule::swap_hotkey( - <::RuntimeOrigin>::signed(not_owner_coldkey), - hotkey_account_id, - new_hotkey - ), - Error::::NonAssociatedColdKey - ); - }); -} - -#[ignore] -#[test] -fn test_hotkey_swap_same_key() { - new_test_ext(1).execute_with(|| { - let netuid: u16 = 1; - let tempo: u16 = 13; - let hotkey_account_id = U256::from(1); - let burn_cost = 1000; - let coldkey_account_id = U256::from(2); - - SubtensorModule::set_burn(netuid, burn_cost); - add_network(netuid, tempo, 0); - - // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); +// #[ignore] +// #[test] +// fn test_hotkey_swap_ok() { +// new_test_ext(1).execute_with(|| { +// let netuid: u16 = 1; +// let tempo: u16 = 13; +// let hotkey_account_id = U256::from(1); +// let burn_cost = 1000; +// let coldkey_account_id = U256::from(667); + +// SubtensorModule::set_burn(netuid, burn_cost); +// add_network(netuid, tempo, 0); + +// // Give it some $$$ in his coldkey balance +// SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10_000_000_000); + +// // Subscribe and check extrinsic output +// assert_ok!(SubtensorModule::burned_register( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// netuid, +// hotkey_account_id +// )); - // Subscribe and check extrinsic output - assert_ok!(SubtensorModule::burned_register( - <::RuntimeOrigin>::signed(coldkey_account_id), - netuid, - hotkey_account_id - )); +// let new_hotkey = U256::from(1337); +// assert_ok!(SubtensorModule::swap_hotkey( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// hotkey_account_id, +// new_hotkey +// )); +// assert_ne!( +// SubtensorModule::get_owning_coldkey_for_hotkey(&hotkey_account_id), +// coldkey_account_id +// ); +// assert_eq!( +// SubtensorModule::get_owning_coldkey_for_hotkey(&new_hotkey), +// coldkey_account_id +// ); +// }); +// } - assert_err!( - SubtensorModule::swap_hotkey( - <::RuntimeOrigin>::signed(coldkey_account_id), - hotkey_account_id, - hotkey_account_id - ), - Error::::HotKeyAlreadyRegisteredInSubNet - ); - }); -} +// #[ignore] +// #[test] +// fn test_hotkey_swap_not_owner() { +// new_test_ext(1).execute_with(|| { +// let netuid: u16 = 1; +// let tempo: u16 = 13; +// let hotkey_account_id = U256::from(1); +// let burn_cost = 1000; +// let coldkey_account_id = U256::from(2); +// let not_owner_coldkey = U256::from(3); + +// SubtensorModule::set_burn(netuid, burn_cost); +// add_network(netuid, tempo, 0); + +// // Give it some $$$ in his coldkey balance +// SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + +// // Subscribe and check extrinsic output +// assert_ok!(SubtensorModule::burned_register( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// netuid, +// hotkey_account_id +// )); -#[ignore] -#[test] -fn test_hotkey_swap_registered_key() { - new_test_ext(1).execute_with(|| { - let netuid: u16 = 1; - let tempo: u16 = 13; - let hotkey_account_id = U256::from(1); - let burn_cost = 1000; - let coldkey_account_id = U256::from(2); +// let new_hotkey = U256::from(4); +// assert_err!( +// SubtensorModule::swap_hotkey( +// <::RuntimeOrigin>::signed(not_owner_coldkey), +// hotkey_account_id, +// new_hotkey +// ), +// Error::::NonAssociatedColdKey +// ); +// }); +// } - SubtensorModule::set_burn(netuid, burn_cost); - add_network(netuid, tempo, 0); +// #[ignore] +// #[test] +// fn test_hotkey_swap_same_key() { +// new_test_ext(1).execute_with(|| { +// let netuid: u16 = 1; +// let tempo: u16 = 13; +// let hotkey_account_id = U256::from(1); +// let burn_cost = 1000; +// let coldkey_account_id = U256::from(2); + +// SubtensorModule::set_burn(netuid, burn_cost); +// add_network(netuid, tempo, 0); + +// // Give it some $$$ in his coldkey balance +// SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 10000); + +// // Subscribe and check extrinsic output +// assert_ok!(SubtensorModule::burned_register( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// netuid, +// hotkey_account_id +// )); - // Give it some $$$ in his coldkey balance - SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 100_000_000_000); +// assert_err!( +// SubtensorModule::swap_hotkey( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// hotkey_account_id, +// hotkey_account_id +// ), +// Error::::HotKeyAlreadyRegisteredInSubNet +// ); +// }); +// } - // Subscribe and check extrinsic output - assert_ok!(SubtensorModule::burned_register( - <::RuntimeOrigin>::signed(coldkey_account_id), - netuid, - hotkey_account_id - )); +// #[ignore] +// #[test] +// fn test_hotkey_swap_registered_key() { +// new_test_ext(1).execute_with(|| { +// let netuid: u16 = 1; +// let tempo: u16 = 13; +// let hotkey_account_id = U256::from(1); +// let burn_cost = 1000; +// let coldkey_account_id = U256::from(2); + +// SubtensorModule::set_burn(netuid, burn_cost); +// add_network(netuid, tempo, 0); + +// // Give it some $$$ in his coldkey balance +// SubtensorModule::add_balance_to_coldkey_account(&coldkey_account_id, 100_000_000_000); + +// // Subscribe and check extrinsic output +// assert_ok!(SubtensorModule::burned_register( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// netuid, +// hotkey_account_id +// )); - let new_hotkey = U256::from(3); - assert_ok!(SubtensorModule::burned_register( - <::RuntimeOrigin>::signed(coldkey_account_id), - netuid, - new_hotkey - )); +// let new_hotkey = U256::from(3); +// assert_ok!(SubtensorModule::burned_register( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// netuid, +// new_hotkey +// )); - assert_err!( - SubtensorModule::swap_hotkey( - <::RuntimeOrigin>::signed(coldkey_account_id), - hotkey_account_id, - new_hotkey - ), - Error::::HotKeyAlreadyRegisteredInSubNet - ); - }); -} +// assert_err!( +// SubtensorModule::swap_hotkey( +// <::RuntimeOrigin>::signed(coldkey_account_id), +// hotkey_account_id, +// new_hotkey +// ), +// Error::::HotKeyAlreadyRegisteredInSubNet +// ); +// }); +// } diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 97347fe4d..2f075f729 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1205,6 +1205,7 @@ fn test_do_swap_coldkey_success() { }); } +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_swap_stake_for_coldkey --exact --nocaptur #[test] fn test_swap_stake_for_coldkey() { new_test_ext(1).execute_with(|| { @@ -1223,6 +1224,8 @@ fn test_swap_stake_for_coldkey() { StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); + assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1 ); + assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1 ); // Insert existing for same hotkey1 Stake::::insert(hotkey1, new_coldkey, stake_amount3); @@ -1243,6 +1246,9 @@ fn test_swap_stake_for_coldkey() { // Perform the swap SubtensorModule::swap_stake_for_coldkey(&old_coldkey, &new_coldkey, &mut weight); + // Verify stake is additive, not replaced + assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1 + stake_amount3); + // Verify ownership transfer assert_eq!( SubtensorModule::get_owned_hotkeys(&new_coldkey), @@ -1255,9 +1261,6 @@ fn test_swap_stake_for_coldkey() { assert_eq!(Stake::::get(hotkey1, old_coldkey), 0); assert_eq!(Stake::::get(hotkey2, old_coldkey), 0); - // Verify stake is additive, not replaced - assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1 + stake_amount3); - // Verify TotalColdkeyStake assert_eq!(TotalColdkeyStake::::get(new_coldkey), total_stake); assert_eq!(TotalColdkeyStake::::get(old_coldkey), 0); @@ -1877,47 +1880,89 @@ fn test_coldkey_delegations() { }); } +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture +// #[test] +// fn test_sudo_hotfix_swap_coldkey_delegates() { +// new_test_ext(1).execute_with(|| { +// let new_coldkey = U256::from(0); +// let owner = U256::from(1); +// let coldkey = U256::from(4); +// let delegate = U256::from(2); +// let netuid = 1u16; +// add_network(netuid, 13, 0); +// register_ok_neuron(netuid, delegate, owner, 0); +// SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1000); +// assert_ok!(SubtensorModule::do_become_delegate( +// <::RuntimeOrigin>::signed(owner), +// delegate, +// u16::MAX / 10 +// )); +// assert_ok!(SubtensorModule::add_stake( +// <::RuntimeOrigin>::signed(coldkey), +// delegate, +// 100 +// )); + +// assert_ok!(SubtensorModule::perform_swap_coldkey( +// &coldkey, +// &new_coldkey +// )); + + +// assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( +// <::RuntimeOrigin>::root(), +// to_be_set +// )); + +// assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); +// assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); +// assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); +// assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); +// assert_eq!( Stake::::get( delegate, coldkey ), 0 ); + + +// }); +// } + + + // SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture #[test] fn test_sudo_hotfix_swap_coldkey_delegates() { new_test_ext(1).execute_with(|| { let new_coldkey = U256::from(0); - let owner = U256::from(1); let coldkey = U256::from(4); - let delegate = U256::from(2); - let netuid = 1u16; - add_network(netuid, 13, 0); - register_ok_neuron(netuid, delegate, owner, 0); - SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1000); - assert_ok!(SubtensorModule::do_become_delegate( - <::RuntimeOrigin>::signed(owner), - delegate, - u16::MAX / 10 - )); - assert_ok!(SubtensorModule::add_stake( - <::RuntimeOrigin>::signed(coldkey), - delegate, - 100 - )); - - assert_ok!(SubtensorModule::perform_swap_coldkey( - &coldkey, - &new_coldkey - )); - - - assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( - <::RuntimeOrigin>::root(), - to_be_set - )); - - assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); - assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); - assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); - assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); - assert_eq!( Stake::::get( delegate, coldkey ), 0 ); + assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates(<::RuntimeOrigin>::root(),coldkey,new_coldkey)); + }); +} +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates_with_broken_stake --exact --nocapture +#[test] +fn test_sudo_hotfix_swap_coldkey_delegates_with_broken_stake() { + new_test_ext(1).execute_with(|| { + let new_coldkey = U256::from(0); + let old_coldkey = U256::from(4); + let h1 = U256::from(5); + let h2 = U256::from(6); + let h3 = U256::from(7); + Stake::::insert( h3, old_coldkey, 100 ); + Stake::::insert( h2, old_coldkey, 100 ); + assert_eq!(Stake::::get( h3, old_coldkey ), 100 ); + assert_eq!(Stake::::get( h2, old_coldkey ), 100 ); + StakingHotkeys::::insert( new_coldkey, vec![h1, h2 ] ); + StakingHotkeys::::insert( old_coldkey, vec![ h3, h2] ); + assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates(<::RuntimeOrigin>::root(), old_coldkey, new_coldkey)); + let hotkeys = StakingHotkeys::::get( new_coldkey); + assert_eq!(hotkeys.len(), 3); + assert_eq!(hotkeys[0], h1); + assert_eq!(hotkeys[1], h2); + assert_eq!(hotkeys[2], h3); + let hotkeys_old = StakingHotkeys::::get( old_coldkey); + assert_eq!(hotkeys_old.len(), 0); + assert_eq!(Stake::::get( h3, old_coldkey ), 0 ); + assert_eq!(Stake::::get( h2, old_coldkey ), 0 ); + assert_eq!(Stake::::get( h3, new_coldkey ), 100 ); + assert_eq!(Stake::::get( h2, new_coldkey ), 100 ); }); } - diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index b343ad0f0..d1fe2e0c9 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 162, + spec_version: 164, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From fc245f813114b13485f9d2dab9d7f981641ca487 Mon Sep 17 00:00:00 2001 From: const Date: Sat, 13 Jul 2024 02:05:15 -0500 Subject: [PATCH 29/52] remove staking hotkeys --- pallets/admin-utils/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index 71b709a10..9a8744dc6 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -17,7 +17,6 @@ pub mod pallet { use frame_support::pallet_prelude::*; use frame_support::traits::tokens::Balance; use frame_system::pallet_prelude::*; - use pallet_subtensor::StakingHotkeys; use sp_runtime::BoundedVec; /// The main data structure of the module. From 494796e59a305a00683ba55dab07bbc6526420b8 Mon Sep 17 00:00:00 2001 From: const Date: Sat, 13 Jul 2024 02:07:07 -0500 Subject: [PATCH 30/52] remove commented code --- pallets/subtensor/src/migration.rs | 50 ------------------------------ 1 file changed, 50 deletions(-) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 277c8e531..35b3c4260 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -603,53 +603,3 @@ pub fn migrate_populate_staking_hotkeys() -> Weight { Weight::zero() } } - -const LOG_TARGET_6: &str = "swapdelegate"; - -// const ALREADY_SWAPPED_COLDKEYS = []; - -// pub fn migrate_to_v6_swap_delegate_stake_also() -> Weight { -// let new_storage_version = 6; - -// // Check storage version -// let mut weight = T::DbWeight::get().reads(1); - -// // Grab current version -// let onchain_version = Pallet::::on_chain_storage_version(); - -// // Only runs if we haven't already updated version past above new_storage_version. -// if onchain_version < new_storage_version { -// info!(target: LOG_TARGET_6, ">>> Swapping delegate stake for an already-swapped coldkey {:?}", onchain_version); - -// for (old_coldkey, _) in ColdkeyArbitrationBlock::::iter() { -// // Get new coldkey -// let new_coldkey = ALREADY_SWAPPED_COLDKEYS.find(|x| x.0 == old_coldkey); -// // Grab hotkeys -// let staking_hotkeys = StakingHotkeys::::get(&old_coldkey); -// // Iterate over hotkeys -// for hotkey in staking_hotkeys { -// // Get the stake -// let stake = Stake::::get(&hotkey, &old_coldkey); -// Stake::::remove(&hotkey, &old_coldkey); - -// let old_stake = Stake::::get(&hotkey, &new_coldkey); -// // Add the stake to the new coldkey -// Stake::::insert(&hotkey, &new_coldkey, stake.saturating_add(old_stake)); -// weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); -// } - -// StakingHotkeys::::remove(&old_coldkey); -// weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 1)); -// } - -// // Update storage version. -// StorageVersion::new(new_storage_version).put::>(); // Update to version so we don't run this again. -// // One write to storage version -// weight.saturating_accrue(T::DbWeight::get().writes(1)); - -// weight -// } else { -// info!(target: LOG_TARGET_6, "Migration to v6 already done!"); -// Weight::zero() -// } -// } From f041ed902c37f6040c0cee41e7643c844c8190bf Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Sat, 13 Jul 2024 10:40:19 -0400 Subject: [PATCH 31/52] cargo fmt --- pallets/subtensor/src/lib.rs | 16 ++-- pallets/subtensor/src/swap.rs | 138 ++++++++++++++++++-------------- pallets/subtensor/tests/swap.rs | 89 +++++++++++--------- 3 files changed, 135 insertions(+), 108 deletions(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 60d6c06d1..bded1705f 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -2064,8 +2064,8 @@ pub mod pallet { /// The extrinsic for user to change its hotkey ///#[pallet::call_index(70)] ///#[pallet::weight((Weight::from_parts(1_940_000_000, 0) - ///.saturating_add(T::DbWeight::get().reads(272)) - ///.saturating_add(T::DbWeight::get().writes(527)), DispatchClass::Operational, Pays::No))] + ///.saturating_add(T::DbWeight::get().reads(272)) + ///.saturating_add(T::DbWeight::get().writes(527)), DispatchClass::Operational, Pays::No))] ///pub fn swap_hotkey( /// origin: OriginFor, /// hotkey: T::AccountId, @@ -2255,18 +2255,18 @@ pub mod pallet { Self::user_remove_network(origin, netuid) } - /// Sets values for liquid alpha + /// Sets values for liquid alpha #[pallet::call_index(64)] #[pallet::weight((0, DispatchClass::Operational, Pays::No))] pub fn sudo_hotfix_swap_coldkey_delegates( origin: OriginFor, - old_coldkey: T::AccountId, - new_coldkey: T::AccountId, + old_coldkey: T::AccountId, + new_coldkey: T::AccountId, ) -> DispatchResult { ensure_root(origin)?; - Self::swap_hotfix(&old_coldkey, &new_coldkey); - Ok(()) - } + Self::swap_hotfix(&old_coldkey, &new_coldkey); + Ok(()) + } } // ---- Subtensor helper functions. diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index b8b0cc459..50e3ed944 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -862,33 +862,52 @@ impl Pallet { weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 2)); } } - log::info!("Starting transfer of delegated stakes for old coldkey: {:?}", old_coldkey); - - for staking_hotkey in StakingHotkeys::::get(old_coldkey) { - log::info!("Processing staking hotkey: {:?}", staking_hotkey); - if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { - let hotkey = &staking_hotkey; - // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::get(hotkey, old_coldkey); - Stake::::remove(hotkey, old_coldkey); - log::info!("Transferring delegated stake for hotkey {:?}: {}", hotkey, stake); - if stake > 0 { - // Insert the stake for the hotkey and new coldkey - let old_stake = Stake::::get(hotkey, new_coldkey); - Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); - total_transferred_stake = total_transferred_stake.saturating_add(stake); - log::info!("Updated stake for hotkey {:?} under new coldkey {:?}: {}", hotkey, new_coldkey, stake.saturating_add(old_stake)); - - // Update the transaction weight - weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); - } - } else { - log::info!("No stake found for staking hotkey {:?} under old coldkey {:?}", staking_hotkey, old_coldkey); - weight.saturating_accrue(T::DbWeight::get().reads(1)); - } - } - - log::info!("Completed transfer of delegated stakes for old coldkey: {:?}", old_coldkey); + log::info!( + "Starting transfer of delegated stakes for old coldkey: {:?}", + old_coldkey + ); + + for staking_hotkey in StakingHotkeys::::get(old_coldkey) { + log::info!("Processing staking hotkey: {:?}", staking_hotkey); + if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::get(hotkey, old_coldkey); + Stake::::remove(hotkey, old_coldkey); + log::info!( + "Transferring delegated stake for hotkey {:?}: {}", + hotkey, + stake + ); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); + total_transferred_stake = total_transferred_stake.saturating_add(stake); + log::info!( + "Updated stake for hotkey {:?} under new coldkey {:?}: {}", + hotkey, + new_coldkey, + stake.saturating_add(old_stake) + ); + + // Update the transaction weight + weight.saturating_accrue(T::DbWeight::get().reads_writes(2, 1)); + } + } else { + log::info!( + "No stake found for staking hotkey {:?} under old coldkey {:?}", + staking_hotkey, + old_coldkey + ); + weight.saturating_accrue(T::DbWeight::get().reads(1)); + } + } + + log::info!( + "Completed transfer of delegated stakes for old coldkey: {:?}", + old_coldkey + ); // Log the total transferred stake log::info!("Total transferred stake: {}", total_transferred_stake); @@ -917,7 +936,7 @@ impl Pallet { // Update the list of owned hotkeys for both old and new coldkeys - let mut new_owned_hotkeys = OwnedHotkeys::::get(new_coldkey); + let mut new_owned_hotkeys = OwnedHotkeys::::get(new_coldkey); for hotkey in old_owned_hotkeys { if !new_owned_hotkeys.contains(&hotkey) { new_owned_hotkeys.push(hotkey); @@ -925,13 +944,13 @@ impl Pallet { } OwnedHotkeys::::insert(new_coldkey, new_owned_hotkeys); - OwnedHotkeys::::remove(old_coldkey); + OwnedHotkeys::::remove(old_coldkey); weight.saturating_accrue(T::DbWeight::get().reads_writes(1, 2)); // Update the staking hotkeys for both old and new coldkeys - let staking_hotkeys: Vec = StakingHotkeys::::get(old_coldkey); + let staking_hotkeys: Vec = StakingHotkeys::::get(old_coldkey); - let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); + let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); for hotkey in staking_hotkeys { if !existing_staking_hotkeys.contains(&hotkey) { existing_staking_hotkeys.push(hotkey); @@ -953,37 +972,34 @@ impl Pallet { ); } + pub fn swap_hotfix(old_coldkey: &T::AccountId, new_coldkey: &T::AccountId) { + let weight = T::DbWeight::get().reads_writes(2, 1); + let staking_hotkeys = StakingHotkeys::::get(old_coldkey); + for staking_hotkey in staking_hotkeys { + if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { + let hotkey = &staking_hotkey; + // Retrieve and remove the stake associated with the hotkey and old coldkey + let stake: u64 = Stake::::get(hotkey, old_coldkey); + Stake::::remove(hotkey, old_coldkey); + if stake > 0 { + // Insert the stake for the hotkey and new coldkey + let old_stake = Stake::::get(hotkey, new_coldkey); + Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); + } + } + } + + let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); - pub fn swap_hotfix(old_coldkey: &T::AccountId, new_coldkey: &T::AccountId) { - - let weight = T::DbWeight::get().reads_writes(2, 1); - let staking_hotkeys = StakingHotkeys::::get(old_coldkey); - for staking_hotkey in staking_hotkeys { - if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { - - let hotkey = &staking_hotkey; - // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::get(hotkey, old_coldkey); - Stake::::remove(hotkey, old_coldkey); - if stake > 0 { - // Insert the stake for the hotkey and new coldkey - let old_stake = Stake::::get(hotkey, new_coldkey); - Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); - } - } - } - - let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); - - let staking_hotkeys = StakingHotkeys::::get(old_coldkey); - for hotkey in staking_hotkeys { - if !existing_staking_hotkeys.contains(&hotkey) { - existing_staking_hotkeys.push(hotkey); - } - } - StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); - StakingHotkeys::::remove(old_coldkey); - } + let staking_hotkeys = StakingHotkeys::::get(old_coldkey); + for hotkey in staking_hotkeys { + if !existing_staking_hotkeys.contains(&hotkey) { + existing_staking_hotkeys.push(hotkey); + } + } + StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); + StakingHotkeys::::remove(old_coldkey); + } /// Swaps the total hotkey-coldkey stakes for the current interval from the old coldkey to the new coldkey. /// diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 2f075f729..6acf0b820 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1215,21 +1215,21 @@ fn test_swap_stake_for_coldkey() { let hotkey2 = U256::from(4); let stake_amount1 = 1000u64; let stake_amount2 = 2000u64; - let stake_amount3 = 3000u64; + let stake_amount3 = 3000u64; let total_stake = stake_amount1 + stake_amount2; let mut weight = Weight::zero(); // Setup initial state OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); - StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); - assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1 ); - assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1 ); + assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1); + assert_eq!(Stake::::get(hotkey1, old_coldkey), stake_amount1); - // Insert existing for same hotkey1 - Stake::::insert(hotkey1, new_coldkey, stake_amount3); - StakingHotkeys::::insert(new_coldkey, vec![hotkey1]); + // Insert existing for same hotkey1 + Stake::::insert(hotkey1, new_coldkey, stake_amount3); + StakingHotkeys::::insert(new_coldkey, vec![hotkey1]); TotalHotkeyStake::::insert(hotkey1, stake_amount1); TotalHotkeyStake::::insert(hotkey2, stake_amount2); @@ -1247,7 +1247,10 @@ fn test_swap_stake_for_coldkey() { SubtensorModule::swap_stake_for_coldkey(&old_coldkey, &new_coldkey, &mut weight); // Verify stake is additive, not replaced - assert_eq!(Stake::::get(hotkey1, new_coldkey), stake_amount1 + stake_amount3); + assert_eq!( + Stake::::get(hotkey1, new_coldkey), + stake_amount1 + stake_amount3 + ); // Verify ownership transfer assert_eq!( @@ -1299,7 +1302,7 @@ fn test_swap_staking_hotkeys_for_coldkey() { OwnedHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); - StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); TotalHotkeyStake::::insert(hotkey1, stake_amount1); TotalHotkeyStake::::insert(hotkey2, stake_amount2); TotalColdkeyStake::::insert(old_coldkey, total_stake); @@ -1311,10 +1314,12 @@ fn test_swap_staking_hotkeys_for_coldkey() { // Perform the swap SubtensorModule::swap_stake_for_coldkey(&old_coldkey, &new_coldkey, &mut weight); - // Verify StakingHotkeys transfer - assert_eq!(StakingHotkeys::::get(new_coldkey), vec![hotkey1, hotkey2]); - assert_eq!(StakingHotkeys::::get(old_coldkey), vec![]); + assert_eq!( + StakingHotkeys::::get(new_coldkey), + vec![hotkey1, hotkey2] + ); + assert_eq!(StakingHotkeys::::get(old_coldkey), vec![]); }); } @@ -1330,11 +1335,11 @@ fn test_swap_delegated_stake_for_coldkey() { let total_stake = stake_amount1 + stake_amount2; let mut weight = Weight::zero(); - // Notice hotkey1 and hotkey2 are not in OwnedHotkeys - // coldkey therefore delegates stake to them + // Notice hotkey1 and hotkey2 are not in OwnedHotkeys + // coldkey therefore delegates stake to them // Setup initial state - StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); + StakingHotkeys::::insert(old_coldkey, vec![hotkey1, hotkey2]); Stake::::insert(hotkey1, old_coldkey, stake_amount1); Stake::::insert(hotkey2, old_coldkey, stake_amount2); TotalHotkeyStake::::insert(hotkey1, stake_amount1); @@ -1872,11 +1877,14 @@ fn test_coldkey_delegations() { &coldkey, &new_coldkey )); - assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); - assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); - assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); - assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); - assert_eq!( Stake::::get( delegate, coldkey ), 0 ); + assert_eq!(SubtensorModule::get_total_stake_for_hotkey(&delegate), 100); + assert_eq!(SubtensorModule::get_total_stake_for_coldkey(&coldkey), 0); + assert_eq!( + SubtensorModule::get_total_stake_for_coldkey(&new_coldkey), + 100 + ); + assert_eq!(Stake::::get(delegate, new_coldkey), 100); + assert_eq!(Stake::::get(delegate, coldkey), 0); }); } @@ -1908,7 +1916,6 @@ fn test_coldkey_delegations() { // &new_coldkey // )); - // assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( // <::RuntimeOrigin>::root(), // to_be_set @@ -1920,19 +1927,20 @@ fn test_coldkey_delegations() { // assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); // assert_eq!( Stake::::get( delegate, coldkey ), 0 ); - // }); // } - - // SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture #[test] fn test_sudo_hotfix_swap_coldkey_delegates() { new_test_ext(1).execute_with(|| { let new_coldkey = U256::from(0); let coldkey = U256::from(4); - assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates(<::RuntimeOrigin>::root(),coldkey,new_coldkey)); + assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates( + <::RuntimeOrigin>::root(), + coldkey, + new_coldkey + )); }); } @@ -1945,24 +1953,27 @@ fn test_sudo_hotfix_swap_coldkey_delegates_with_broken_stake() { let h1 = U256::from(5); let h2 = U256::from(6); let h3 = U256::from(7); - Stake::::insert( h3, old_coldkey, 100 ); - Stake::::insert( h2, old_coldkey, 100 ); - assert_eq!(Stake::::get( h3, old_coldkey ), 100 ); - assert_eq!(Stake::::get( h2, old_coldkey ), 100 ); - StakingHotkeys::::insert( new_coldkey, vec![h1, h2 ] ); - StakingHotkeys::::insert( old_coldkey, vec![ h3, h2] ); - assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates(<::RuntimeOrigin>::root(), old_coldkey, new_coldkey)); - let hotkeys = StakingHotkeys::::get( new_coldkey); + Stake::::insert(h3, old_coldkey, 100); + Stake::::insert(h2, old_coldkey, 100); + assert_eq!(Stake::::get(h3, old_coldkey), 100); + assert_eq!(Stake::::get(h2, old_coldkey), 100); + StakingHotkeys::::insert(new_coldkey, vec![h1, h2]); + StakingHotkeys::::insert(old_coldkey, vec![h3, h2]); + assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates( + <::RuntimeOrigin>::root(), + old_coldkey, + new_coldkey + )); + let hotkeys = StakingHotkeys::::get(new_coldkey); assert_eq!(hotkeys.len(), 3); assert_eq!(hotkeys[0], h1); assert_eq!(hotkeys[1], h2); assert_eq!(hotkeys[2], h3); - let hotkeys_old = StakingHotkeys::::get( old_coldkey); + let hotkeys_old = StakingHotkeys::::get(old_coldkey); assert_eq!(hotkeys_old.len(), 0); - assert_eq!(Stake::::get( h3, old_coldkey ), 0 ); - assert_eq!(Stake::::get( h2, old_coldkey ), 0 ); - assert_eq!(Stake::::get( h3, new_coldkey ), 100 ); - assert_eq!(Stake::::get( h2, new_coldkey ), 100 ); - + assert_eq!(Stake::::get(h3, old_coldkey), 0); + assert_eq!(Stake::::get(h2, old_coldkey), 0); + assert_eq!(Stake::::get(h3, new_coldkey), 100); + assert_eq!(Stake::::get(h2, new_coldkey), 100); }); } From 54ec7502e32caf259a2470e5c8f20c5e9a0fe25a Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Sat, 13 Jul 2024 10:41:18 -0400 Subject: [PATCH 32/52] cargo fix --workspace --- pallets/subtensor/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index bded1705f..83b6a4005 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -6,7 +6,6 @@ // pub use pallet::*; -use crate::system::ensure_root; use frame_system::{self as system, ensure_signed}; use frame_support::{ From ca51109e8136c562c3e9f9a0142df9b3ecfb7c23 Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Sat, 13 Jul 2024 10:42:39 -0400 Subject: [PATCH 33/52] bump spec_version to 165 --- 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 d1fe2e0c9..a4abd124f 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 164, + spec_version: 165, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 4dafd88d31cd84b97078820a0d83bf473e4e7b6c Mon Sep 17 00:00:00 2001 From: const Date: Mon, 15 Jul 2024 10:07:24 -0500 Subject: [PATCH 34/52] swap hotkey benchmark removed --- pallets/subtensor/src/benchmarks.rs | 54 ++++++++++++++--------------- runtime/src/lib.rs | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index 80a375d10..03e087a92 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -314,33 +314,33 @@ benchmarks! { assert_ok!(Subtensor::::register_network(RawOrigin::Signed(coldkey.clone()).into())); }: dissolve_network(RawOrigin::Signed(coldkey), 1) - swap_hotkey { - let seed: u32 = 1; - let coldkey: T::AccountId = account("Alice", 0, seed); - let old_hotkey: T::AccountId = account("Bob", 0, seed); - let new_hotkey: T::AccountId = account("Charlie", 0, seed); - - let netuid = 1u16; - Subtensor::::init_new_network(netuid, 100); - Subtensor::::set_min_burn(netuid, 1); - Subtensor::::set_max_burn(netuid, 1); - Subtensor::::set_target_registrations_per_interval(netuid, 256); - Subtensor::::set_max_registrations_per_block(netuid, 256); - - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 10_000_000_000u64); - assert_ok!(Subtensor::::burned_register(RawOrigin::Signed(coldkey.clone()).into(), netuid, old_hotkey.clone())); - assert_ok!(Subtensor::::become_delegate(RawOrigin::Signed(coldkey.clone()).into(), old_hotkey.clone())); - - let max_uids = Subtensor::::get_max_allowed_uids(netuid) as u32; - for i in 0..max_uids - 1 { - let coldkey: T::AccountId = account("Axon", 0, i); - let hotkey: T::AccountId = account("Hotkey", 0, i); - - Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 10_000_000_000u64); - assert_ok!(Subtensor::::burned_register(RawOrigin::Signed(coldkey.clone()).into(), netuid, hotkey)); - assert_ok!(Subtensor::::add_stake(RawOrigin::Signed(coldkey).into(), old_hotkey.clone(), 1_000_000_000)); - } - }: _(RawOrigin::Signed(coldkey), old_hotkey, new_hotkey) + // swap_hotkey { + // let seed: u32 = 1; + // let coldkey: T::AccountId = account("Alice", 0, seed); + // let old_hotkey: T::AccountId = account("Bob", 0, seed); + // let new_hotkey: T::AccountId = account("Charlie", 0, seed); + + // let netuid = 1u16; + // Subtensor::::init_new_network(netuid, 100); + // Subtensor::::set_min_burn(netuid, 1); + // Subtensor::::set_max_burn(netuid, 1); + // Subtensor::::set_target_registrations_per_interval(netuid, 256); + // Subtensor::::set_max_registrations_per_block(netuid, 256); + + // Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 10_000_000_000u64); + // assert_ok!(Subtensor::::burned_register(RawOrigin::Signed(coldkey.clone()).into(), netuid, old_hotkey.clone())); + // assert_ok!(Subtensor::::become_delegate(RawOrigin::Signed(coldkey.clone()).into(), old_hotkey.clone())); + + // let max_uids = Subtensor::::get_max_allowed_uids(netuid) as u32; + // for i in 0..max_uids - 1 { + // let coldkey: T::AccountId = account("Axon", 0, i); + // let hotkey: T::AccountId = account("Hotkey", 0, i); + + // Subtensor::::add_balance_to_coldkey_account(&coldkey.clone(), 10_000_000_000u64); + // assert_ok!(Subtensor::::burned_register(RawOrigin::Signed(coldkey.clone()).into(), netuid, hotkey)); + // assert_ok!(Subtensor::::add_stake(RawOrigin::Signed(coldkey).into(), old_hotkey.clone(), 1_000_000_000)); + // } + // }: _(RawOrigin::Signed(coldkey), old_hotkey, new_hotkey) commit_weights { let tempo: u16 = 1; diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index a4abd124f..d1fe2e0c9 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 165, + spec_version: 164, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From d95a7df24c1f917b695e2869ac923e73d28499c5 Mon Sep 17 00:00:00 2001 From: const Date: Mon, 15 Jul 2024 10:43:12 -0500 Subject: [PATCH 35/52] add migration and tests for total coldkey hotfix --- pallets/subtensor/src/lib.rs | 12 ++-- pallets/subtensor/src/migration.rs | 57 +++++++++++++++++ pallets/subtensor/src/swap.rs | 29 --------- pallets/subtensor/tests/migration.rs | 60 ++++++++++++++++++ pallets/subtensor/tests/swap.rs | 92 +--------------------------- runtime/src/lib.rs | 2 +- 6 files changed, 125 insertions(+), 127 deletions(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 83b6a4005..8d713d76a 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -1419,7 +1419,9 @@ pub mod pallet { // Populate OwnedHotkeys map for coldkey swap. Doesn't update storage vesion. .saturating_add(migration::migrate_populate_owned::()) // Populate StakingHotkeys map for coldkey swap. Doesn't update storage vesion. - .saturating_add(migration::migrate_populate_staking_hotkeys::()); + .saturating_add(migration::migrate_populate_staking_hotkeys::()) + // Fix total coldkey stake. + .saturating_add(migration::migrate_fix_total_coldkey_stake::()); weight } @@ -2258,12 +2260,10 @@ pub mod pallet { #[pallet::call_index(64)] #[pallet::weight((0, DispatchClass::Operational, Pays::No))] pub fn sudo_hotfix_swap_coldkey_delegates( - origin: OriginFor, - old_coldkey: T::AccountId, - new_coldkey: T::AccountId, + _origin: OriginFor, + _old_coldkey: T::AccountId, + _new_coldkey: T::AccountId, ) -> DispatchResult { - ensure_root(origin)?; - Self::swap_hotfix(&old_coldkey, &new_coldkey); Ok(()) } } diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 35b3c4260..d03bae49f 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -24,6 +24,63 @@ pub mod deprecated_loaded_emission_format { StorageMap, Identity, u16, Vec<(AccountIdOf, u64)>, OptionQuery>; } + +/// Migrates and fixes the total coldkey stake. +/// +/// This function iterates through all staking hotkeys, calculates the total stake for each coldkey, +/// and updates the `TotalColdkeyStake` storage accordingly. The migration is only performed if the +/// on-chain storage version is 6. +/// +/// # Returns +/// The weight of the migration process. +pub fn do_migrate_fix_total_coldkey_stake() -> Weight{ + // Initialize the weight with one read operation. + let mut weight = T::DbWeight::get().reads(1); + + // Iterate through all staking hotkeys. + for (coldkey, hotkey_vec) in StakingHotkeys::::iter() { + // Init the zero value. + let mut coldkey_stake_sum: u64 = 0; + weight = weight.saturating_add(T::DbWeight::get().reads(1)); + + // Calculate the total stake for the current coldkey. + for hotkey in hotkey_vec { + // Cant fail on retrieval. + coldkey_stake_sum = coldkey_stake_sum.saturating_add(Stake::::get(hotkey, coldkey.clone())); + weight = weight.saturating_add(T::DbWeight::get().reads(1)); + } + // Update the `TotalColdkeyStake` storage with the calculated stake sum. + // Cant fail on insert. + TotalColdkeyStake::::insert( coldkey.clone(), coldkey_stake_sum ); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + } + weight +} +// Public migrate function to be called by Lib.rs on upgrade. +pub fn migrate_fix_total_coldkey_stake() -> Weight { + + let current_storage_version: u16 = 6; + let next_storage_version: u16 = 7; + + // Initialize the weight with one read operation. + let mut weight = T::DbWeight::get().reads(1); + + // Grab the current on-chain storage version. + // Cant fail on retrieval. + let onchain_version = Pallet::::on_chain_storage_version(); + + // Only run this migration on storage version 6. + if onchain_version == current_storage_version { + weight = weight.saturating_add( do_migrate_fix_total_coldkey_stake::() ); + // Cant fail on insert. + StorageVersion::new( next_storage_version ).put::>(); + weight.saturating_accrue(T::DbWeight::get().writes(1)); + } + + // Return the migration weight. + weight +} + /// Performs migration to update the total issuance based on the sum of stakes and total balances. /// This migration is applicable only if the current storage version is 5, after which it updates the storage version to 6. /// diff --git a/pallets/subtensor/src/swap.rs b/pallets/subtensor/src/swap.rs index 50e3ed944..8e4ca5cc9 100644 --- a/pallets/subtensor/src/swap.rs +++ b/pallets/subtensor/src/swap.rs @@ -972,35 +972,6 @@ impl Pallet { ); } - pub fn swap_hotfix(old_coldkey: &T::AccountId, new_coldkey: &T::AccountId) { - let weight = T::DbWeight::get().reads_writes(2, 1); - let staking_hotkeys = StakingHotkeys::::get(old_coldkey); - for staking_hotkey in staking_hotkeys { - if Stake::::contains_key(staking_hotkey.clone(), old_coldkey) { - let hotkey = &staking_hotkey; - // Retrieve and remove the stake associated with the hotkey and old coldkey - let stake: u64 = Stake::::get(hotkey, old_coldkey); - Stake::::remove(hotkey, old_coldkey); - if stake > 0 { - // Insert the stake for the hotkey and new coldkey - let old_stake = Stake::::get(hotkey, new_coldkey); - Stake::::insert(hotkey, new_coldkey, stake.saturating_add(old_stake)); - } - } - } - - let mut existing_staking_hotkeys = StakingHotkeys::::get(new_coldkey); - - let staking_hotkeys = StakingHotkeys::::get(old_coldkey); - for hotkey in staking_hotkeys { - if !existing_staking_hotkeys.contains(&hotkey) { - existing_staking_hotkeys.push(hotkey); - } - } - StakingHotkeys::::insert(new_coldkey, existing_staking_hotkeys); - StakingHotkeys::::remove(old_coldkey); - } - /// Swaps the total hotkey-coldkey stakes for the current interval from the old coldkey to the new coldkey. /// /// # Arguments diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index c921124f4..3ddf68502 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -3,6 +3,7 @@ mod mock; use frame_support::assert_ok; use frame_system::Config; +use pallet_subtensor::*; use mock::*; use sp_core::U256; @@ -276,3 +277,62 @@ fn test_migration_delete_subnet_21() { assert!(!SubtensorModule::if_subnet_exist(21)); }) } + + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake --exact --nocapture +#[test] +fn test_migrate_fix_total_coldkey_stake() { + new_test_ext(1).execute_with(|| { + let coldkey = U256::from(0); + TotalColdkeyStake::::insert(coldkey, 0); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + Stake::::insert(U256::from(1), U256::from(0), 10000); + Stake::::insert(U256::from(2), U256::from(0), 10000); + Stake::::insert(U256::from(3), U256::from(0), 10000); + pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + }) +} + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake_value_already_in_total --exact --nocapture +#[test] +fn test_migrate_fix_total_coldkey_stake_value_already_in_total() { + new_test_ext(1).execute_with(|| { + let coldkey = U256::from(0); + TotalColdkeyStake::::insert(coldkey, 100000000); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + Stake::::insert(U256::from(1), U256::from(0), 10000); + Stake::::insert(U256::from(2), U256::from(0), 10000); + Stake::::insert(U256::from(3), U256::from(0), 10000); + pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + }) +} + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake_no_entry --exact --nocapture +#[test] +fn test_migrate_fix_total_coldkey_stake_no_entry() { + new_test_ext(1).execute_with(|| { + let coldkey = U256::from(0); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + Stake::::insert(U256::from(1), U256::from(0), 10000); + Stake::::insert(U256::from(2), U256::from(0), 10000); + Stake::::insert(U256::from(3), U256::from(0), 10000); + pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + }) +} + +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys --exact --nocapture +#[test] +fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { + new_test_ext(1).execute_with(|| { + let coldkey = U256::from(0); + TotalColdkeyStake::::insert(coldkey, 100000000); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + assert_eq!(TotalColdkeyStake::::get(coldkey), 0); + }) +} + + diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 6acf0b820..80ac32e7a 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1886,94 +1886,4 @@ fn test_coldkey_delegations() { assert_eq!(Stake::::get(delegate, new_coldkey), 100); assert_eq!(Stake::::get(delegate, coldkey), 0); }); -} - -// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture -// #[test] -// fn test_sudo_hotfix_swap_coldkey_delegates() { -// new_test_ext(1).execute_with(|| { -// let new_coldkey = U256::from(0); -// let owner = U256::from(1); -// let coldkey = U256::from(4); -// let delegate = U256::from(2); -// let netuid = 1u16; -// add_network(netuid, 13, 0); -// register_ok_neuron(netuid, delegate, owner, 0); -// SubtensorModule::add_balance_to_coldkey_account(&coldkey, 1000); -// assert_ok!(SubtensorModule::do_become_delegate( -// <::RuntimeOrigin>::signed(owner), -// delegate, -// u16::MAX / 10 -// )); -// assert_ok!(SubtensorModule::add_stake( -// <::RuntimeOrigin>::signed(coldkey), -// delegate, -// 100 -// )); - -// assert_ok!(SubtensorModule::perform_swap_coldkey( -// &coldkey, -// &new_coldkey -// )); - -// assert_ok!(AdminUtils::sudo_hotfix_swap_coldkey_delegates( -// <::RuntimeOrigin>::root(), -// to_be_set -// )); - -// assert_eq!( SubtensorModule::get_total_stake_for_hotkey( &delegate), 100 ); -// assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &coldkey), 0 ); -// assert_eq!( SubtensorModule::get_total_stake_for_coldkey( &new_coldkey), 100 ); -// assert_eq!( Stake::::get( delegate, new_coldkey ), 100 ); -// assert_eq!( Stake::::get( delegate, coldkey ), 0 ); - -// }); -// } - -// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates --exact --nocapture -#[test] -fn test_sudo_hotfix_swap_coldkey_delegates() { - new_test_ext(1).execute_with(|| { - let new_coldkey = U256::from(0); - let coldkey = U256::from(4); - assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates( - <::RuntimeOrigin>::root(), - coldkey, - new_coldkey - )); - }); -} - -// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test swap -- test_sudo_hotfix_swap_coldkey_delegates_with_broken_stake --exact --nocapture -#[test] -fn test_sudo_hotfix_swap_coldkey_delegates_with_broken_stake() { - new_test_ext(1).execute_with(|| { - let new_coldkey = U256::from(0); - let old_coldkey = U256::from(4); - let h1 = U256::from(5); - let h2 = U256::from(6); - let h3 = U256::from(7); - Stake::::insert(h3, old_coldkey, 100); - Stake::::insert(h2, old_coldkey, 100); - assert_eq!(Stake::::get(h3, old_coldkey), 100); - assert_eq!(Stake::::get(h2, old_coldkey), 100); - StakingHotkeys::::insert(new_coldkey, vec![h1, h2]); - StakingHotkeys::::insert(old_coldkey, vec![h3, h2]); - assert_ok!(SubtensorModule::sudo_hotfix_swap_coldkey_delegates( - <::RuntimeOrigin>::root(), - old_coldkey, - new_coldkey - )); - let hotkeys = StakingHotkeys::::get(new_coldkey); - assert_eq!(hotkeys.len(), 3); - assert_eq!(hotkeys[0], h1); - assert_eq!(hotkeys[1], h2); - assert_eq!(hotkeys[2], h3); - let hotkeys_old = StakingHotkeys::::get(old_coldkey); - assert_eq!(hotkeys_old.len(), 0); - assert_eq!(Stake::::get(h3, old_coldkey), 0); - assert_eq!(Stake::::get(h2, old_coldkey), 0); - assert_eq!(Stake::::get(h3, new_coldkey), 100); - assert_eq!(Stake::::get(h2, new_coldkey), 100); - }); -} +} \ No newline at end of file diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index d1fe2e0c9..a4abd124f 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -139,7 +139,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // `spec_version`, and `authoring_version` are the same between Wasm and native. // This value is set to 100 to notify Polkadot-JS App (https://polkadot.js.org/apps) to use // the compatible custom types. - spec_version: 164, + spec_version: 165, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From 5e6fc7ec403ac61566414932f8ed98b616520fb0 Mon Sep 17 00:00:00 2001 From: const Date: Mon, 15 Jul 2024 10:46:53 -0500 Subject: [PATCH 36/52] adds new test for missing hotkey value --- pallets/subtensor/tests/migration.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index 3ddf68502..feee91e23 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -335,4 +335,18 @@ fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { }) } +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake_one_hotkey_stake_missing --exact --nocapture +#[test] +fn test_migrate_fix_total_coldkey_stake_one_hotkey_stake_missing() { + new_test_ext(1).execute_with(|| { + let coldkey = U256::from(0); + TotalColdkeyStake::::insert(coldkey, 100000000); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + Stake::::insert(U256::from(1), U256::from(0), 10000); + Stake::::insert(U256::from(2), U256::from(0), 10000); + pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + assert_eq!(TotalColdkeyStake::::get(coldkey), 20000); + }) +} + From 3c61aa82c79089d51e0f99a1a289b680f7b73fee Mon Sep 17 00:00:00 2001 From: const Date: Mon, 15 Jul 2024 11:02:13 -0500 Subject: [PATCH 37/52] bump migration values --- pallets/subtensor/src/migration.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index d03bae49f..362bdf009 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -59,8 +59,8 @@ pub fn do_migrate_fix_total_coldkey_stake() -> Weight{ // Public migrate function to be called by Lib.rs on upgrade. pub fn migrate_fix_total_coldkey_stake() -> Weight { - let current_storage_version: u16 = 6; - let next_storage_version: u16 = 7; + let current_storage_version: u16 = 7; + let next_storage_version: u16 = 8; // Initialize the weight with one read operation. let mut weight = T::DbWeight::get().reads(1); From ff23b6fc576fdfa353a570bffee49d22ea6cfc41 Mon Sep 17 00:00:00 2001 From: const Date: Mon, 15 Jul 2024 11:08:33 -0500 Subject: [PATCH 38/52] fmt --- pallets/subtensor/src/migration.rs | 17 ++++++++--------- pallets/subtensor/tests/migration.rs | 15 ++++++--------- pallets/subtensor/tests/swap.rs | 2 +- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 362bdf009..72a86ea4e 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -24,7 +24,6 @@ pub mod deprecated_loaded_emission_format { StorageMap, Identity, u16, Vec<(AccountIdOf, u64)>, OptionQuery>; } - /// Migrates and fixes the total coldkey stake. /// /// This function iterates through all staking hotkeys, calculates the total stake for each coldkey, @@ -33,7 +32,7 @@ pub mod deprecated_loaded_emission_format { /// /// # Returns /// The weight of the migration process. -pub fn do_migrate_fix_total_coldkey_stake() -> Weight{ +pub fn do_migrate_fix_total_coldkey_stake() -> Weight { // Initialize the weight with one read operation. let mut weight = T::DbWeight::get().reads(1); @@ -46,19 +45,19 @@ pub fn do_migrate_fix_total_coldkey_stake() -> Weight{ // Calculate the total stake for the current coldkey. for hotkey in hotkey_vec { // Cant fail on retrieval. - coldkey_stake_sum = coldkey_stake_sum.saturating_add(Stake::::get(hotkey, coldkey.clone())); + coldkey_stake_sum = + coldkey_stake_sum.saturating_add(Stake::::get(hotkey, coldkey.clone())); weight = weight.saturating_add(T::DbWeight::get().reads(1)); } // Update the `TotalColdkeyStake` storage with the calculated stake sum. // Cant fail on insert. - TotalColdkeyStake::::insert( coldkey.clone(), coldkey_stake_sum ); + TotalColdkeyStake::::insert(coldkey.clone(), coldkey_stake_sum); weight = weight.saturating_add(T::DbWeight::get().writes(1)); } weight } // Public migrate function to be called by Lib.rs on upgrade. pub fn migrate_fix_total_coldkey_stake() -> Weight { - let current_storage_version: u16 = 7; let next_storage_version: u16 = 8; @@ -67,15 +66,15 @@ pub fn migrate_fix_total_coldkey_stake() -> Weight { // Grab the current on-chain storage version. // Cant fail on retrieval. - let onchain_version = Pallet::::on_chain_storage_version(); + let onchain_version = Pallet::::on_chain_storage_version(); // Only run this migration on storage version 6. if onchain_version == current_storage_version { - weight = weight.saturating_add( do_migrate_fix_total_coldkey_stake::() ); + weight = weight.saturating_add(do_migrate_fix_total_coldkey_stake::()); // Cant fail on insert. - StorageVersion::new( next_storage_version ).put::>(); + StorageVersion::new(next_storage_version).put::>(); weight.saturating_accrue(T::DbWeight::get().writes(1)); - } + } // Return the migration weight. weight diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index feee91e23..360568235 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -3,8 +3,8 @@ mod mock; use frame_support::assert_ok; use frame_system::Config; -use pallet_subtensor::*; use mock::*; +use pallet_subtensor::*; use sp_core::U256; #[test] @@ -278,12 +278,11 @@ fn test_migration_delete_subnet_21() { }) } - // SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake --exact --nocapture #[test] fn test_migrate_fix_total_coldkey_stake() { new_test_ext(1).execute_with(|| { - let coldkey = U256::from(0); + let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 0); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); @@ -298,7 +297,7 @@ fn test_migrate_fix_total_coldkey_stake() { #[test] fn test_migrate_fix_total_coldkey_stake_value_already_in_total() { new_test_ext(1).execute_with(|| { - let coldkey = U256::from(0); + let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); @@ -313,7 +312,7 @@ fn test_migrate_fix_total_coldkey_stake_value_already_in_total() { #[test] fn test_migrate_fix_total_coldkey_stake_no_entry() { new_test_ext(1).execute_with(|| { - let coldkey = U256::from(0); + let coldkey = U256::from(0); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); Stake::::insert(U256::from(2), U256::from(0), 10000); @@ -327,7 +326,7 @@ fn test_migrate_fix_total_coldkey_stake_no_entry() { #[test] fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { new_test_ext(1).execute_with(|| { - let coldkey = U256::from(0); + let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); @@ -339,7 +338,7 @@ fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { #[test] fn test_migrate_fix_total_coldkey_stake_one_hotkey_stake_missing() { new_test_ext(1).execute_with(|| { - let coldkey = U256::from(0); + let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); @@ -348,5 +347,3 @@ fn test_migrate_fix_total_coldkey_stake_one_hotkey_stake_missing() { assert_eq!(TotalColdkeyStake::::get(coldkey), 20000); }) } - - diff --git a/pallets/subtensor/tests/swap.rs b/pallets/subtensor/tests/swap.rs index 80ac32e7a..21c3a983a 100644 --- a/pallets/subtensor/tests/swap.rs +++ b/pallets/subtensor/tests/swap.rs @@ -1886,4 +1886,4 @@ fn test_coldkey_delegations() { assert_eq!(Stake::::get(delegate, new_coldkey), 100); assert_eq!(Stake::::get(delegate, coldkey), 0); }); -} \ No newline at end of file +} From 78a71f904e94380091edd4790dcc62219949d1e2 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Mon, 15 Jul 2024 12:25:33 -0400 Subject: [PATCH 39/52] lock file update --- Cargo.lock | 484 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 276 insertions(+), 208 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 868e85b89..ceeb1098e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2308,7 +2308,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", ] @@ -2331,7 +2331,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-support-procedural", @@ -2347,16 +2347,16 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -2388,15 +2388,15 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", "thousands", ] @@ -2404,7 +2404,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "aquamarine 0.3.3", "frame-support", @@ -2416,8 +2416,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -2432,10 +2432,25 @@ dependencies = [ "serde", ] +[[package]] +name = "frame-metadata-hash-extension" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +dependencies = [ + "array-bytes 6.2.3", + "docify", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "aquamarine 0.5.0", "array-bytes 6.2.3", @@ -2458,7 +2473,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -2466,8 +2481,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-weights", "static_assertions", "tt-call", @@ -2476,7 +2491,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "Inflector", "cfg-expr", @@ -2495,7 +2510,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", @@ -2507,7 +2522,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "proc-macro2", "quote", @@ -2517,7 +2532,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "cfg-if", "docify", @@ -2529,7 +2544,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-version", "sp-weights", ] @@ -2537,7 +2552,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -2546,13 +2561,13 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "sp-api", @@ -2561,13 +2576,13 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -4334,6 +4349,20 @@ dependencies = [ "hash-db", ] +[[package]] +name = "merkleized-metadata" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f313fcff1d2a4bcaa2deeaa00bf7530d77d5f7bd0467a117dde2e29a75a7a17a" +dependencies = [ + "array-bytes 6.2.3", + "blake3", + "frame-metadata", + "parity-scale-codec", + "scale-decode", + "scale-info", +] + [[package]] name = "merlin" version = "3.0.0" @@ -4699,6 +4728,7 @@ dependencies = [ "frame-benchmarking", "frame-executive", "frame-metadata", + "frame-metadata-hash-extension", "frame-support", "frame-system", "frame-system-benchmarking", @@ -4739,9 +4769,9 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-transaction-pool", "sp-version", "substrate-wasm-builder", @@ -4952,7 +4982,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-weights", "substrate-fixed", "subtensor-macros", @@ -4961,7 +4991,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-system", @@ -4972,13 +5002,13 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-system", @@ -4986,13 +5016,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "frame-benchmarking", @@ -5002,7 +5032,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -5018,7 +5048,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "subtensor-macros", ] @@ -5036,14 +5066,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "subtensor-macros", ] [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5060,13 +5090,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-insecure-randomness-collective-flip" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-system", @@ -5074,13 +5104,13 @@ dependencies = [ "safe-mix", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5091,13 +5121,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-multisig" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5107,13 +5137,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-preimage" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5124,13 +5154,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5139,7 +5169,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -5155,14 +5185,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "subtensor-macros", ] [[package]] name = "pallet-safe-mode" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "frame-benchmarking", @@ -5175,13 +5205,13 @@ dependencies = [ "scale-info", "sp-arithmetic", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-scheduler" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "frame-benchmarking", @@ -5192,14 +5222,14 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-weights", ] [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-system", @@ -5214,7 +5244,7 @@ dependencies = [ "sp-session", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", ] @@ -5246,8 +5276,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-version", "substrate-fixed", "subtensor-macros", @@ -5256,7 +5286,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "frame-benchmarking", @@ -5266,13 +5296,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "frame-benchmarking", @@ -5284,15 +5314,15 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-support", "frame-system", @@ -5302,13 +5332,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5324,7 +5354,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5336,7 +5366,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-benchmarking", "frame-support", @@ -5346,7 +5376,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -6684,18 +6714,18 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "log", "sp-core", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", ] [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "futures", "futures-timer", @@ -6717,7 +6747,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "sp-api", @@ -6732,7 +6762,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "docify", @@ -6758,7 +6788,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -6769,7 +6799,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -6810,7 +6840,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "fnv", "futures", @@ -6825,11 +6855,11 @@ dependencies = [ "sp-consensus", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", "substrate-prometheus-endpoint", ] @@ -6837,7 +6867,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "hash-db", "kvdb", @@ -6863,7 +6893,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -6888,7 +6918,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -6917,7 +6947,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -6960,7 +6990,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "finality-grandpa", "futures", @@ -6980,7 +7010,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -7003,7 +7033,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -7013,25 +7043,25 @@ dependencies = [ "schnellru", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "tracing", ] [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", "wasm-instrument", ] @@ -7039,18 +7069,18 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "log", "polkavm", "sc-executor-common", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "anyhow", "cfg-if", @@ -7060,15 +7090,15 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "wasmtime", ] [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "ansi_term", "futures", @@ -7085,7 +7115,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.3", @@ -7099,7 +7129,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 4.2.0", "arrayvec", @@ -7128,7 +7158,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7171,7 +7201,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-channel", "cid", @@ -7191,7 +7221,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -7208,7 +7238,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "ahash 0.8.11", "futures", @@ -7227,7 +7257,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7248,7 +7278,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7284,7 +7314,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "futures", @@ -7303,7 +7333,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -7326,7 +7356,7 @@ dependencies = [ "sc-utils", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-keystore", "sp-offchain", "sp-runtime", @@ -7337,7 +7367,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7346,7 +7376,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "futures", "jsonrpsee", @@ -7378,7 +7408,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7398,7 +7428,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "futures", "governor", @@ -7416,7 +7446,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "futures", @@ -7447,7 +7477,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "directories", @@ -7489,12 +7519,12 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -7511,7 +7541,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "log", "parity-scale-codec", @@ -7522,7 +7552,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "derive_more", "futures", @@ -7537,13 +7567,13 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "chrono", "futures", @@ -7562,7 +7592,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "ansi_term", "chrono", @@ -7582,7 +7612,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", "tracing", "tracing-log 0.1.4", @@ -7592,7 +7622,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -7603,7 +7633,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -7621,7 +7651,7 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -7630,7 +7660,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -7646,7 +7676,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-channel", "futures", @@ -7658,6 +7688,29 @@ dependencies = [ "sp-arithmetic", ] +[[package]] +name = "scale-bits" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57b1e7f6b65ed1f04e79a85a57d755ad56d76fdf1e9bddcc9ae14f71fcdcf54" +dependencies = [ + "parity-scale-codec", + "scale-type-resolver", +] + +[[package]] +name = "scale-decode" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e98f3262c250d90e700bb802eb704e1f841e03331c2eb815e46516c4edbf5b27" +dependencies = [ + "derive_more", + "parity-scale-codec", + "scale-bits", + "scale-type-resolver", + "smallvec", +] + [[package]] name = "scale-info" version = "2.11.3" @@ -7684,6 +7737,12 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "scale-type-resolver" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0cded6518aa0bd6c1be2b88ac81bf7044992f0f154bfbabd5ad34f43512abcb" + [[package]] name = "schannel" version = "0.1.23" @@ -8129,7 +8188,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "hash-db", "log", @@ -8137,12 +8196,12 @@ dependencies = [ "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", "sp-version", "thiserror", @@ -8151,7 +8210,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "Inflector", "blake2 0.10.6", @@ -8165,20 +8224,20 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "integer-sqrt", @@ -8186,7 +8245,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "static_assertions", ] @@ -8211,7 +8270,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "sp-api", "sp-inherents", @@ -8221,7 +8280,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "futures", "log", @@ -8239,7 +8298,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "futures", @@ -8254,7 +8313,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "parity-scale-codec", @@ -8270,7 +8329,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "finality-grandpa", "log", @@ -8287,7 +8346,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "scale-info", @@ -8298,7 +8357,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "array-bytes 6.2.3", "bandersnatch_vrfs", @@ -8329,11 +8388,11 @@ dependencies = [ "secrecy", "serde", "sp-crypto-hashing", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "ss58-registry", "substrate-bip39", "thiserror", @@ -8365,7 +8424,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "blake2b_simd", "byteorder", @@ -8378,7 +8437,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "quote", "sp-crypto-hashing", @@ -8388,7 +8447,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -8397,7 +8456,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "proc-macro2", "quote", @@ -8417,11 +8476,11 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -8437,7 +8496,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "serde_json", "sp-api", @@ -8447,7 +8506,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -8460,7 +8519,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "bytes", "ed25519-dalek", @@ -8472,12 +8531,12 @@ dependencies = [ "secp256k1", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-keystore", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-trie", "tracing", "tracing-core", @@ -8486,7 +8545,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "sp-core", "sp-runtime", @@ -8496,18 +8555,18 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "thiserror", "zstd 0.12.4", @@ -8516,7 +8575,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -8526,7 +8585,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "scale-info", @@ -8537,7 +8596,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "sp-api", "sp-core", @@ -8547,7 +8606,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "backtrace", "lazy_static", @@ -8557,7 +8616,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "rustc-hash", "serde", @@ -8567,7 +8626,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "docify", "either", @@ -8584,26 +8643,26 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive", "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "static_assertions", ] @@ -8629,7 +8688,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "Inflector", "expander", @@ -8655,7 +8714,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "scale-info", @@ -8669,7 +8728,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8682,7 +8741,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "hash-db", "log", @@ -8691,7 +8750,7 @@ dependencies = [ "rand", "smallvec", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-panic-handler", "sp-trie", "thiserror", @@ -8702,7 +8761,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.3", @@ -8716,9 +8775,9 @@ dependencies = [ "sp-application-crypto", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", "x25519-dalek 2.0.1", ] @@ -8726,7 +8785,7 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" [[package]] name = "sp-std" @@ -8736,13 +8795,13 @@ source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06f [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -8760,7 +8819,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "parity-scale-codec", @@ -8772,7 +8831,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "tracing", @@ -8794,7 +8853,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "sp-api", "sp-runtime", @@ -8803,7 +8862,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "async-trait", "parity-scale-codec", @@ -8817,7 +8876,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "ahash 0.8.11", "hash-db", @@ -8830,7 +8889,7 @@ dependencies = [ "scale-info", "schnellru", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "thiserror", "tracing", "trie-db", @@ -8840,7 +8899,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8849,7 +8908,7 @@ dependencies = [ "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", "sp-version-proc-macro", "thiserror", ] @@ -8857,7 +8916,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8868,7 +8927,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -8890,7 +8949,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -8898,7 +8957,7 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", ] [[package]] @@ -9037,7 +9096,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -9049,7 +9108,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" [[package]] name = "substrate-fixed" @@ -9065,7 +9124,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9084,7 +9143,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ "hyper", "log", @@ -9096,15 +9155,24 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=polkadot-v1.10.0#7049c3c98836b3e9253f6aaa69b6bf3d622e3962" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" dependencies = [ + "array-bytes 6.2.3", "build-helper", "cargo_metadata", "console", "filetime", + "frame-metadata", + "merkleized-metadata", + "parity-scale-codec", "parity-wasm", "polkavm-linker", + "sc-executor", + "sp-core", + "sp-io", "sp-maybe-compressed-blob", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-version", "strum 0.26.2", "tempfile", "toml 0.8.14", From fc0ccbd44cc40466baa4437b017c600b293ba636 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Mon, 15 Jul 2024 12:25:42 -0400 Subject: [PATCH 40/52] add production just target --- justfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/justfile b/justfile index e33fdf685..f99f3913a 100644 --- a/justfile +++ b/justfile @@ -47,4 +47,8 @@ lint: @echo "Running cargo clippy with automatic fixes on potentially dirty code..." just clippy-fix @echo "Running cargo clippy..." - just clippy \ No newline at end of file + just clippy + +production: + @echo "Running cargo build with metadata-hash generation..." + cargo +{{RUSTV}} build --profile production --features="runtime-benchmarks metadata-hash" From b09b3e6b6c9a233ba9d40559207c6647e1b82cd8 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Mon, 15 Jul 2024 12:27:59 -0400 Subject: [PATCH 41/52] fmt --- runtime/build.rs | 10 +++++----- runtime/src/lib.rs | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/runtime/build.rs b/runtime/build.rs index 4d65d12a7..c0fa0405b 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -7,13 +7,13 @@ fn main() { .import_memory() .build(); } - #[cfg(all(feature = "std", feature = "metadata-hash"))] - { - substrate_wasm_builder::WasmBuilder::new() + #[cfg(all(feature = "std", feature = "metadata-hash"))] + { + substrate_wasm_builder::WasmBuilder::new() .with_current_project() .export_heap_base() .import_memory() - .enable_metadata_hash("TAO", 9) + .enable_metadata_hash("TAO", 9) .build(); - } + } } diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 3457ecb5f..58c415bc0 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -12,6 +12,7 @@ pub mod check_nonce; mod migrations; use codec::{Decode, Encode, MaxEncodedLen}; +use frame_metadata_hash_extension::CheckMetadataHash; use frame_support::{ dispatch::DispatchResultWithPostInfo, genesis_builder_helper::{build_config, create_default_config}, @@ -23,7 +24,6 @@ use pallet_commitments::CanCommit; use pallet_grandpa::{ fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList, }; -use frame_metadata_hash_extension::CheckMetadataHash; use pallet_registry::CanRegisterIdentity; use scale_info::TypeInfo; use smallvec::smallvec; @@ -1284,7 +1284,7 @@ pub type SignedExtra = ( pallet_transaction_payment::ChargeTransactionPayment, pallet_subtensor::SubtensorSignedExtension, pallet_commitments::CommitmentsSignedExtension, - frame_metadata_hash_extension::CheckMetadataHash, + frame_metadata_hash_extension::CheckMetadataHash, ); type Migrations = pallet_grandpa::migrations::MigrateV4ToV5; From 73648323536b0209d04b2efa525bbdad3cdadaea Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Tue, 16 Jul 2024 09:27:25 -0400 Subject: [PATCH 42/52] clippy --- runtime/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 58c415bc0..bbc7f6623 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -12,7 +12,6 @@ pub mod check_nonce; mod migrations; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_metadata_hash_extension::CheckMetadataHash; use frame_support::{ dispatch::DispatchResultWithPostInfo, genesis_builder_helper::{build_config, create_default_config}, From 64aca954586082883a1d83752c2c66793713102b Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Tue, 16 Jul 2024 10:03:40 -0400 Subject: [PATCH 43/52] benchmarking fix --- Cargo.lock | 1 + node/Cargo.toml | 1 + node/src/benchmarking.rs | 2 ++ 3 files changed, 4 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index ceeb1098e..e55fbd013 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4673,6 +4673,7 @@ dependencies = [ "clap", "frame-benchmarking", "frame-benchmarking-cli", + "frame-metadata-hash-extension", "frame-system", "futures", "jsonrpsee", diff --git a/node/Cargo.toml b/node/Cargo.toml index 7fc6eff48..0e1a418a3 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -54,6 +54,7 @@ sp-io = { workspace = true } sp-timestamp = { workspace = true } sp-inherents = { workspace = true } sp-keyring = { workspace = true } +frame-metadata-hash-extension = { workspace = true } frame-system = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-commitments = { path = "../pallets/commitments" } diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index ba176e15f..b194479b5 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -136,6 +136,7 @@ pub fn create_benchmark_extrinsic( pallet_transaction_payment::ChargeTransactionPayment::::from(0), pallet_subtensor::SubtensorSignedExtension::::new(), pallet_commitments::CommitmentsSignedExtension::::new(), + frame_metadata_hash_extension::CheckMetadataHash::::new(true), ); let raw_payload = runtime::SignedPayload::from_raw( @@ -152,6 +153,7 @@ pub fn create_benchmark_extrinsic( (), (), (), + None, ), ); let signature = raw_payload.using_encoded(|e| sender.sign(e)); From b3fa4876355ae0a4de6378f532a8c92cbb28ae7e Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Tue, 16 Jul 2024 23:41:50 +0400 Subject: [PATCH 44/52] feat: try runtime passing --- pallets/subtensor/src/lib.rs | 7 ++- pallets/subtensor/src/migration.rs | 52 ++++++++++++++------ pallets/subtensor/tests/migration.rs | 73 +++++++++++++++++++++++++--- 3 files changed, 110 insertions(+), 22 deletions(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 8d713d76a..0a5c20942 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -84,7 +84,7 @@ pub mod pallet { /// Tracks version for migrations. Should be monotonic with respect to the /// order of migrations. (i.e. always increasing) - const STORAGE_VERSION: StorageVersion = StorageVersion::new(6); + const STORAGE_VERSION: StorageVersion = StorageVersion::new(7); /// Minimum balance required to perform a coldkey swap pub const MIN_BALANCE_TO_PERFORM_COLDKEY_SWAP: u64 = 100_000_000; // 0.1 TAO in RAO @@ -1140,6 +1140,9 @@ pub mod pallet { DefaultBonds, >; + #[pallet::storage] // --- Storage for migration run status + pub type HasMigrationRun = StorageMap<_, Identity, Vec, bool, ValueQuery>; + /// ================== /// ==== Genesis ===== /// ================== @@ -1420,7 +1423,7 @@ pub mod pallet { .saturating_add(migration::migrate_populate_owned::()) // Populate StakingHotkeys map for coldkey swap. Doesn't update storage vesion. .saturating_add(migration::migrate_populate_staking_hotkeys::()) - // Fix total coldkey stake. + //Fix total coldkey stake. .saturating_add(migration::migrate_fix_total_coldkey_stake::()); weight diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 72a86ea4e..bfbed513c 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -56,30 +56,54 @@ pub fn do_migrate_fix_total_coldkey_stake() -> Weight { } weight } -// Public migrate function to be called by Lib.rs on upgrade. + +// #[pallet::storage] +// #[pallet::getter(fn has_migration_run)] +// pub type HasMigrationRun = StorageMap<_, Identity, &'static str, bool, ValueQuery>; + +/// Migrates and fixes the total coldkey stake. +/// +/// This function checks if the migration has already run, and if not, it performs the migration +/// to fix the total coldkey stake. It also marks the migration as completed after running. +/// +/// # Returns +/// The weight of the migration process. pub fn migrate_fix_total_coldkey_stake() -> Weight { - let current_storage_version: u16 = 7; - let next_storage_version: u16 = 8; + let migration_name = b"fix_total_coldkey_stake_v7".to_vec(); // Initialize the weight with one read operation. let mut weight = T::DbWeight::get().reads(1); - // Grab the current on-chain storage version. - // Cant fail on retrieval. - let onchain_version = Pallet::::on_chain_storage_version(); - - // Only run this migration on storage version 6. - if onchain_version == current_storage_version { - weight = weight.saturating_add(do_migrate_fix_total_coldkey_stake::()); - // Cant fail on insert. - StorageVersion::new(next_storage_version).put::>(); - weight.saturating_accrue(T::DbWeight::get().writes(1)); + // Check if the migration has already run + if HasMigrationRun::::get(&migration_name) { + log::info!( + "Migration '{:?}' has already run. Skipping.", + migration_name + ); + return Weight::zero(); } + log::info!("Running migration '{:?}'", migration_name); + + // Run the migration + weight = weight.saturating_add(do_migrate_fix_total_coldkey_stake::()); + + // Mark the migration as completed + HasMigrationRun::::insert(&migration_name, true); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + // Set the storage version to 7 + StorageVersion::new(7).put::>(); + weight = weight.saturating_add(T::DbWeight::get().writes(1)); + + log::info!( + "Migration '{:?}' completed. Storage version set to 7.", + migration_name + ); + // Return the migration weight. weight } - /// Performs migration to update the total issuance based on the sum of stakes and total balances. /// This migration is applicable only if the current storage version is 5, after which it updates the storage version to 6. /// diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index 360568235..6d019562f 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -1,7 +1,7 @@ #![allow(clippy::unwrap_used)] mod mock; -use frame_support::assert_ok; +use frame_support::{assert_ok, weights::Weight}; use frame_system::Config; use mock::*; use pallet_subtensor::*; @@ -278,17 +278,25 @@ fn test_migration_delete_subnet_21() { }) } +// SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake --exact --nocapture // SKIP_WASM_BUILD=1 RUST_LOG=info cargo test --test migration -- test_migrate_fix_total_coldkey_stake --exact --nocapture #[test] fn test_migrate_fix_total_coldkey_stake() { new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 0); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); Stake::::insert(U256::from(2), U256::from(0), 10000); Stake::::insert(U256::from(3), U256::from(0), 10000); - pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + + let weight = run_migration_and_check(migration_name); + assert!(weight != Weight::zero()); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + + let second_weight = run_migration_and_check(migration_name); + assert_eq!(second_weight, Weight::zero()); assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); }) } @@ -297,13 +305,16 @@ fn test_migrate_fix_total_coldkey_stake() { #[test] fn test_migrate_fix_total_coldkey_stake_value_already_in_total() { new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); Stake::::insert(U256::from(2), U256::from(0), 10000); Stake::::insert(U256::from(3), U256::from(0), 10000); - pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + + let weight = run_migration_and_check(migration_name); + assert!(weight != Weight::zero()); assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); }) } @@ -312,12 +323,15 @@ fn test_migrate_fix_total_coldkey_stake_value_already_in_total() { #[test] fn test_migrate_fix_total_coldkey_stake_no_entry() { new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; let coldkey = U256::from(0); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); Stake::::insert(U256::from(2), U256::from(0), 10000); Stake::::insert(U256::from(3), U256::from(0), 10000); - pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + + let weight = run_migration_and_check(migration_name); + assert!(weight != Weight::zero()); assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); }) } @@ -326,10 +340,13 @@ fn test_migrate_fix_total_coldkey_stake_no_entry() { #[test] fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); - pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + + let weight = run_migration_and_check(migration_name); + assert!(weight != Weight::zero()); assert_eq!(TotalColdkeyStake::::get(coldkey), 0); }) } @@ -338,12 +355,56 @@ fn test_migrate_fix_total_coldkey_stake_no_entry_in_hotkeys() { #[test] fn test_migrate_fix_total_coldkey_stake_one_hotkey_stake_missing() { new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; let coldkey = U256::from(0); TotalColdkeyStake::::insert(coldkey, 100000000); StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); Stake::::insert(U256::from(1), U256::from(0), 10000); Stake::::insert(U256::from(2), U256::from(0), 10000); - pallet_subtensor::migration::do_migrate_fix_total_coldkey_stake::(); + + let weight = run_migration_and_check(migration_name); + assert!(weight != Weight::zero()); assert_eq!(TotalColdkeyStake::::get(coldkey), 20000); }) } + +// New test to check if migration runs only once +#[test] +fn test_migrate_fix_total_coldkey_stake_runs_once() { + new_test_ext(1).execute_with(|| { + let migration_name = "fix_total_coldkey_stake_v7"; + let coldkey = U256::from(0); + TotalColdkeyStake::::insert(coldkey, 0); + StakingHotkeys::::insert(coldkey, vec![U256::from(1), U256::from(2), U256::from(3)]); + Stake::::insert(U256::from(1), U256::from(0), 10000); + Stake::::insert(U256::from(2), U256::from(0), 10000); + Stake::::insert(U256::from(3), U256::from(0), 10000); + + // First run + let first_weight = run_migration_and_check(migration_name); + assert!(first_weight != Weight::zero()); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + + // Second run + let second_weight = run_migration_and_check(migration_name); + assert_eq!(second_weight, Weight::zero()); + assert_eq!(TotalColdkeyStake::::get(coldkey), 30000); + }) +} + +fn run_migration_and_check(migration_name: &'static str) -> frame_support::weights::Weight { + // Execute the migration and store its weight + let weight: frame_support::weights::Weight = + pallet_subtensor::migration::migrate_fix_total_coldkey_stake::(); + + // Check if the migration has been marked as completed + assert!(HasMigrationRun::::get( + migration_name.as_bytes().to_vec() + )); + + // Return the weight of the executed migration + weight +} + +// TODO: Consider adding error handling for cases where the migration fails or is already completed. +// NOTE: The use of `as_bytes().to_vec()` might be inefficient for larger strings. Consider using a more efficient encoding method if performance becomes an issue. From 8766c98f5058e7e66252cb04866fb8ed3f770c0f Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Tue, 16 Jul 2024 23:46:52 +0400 Subject: [PATCH 45/52] chore: remove commented code --- pallets/subtensor/src/migration.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index bfbed513c..3cc1a33ab 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -57,10 +57,6 @@ pub fn do_migrate_fix_total_coldkey_stake() -> Weight { weight } -// #[pallet::storage] -// #[pallet::getter(fn has_migration_run)] -// pub type HasMigrationRun = StorageMap<_, Identity, &'static str, bool, ValueQuery>; - /// Migrates and fixes the total coldkey stake. /// /// This function checks if the migration has already run, and if not, it performs the migration From 92fc1f042e2ffbd2521d169ecd870fcfe6b7b722 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Tue, 16 Jul 2024 23:54:32 +0400 Subject: [PATCH 46/52] chore: make logs human readable --- pallets/subtensor/src/migration.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pallets/subtensor/src/migration.rs b/pallets/subtensor/src/migration.rs index 3cc1a33ab..20e91237f 100644 --- a/pallets/subtensor/src/migration.rs +++ b/pallets/subtensor/src/migration.rs @@ -1,4 +1,5 @@ use super::*; +use alloc::string::String; use frame_support::traits::DefensiveResult; use frame_support::{ pallet_prelude::{Identity, OptionQuery}, @@ -79,7 +80,10 @@ pub fn migrate_fix_total_coldkey_stake() -> Weight { return Weight::zero(); } - log::info!("Running migration '{:?}'", migration_name); + log::info!( + "Running migration '{}'", + String::from_utf8_lossy(&migration_name) + ); // Run the migration weight = weight.saturating_add(do_migrate_fix_total_coldkey_stake::()); @@ -94,7 +98,7 @@ pub fn migrate_fix_total_coldkey_stake() -> Weight { log::info!( "Migration '{:?}' completed. Storage version set to 7.", - migration_name + String::from_utf8_lossy(&migration_name) ); // Return the migration weight. From c255d92f812a3e241870cf1c16675ffec668da09 Mon Sep 17 00:00:00 2001 From: Samuel Dare Date: Tue, 16 Jul 2024 23:57:04 +0400 Subject: [PATCH 47/52] chore: remove comments --- pallets/subtensor/tests/migration.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/pallets/subtensor/tests/migration.rs b/pallets/subtensor/tests/migration.rs index 6d019562f..8323cab8a 100644 --- a/pallets/subtensor/tests/migration.rs +++ b/pallets/subtensor/tests/migration.rs @@ -405,6 +405,3 @@ fn run_migration_and_check(migration_name: &'static str) -> frame_support::weigh // Return the weight of the executed migration weight } - -// TODO: Consider adding error handling for cases where the migration fails or is already completed. -// NOTE: The use of `as_bytes().to_vec()` might be inefficient for larger strings. Consider using a more efficient encoding method if performance becomes an issue. From 04785968b89a70eac965a8c8d9470e8289a613fc Mon Sep 17 00:00:00 2001 From: distributedstatemachine <112424909+distributedstatemachine@users.noreply.github.com> Date: Wed, 17 Jul 2024 00:01:29 +0400 Subject: [PATCH 48/52] Update pallets/subtensor/src/lib.rs Co-authored-by: Sam Johnson --- pallets/subtensor/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 0a5c20942..f7824e2a3 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -1423,7 +1423,7 @@ pub mod pallet { .saturating_add(migration::migrate_populate_owned::()) // Populate StakingHotkeys map for coldkey swap. Doesn't update storage vesion. .saturating_add(migration::migrate_populate_staking_hotkeys::()) - //Fix total coldkey stake. + // Fix total coldkey stake. .saturating_add(migration::migrate_fix_total_coldkey_stake::()); weight From 9ec6c4e0a261690f6e0ca274c87932dab513bcae Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Tue, 16 Jul 2024 17:26:12 -0400 Subject: [PATCH 49/52] fmt --- node/src/benchmarking.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index b194479b5..cf48df62f 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -136,7 +136,7 @@ pub fn create_benchmark_extrinsic( pallet_transaction_payment::ChargeTransactionPayment::::from(0), pallet_subtensor::SubtensorSignedExtension::::new(), pallet_commitments::CommitmentsSignedExtension::::new(), - frame_metadata_hash_extension::CheckMetadataHash::::new(true), + frame_metadata_hash_extension::CheckMetadataHash::::new(true), ); let raw_payload = runtime::SignedPayload::from_raw( @@ -153,7 +153,7 @@ pub fn create_benchmark_extrinsic( (), (), (), - None, + None, ), ); let signature = raw_payload.using_encoded(|e| sender.sign(e)); From 893b1ec9d8f42c650472535689ab77a357c34347 Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Thu, 18 Jul 2024 11:17:55 -0400 Subject: [PATCH 50/52] use rc3 with new fix polkadot-sdk/pull/4117 --- Cargo.toml | 140 ++++++++++++++++++++++++++--------------------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8bfb9d2b0..4a7565a01 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,81 +39,81 @@ litep2p = { git = "https://github.com/paritytech/litep2p", branch = "master" } subtensor-macros = { path = "support/macros" } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" , default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" , default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-chain-spec-derive = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-rpc-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } -sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-storage = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } +sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3", default-features = false } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } substrate-fixed = { git = "https://github.com/encointer/substrate-fixed.git", tag = "v0.5.9" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc2" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", tag = "v1.10.0-rc3" } frame-metadata = "16" [profile.release] From 237634cc96cc244cc7be45ba90a9f59c132b046d Mon Sep 17 00:00:00 2001 From: Cameron Fairchild Date: Thu, 18 Jul 2024 11:18:10 -0400 Subject: [PATCH 51/52] incl lock --- Cargo.lock | 420 ++++++++++++++++++++++++++--------------------------- 1 file changed, 210 insertions(+), 210 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e55fbd013..4a50f8a12 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2308,7 +2308,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", ] @@ -2331,7 +2331,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-support-procedural", @@ -2347,16 +2347,16 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "Inflector", "array-bytes 6.2.3", @@ -2388,15 +2388,15 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", "thousands", ] @@ -2404,7 +2404,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "aquamarine 0.3.3", "frame-support", @@ -2416,8 +2416,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -2435,7 +2435,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "docify", @@ -2450,7 +2450,7 @@ dependencies = [ [[package]] name = "frame-support" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "aquamarine 0.5.0", "array-bytes 6.2.3", @@ -2473,7 +2473,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -2481,8 +2481,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-weights", "static_assertions", "tt-call", @@ -2491,7 +2491,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "Inflector", "cfg-expr", @@ -2510,7 +2510,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.1.0", @@ -2522,7 +2522,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "proc-macro2", "quote", @@ -2532,7 +2532,7 @@ dependencies = [ [[package]] name = "frame-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "cfg-if", "docify", @@ -2544,7 +2544,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-version", "sp-weights", ] @@ -2552,7 +2552,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -2561,13 +2561,13 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "frame-system-rpc-runtime-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "sp-api", @@ -2576,13 +2576,13 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -4770,9 +4770,9 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-transaction-pool", "sp-version", "substrate-wasm-builder", @@ -4983,7 +4983,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-weights", "substrate-fixed", "subtensor-macros", @@ -4992,7 +4992,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-system", @@ -5003,13 +5003,13 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-authorship" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-system", @@ -5017,13 +5017,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-balances" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "frame-benchmarking", @@ -5033,7 +5033,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -5049,7 +5049,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "subtensor-macros", ] @@ -5067,14 +5067,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "subtensor-macros", ] [[package]] name = "pallet-grandpa" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5091,13 +5091,13 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-insecure-randomness-collective-flip" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-system", @@ -5105,13 +5105,13 @@ dependencies = [ "safe-mix", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-membership" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5122,13 +5122,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-multisig" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5138,13 +5138,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-preimage" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5155,13 +5155,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-proxy" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5170,7 +5170,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -5186,14 +5186,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "subtensor-macros", ] [[package]] name = "pallet-safe-mode" version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "frame-benchmarking", @@ -5206,13 +5206,13 @@ dependencies = [ "scale-info", "sp-arithmetic", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-scheduler" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "frame-benchmarking", @@ -5223,14 +5223,14 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-weights", ] [[package]] name = "pallet-session" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-system", @@ -5245,7 +5245,7 @@ dependencies = [ "sp-session", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", ] @@ -5277,8 +5277,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-version", "substrate-fixed", "subtensor-macros", @@ -5287,7 +5287,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "frame-benchmarking", @@ -5297,13 +5297,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-timestamp" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "frame-benchmarking", @@ -5315,15 +5315,15 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-timestamp", ] [[package]] name = "pallet-transaction-payment" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-support", "frame-system", @@ -5333,13 +5333,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "pallet-transaction-payment-rpc" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5355,7 +5355,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5367,7 +5367,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-benchmarking", "frame-support", @@ -5377,7 +5377,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -6715,18 +6715,18 @@ dependencies = [ [[package]] name = "sc-allocator" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "log", "sp-core", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", ] [[package]] name = "sc-basic-authorship" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "futures", "futures-timer", @@ -6748,7 +6748,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "sp-api", @@ -6763,7 +6763,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "docify", @@ -6789,7 +6789,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -6800,7 +6800,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "chrono", @@ -6841,7 +6841,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "fnv", "futures", @@ -6856,11 +6856,11 @@ dependencies = [ "sp-consensus", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", "substrate-prometheus-endpoint", ] @@ -6868,7 +6868,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "hash-db", "kvdb", @@ -6894,7 +6894,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -6919,7 +6919,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -6948,7 +6948,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "ahash 0.8.11", "array-bytes 6.2.3", @@ -6991,7 +6991,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "finality-grandpa", "futures", @@ -7011,7 +7011,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -7034,7 +7034,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -7044,25 +7044,25 @@ dependencies = [ "schnellru", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "tracing", ] [[package]] name = "sc-executor-common" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", "wasm-instrument", ] @@ -7070,18 +7070,18 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "log", "polkavm", "sc-executor-common", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "sc-executor-wasmtime" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "anyhow", "cfg-if", @@ -7091,15 +7091,15 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "wasmtime", ] [[package]] name = "sc-informant" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "ansi_term", "futures", @@ -7116,7 +7116,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "parking_lot 0.12.3", @@ -7130,7 +7130,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 4.2.0", "arrayvec", @@ -7159,7 +7159,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7202,7 +7202,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-channel", "cid", @@ -7222,7 +7222,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -7239,7 +7239,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "ahash 0.8.11", "futures", @@ -7258,7 +7258,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7279,7 +7279,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "async-channel", @@ -7315,7 +7315,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "futures", @@ -7334,7 +7334,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "bytes", @@ -7357,7 +7357,7 @@ dependencies = [ "sc-utils", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-keystore", "sp-offchain", "sp-runtime", @@ -7368,7 +7368,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -7377,7 +7377,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "futures", "jsonrpsee", @@ -7409,7 +7409,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7429,7 +7429,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "futures", "governor", @@ -7447,7 +7447,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "futures", @@ -7478,7 +7478,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "directories", @@ -7520,12 +7520,12 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -7542,7 +7542,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "log", "parity-scale-codec", @@ -7553,7 +7553,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "derive_more", "futures", @@ -7568,13 +7568,13 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "sc-telemetry" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "chrono", "futures", @@ -7593,7 +7593,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "ansi_term", "chrono", @@ -7613,7 +7613,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", "tracing", "tracing-log 0.1.4", @@ -7623,7 +7623,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", @@ -7634,7 +7634,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -7652,7 +7652,7 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -7661,7 +7661,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -7677,7 +7677,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-channel", "futures", @@ -8189,7 +8189,7 @@ dependencies = [ [[package]] name = "sp-api" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "hash-db", "log", @@ -8197,12 +8197,12 @@ dependencies = [ "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", "sp-version", "thiserror", @@ -8211,7 +8211,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "Inflector", "blake2 0.10.6", @@ -8225,20 +8225,20 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "sp-arithmetic" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "integer-sqrt", @@ -8246,7 +8246,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "static_assertions", ] @@ -8271,7 +8271,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "sp-api", "sp-inherents", @@ -8281,7 +8281,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "futures", "log", @@ -8299,7 +8299,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "futures", @@ -8314,7 +8314,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "parity-scale-codec", @@ -8330,7 +8330,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "finality-grandpa", "log", @@ -8347,7 +8347,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "scale-info", @@ -8358,7 +8358,7 @@ dependencies = [ [[package]] name = "sp-core" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "bandersnatch_vrfs", @@ -8389,11 +8389,11 @@ dependencies = [ "secrecy", "serde", "sp-crypto-hashing", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "ss58-registry", "substrate-bip39", "thiserror", @@ -8425,7 +8425,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "blake2b_simd", "byteorder", @@ -8438,7 +8438,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "quote", "sp-crypto-hashing", @@ -8448,7 +8448,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -8457,7 +8457,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "proc-macro2", "quote", @@ -8477,11 +8477,11 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -8497,7 +8497,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "serde_json", "sp-api", @@ -8507,7 +8507,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -8520,7 +8520,7 @@ dependencies = [ [[package]] name = "sp-io" version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "bytes", "ed25519-dalek", @@ -8532,12 +8532,12 @@ dependencies = [ "secp256k1", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-keystore", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-trie", "tracing", "tracing-core", @@ -8546,7 +8546,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "sp-core", "sp-runtime", @@ -8556,18 +8556,18 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "thiserror", "zstd 0.12.4", @@ -8576,7 +8576,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -8586,7 +8586,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "scale-info", @@ -8597,7 +8597,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "sp-api", "sp-core", @@ -8607,7 +8607,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "backtrace", "lazy_static", @@ -8617,7 +8617,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "rustc-hash", "serde", @@ -8627,7 +8627,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "docify", "either", @@ -8644,26 +8644,26 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive", "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", + "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "static_assertions", ] @@ -8689,7 +8689,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "Inflector", "expander", @@ -8715,7 +8715,7 @@ dependencies = [ [[package]] name = "sp-session" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "scale-info", @@ -8729,7 +8729,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -8742,7 +8742,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "hash-db", "log", @@ -8751,7 +8751,7 @@ dependencies = [ "rand", "smallvec", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-panic-handler", "sp-trie", "thiserror", @@ -8762,7 +8762,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "aes-gcm", "curve25519-dalek 4.1.3", @@ -8776,9 +8776,9 @@ dependencies = [ "sp-application-crypto", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", "x25519-dalek 2.0.1", ] @@ -8786,7 +8786,7 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" [[package]] name = "sp-std" @@ -8796,13 +8796,13 @@ source = "git+https://github.com/paritytech/polkadot-sdk#c4b3c1c6c6e492c4196e06f [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -8820,7 +8820,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "parity-scale-codec", @@ -8832,7 +8832,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "tracing", @@ -8854,7 +8854,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "sp-api", "sp-runtime", @@ -8863,7 +8863,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "async-trait", "parity-scale-codec", @@ -8877,7 +8877,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "ahash 0.8.11", "hash-db", @@ -8890,7 +8890,7 @@ dependencies = [ "scale-info", "schnellru", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "thiserror", "tracing", "trie-db", @@ -8900,7 +8900,7 @@ dependencies = [ [[package]] name = "sp-version" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8909,7 +8909,7 @@ dependencies = [ "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-version-proc-macro", "thiserror", ] @@ -8917,7 +8917,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8928,7 +8928,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -8950,7 +8950,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -8958,7 +8958,7 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", ] [[package]] @@ -9097,7 +9097,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -9109,7 +9109,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" [[package]] name = "substrate-fixed" @@ -9125,7 +9125,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9144,7 +9144,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "hyper", "log", @@ -9156,7 +9156,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2#b53d5c529d403a0bbf36441c3896200c234c058c" +source = "git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3#8d2f55dfe06bae13e9f47ccf587acfd3fb9cd923" dependencies = [ "array-bytes 6.2.3", "build-helper", @@ -9172,7 +9172,7 @@ dependencies = [ "sp-core", "sp-io", "sp-maybe-compressed-blob", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc2)", + "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk.git?tag=v1.10.0-rc3)", "sp-version", "strum 0.26.2", "tempfile", From c80df3d667d8e8212b0d21ea63ce5b493210feac Mon Sep 17 00:00:00 2001 From: Sam Johnson Date: Thu, 18 Jul 2024 12:11:23 -0400 Subject: [PATCH 52/52] bump CI