From cbfab806f6ced1d0063fc84ed47a4e1f4da70d19 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 14 Aug 2025 17:10:05 +0800 Subject: [PATCH 01/12] only root set kappa --- pallets/admin-utils/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index a8d0a080b..b3ad751d0 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -512,7 +512,7 @@ pub mod pallet { .saturating_add(::DbWeight::get().reads(1_u64)) .saturating_add(::DbWeight::get().writes(1_u64)))] pub fn sudo_set_kappa(origin: OriginFor, netuid: NetUid, kappa: u16) -> DispatchResult { - pallet_subtensor::Pallet::::ensure_subnet_owner_or_root(origin, netuid)?; + ensure_root(origin)?; ensure!( pallet_subtensor::Pallet::::if_subnet_exist(netuid), From c874231d74dd13d9e7852d7a5efe51d0dd6d4da7 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 14 Aug 2025 17:17:44 +0800 Subject: [PATCH 02/12] disable in precompile --- precompiles/src/subnet.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/precompiles/src/subnet.rs b/precompiles/src/subnet.rs index 8b4d0eff8..c885fceb8 100644 --- a/precompiles/src/subnet.rs +++ b/precompiles/src/subnet.rs @@ -3,7 +3,7 @@ use core::marker::PhantomData; use frame_support::dispatch::{GetDispatchInfo, PostDispatchInfo}; use frame_support::traits::ConstU32; use frame_system::RawOrigin; -use pallet_evm::{AddressMapping, PrecompileHandle}; +use pallet_evm::{AddressMapping, ExitError, PrecompileFailure, PrecompileHandle}; use precompile_utils::{EvmResult, prelude::BoundedString}; use sp_core::H256; use sp_runtime::traits::Dispatchable; @@ -373,16 +373,10 @@ where #[precompile::public("setKappa(uint16,uint16)")] #[precompile::payable] - fn set_kappa(handle: &mut impl PrecompileHandle, netuid: u16, kappa: u16) -> EvmResult<()> { - let call = pallet_admin_utils::Call::::sudo_set_kappa { - netuid: netuid.into(), - kappa, - }; - - handle.try_dispatch_runtime_call::( - call, - RawOrigin::Signed(handle.caller_account_id::()), - ) + fn set_kappa(_handle: &mut impl PrecompileHandle, _netuid: u16, _kappa: u16) -> EvmResult<()> { + return Err(PrecompileFailure::Error { + exit_status: ExitError::Other("Bad origin".into()), + }); } #[precompile::public("getRho(uint16)")] From 749e8c9b2e28e455bceaad3f3b6456e999b3a55d Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 14 Aug 2025 17:18:54 +0800 Subject: [PATCH 03/12] cargo clippy --- precompiles/src/subnet.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/precompiles/src/subnet.rs b/precompiles/src/subnet.rs index c885fceb8..47bf38c97 100644 --- a/precompiles/src/subnet.rs +++ b/precompiles/src/subnet.rs @@ -374,9 +374,9 @@ where #[precompile::public("setKappa(uint16,uint16)")] #[precompile::payable] fn set_kappa(_handle: &mut impl PrecompileHandle, _netuid: u16, _kappa: u16) -> EvmResult<()> { - return Err(PrecompileFailure::Error { + Err(PrecompileFailure::Error { exit_status: ExitError::Other("Bad origin".into()), - }); + }) } #[precompile::public("getRho(uint16)")] From b9f3684bcccb5e2066806f947f28e69f3931b141 Mon Sep 17 00:00:00 2001 From: open-junius Date: Thu, 14 Aug 2025 17:27:20 +0800 Subject: [PATCH 04/12] remove the test case --- .../subnet.precompile.hyperparameter.test.ts | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/evm-tests/test/subnet.precompile.hyperparameter.test.ts b/evm-tests/test/subnet.precompile.hyperparameter.test.ts index b8a6f1907..1ccb74eb8 100644 --- a/evm-tests/test/subnet.precompile.hyperparameter.test.ts +++ b/evm-tests/test/subnet.precompile.hyperparameter.test.ts @@ -269,27 +269,6 @@ describe("Test the Subnet precompile contract", () => { assert.equal(valueFromContract, onchainValue); }) - it("Can set kappa parameter", async () => { - - const totalNetwork = await api.query.SubtensorModule.TotalNetworks.getValue() - const contract = new ethers.Contract(ISUBNET_ADDRESS, ISubnetABI, wallet); - const netuid = totalNetwork - 1; - - const newValue = 109; - const tx = await contract.setKappa(netuid, newValue); - await tx.wait(); - - let onchainValue = await api.query.SubtensorModule.Kappa.getValue(netuid) - - - let valueFromContract = Number( - await contract.getKappa(netuid) - ); - - assert.equal(valueFromContract, newValue) - assert.equal(valueFromContract, onchainValue); - }) - it("Can set rho parameter", async () => { const totalNetwork = await api.query.SubtensorModule.TotalNetworks.getValue() From 506092d3e334a3e81f1272347b7240446dd9323b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 14 Aug 2025 11:12:48 +0000 Subject: [PATCH 05/12] auto-update benchmark weights --- pallets/subtensor/src/macros/dispatches.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 76ae53905..86fc6c698 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -693,7 +693,7 @@ mod dispatches { /// - Attempting to set prometheus information withing the rate limit min. /// #[pallet::call_index(4)] - #[pallet::weight((Weight::from_parts(36_090_000, 0) + #[pallet::weight((Weight::from_parts(25_840_000, 0) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] pub fn serve_axon( @@ -1609,8 +1609,8 @@ mod dispatches { /// - Thrown if key has hit transaction rate limit #[pallet::call_index(84)] #[pallet::weight((Weight::from_parts(294_800_000, 0) - .saturating_add(T::DbWeight::get().reads(33)) - .saturating_add(T::DbWeight::get().writes(16)), DispatchClass::Operational, Pays::Yes))] + .saturating_add(T::DbWeight::get().reads(38_u64)) + .saturating_add(T::DbWeight::get().writes(21_u64)), DispatchClass::Operational, Pays::Yes))] pub fn unstake_all_alpha(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_unstake_all_alpha(origin, hotkey) } @@ -1723,8 +1723,8 @@ mod dispatches { #[pallet::call_index(87)] #[pallet::weight(( Weight::from_parts(274_400_000, 0) - .saturating_add(T::DbWeight::get().reads(32)) - .saturating_add(T::DbWeight::get().writes(17)), + .saturating_add(T::DbWeight::get().reads(37_u64)) + .saturating_add(T::DbWeight::get().writes(22_u64)), DispatchClass::Operational, Pays::Yes ))] @@ -1896,8 +1896,8 @@ mod dispatches { #[pallet::call_index(90)] #[pallet::weight(( Weight::from_parts(330_400_000, 0) - .saturating_add(T::DbWeight::get().reads(32)) - .saturating_add(T::DbWeight::get().writes(17)), + .saturating_add(T::DbWeight::get().reads(37_u64)) + .saturating_add(T::DbWeight::get().writes(22_u64)), DispatchClass::Operational, Pays::Yes ))] From 1b43926a7dd99c37a953dc4b707c1a12877d1024 Mon Sep 17 00:00:00 2001 From: open-junius Date: Tue, 19 Aug 2025 15:53:15 +0800 Subject: [PATCH 06/12] add test cases --- pallets/admin-utils/src/lib.rs | 30 ++++++++++++- pallets/admin-utils/src/tests/mod.rs | 62 ++++++++++++++++++++++++++ pallets/subtensor/src/lib.rs | 5 +++ pallets/subtensor/src/macros/config.rs | 6 +-- pallets/subtensor/src/utils/misc.rs | 18 ++++++++ 5 files changed, 117 insertions(+), 4 deletions(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index b3900276a..cdf9f1a2d 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -512,7 +512,11 @@ pub mod pallet { .saturating_add(::DbWeight::get().reads(1_u64)) .saturating_add(::DbWeight::get().writes(1_u64)))] pub fn sudo_set_kappa(origin: OriginFor, netuid: NetUid, kappa: u16) -> DispatchResult { - ensure_root(origin)?; + if pallet_subtensor::Pallet::::get_kappa_can_set_by_owner(netuid) { + pallet_subtensor::Pallet::::ensure_subnet_owner_or_root(origin, netuid)?; + } else { + ensure_root(origin)?; + } ensure!( pallet_subtensor::Pallet::::if_subnet_exist(netuid), @@ -1673,6 +1677,30 @@ pub mod pallet { pallet_subtensor::Pallet::::set_commit_reveal_weights_version(version); Ok(()) } + + /// The extrinsic sets the kappa for a subnet. + /// It is only callable by the root account or subnet owner. + /// The extrinsic will call the Subtensor pallet to set the kappa. + #[pallet::call_index(72)] + #[pallet::weight(Weight::from_parts(16_740_000, 0) + .saturating_add(::DbWeight::get().reads(1_u64)) + .saturating_add(::DbWeight::get().writes(1_u64)))] + pub fn sudo_set_kappa_can_set_by_owner( + origin: OriginFor, + netuid: NetUid, + kappa_can_set_by_owner: bool, + ) -> DispatchResult { + ensure_root(origin)?; + + pallet_subtensor::Pallet::::set_kappa_can_set_by_owner( + netuid, + kappa_can_set_by_owner, + ); + log::debug!( + "KappaCanSetByOwnerSet( netuid: {netuid:?} kappaCanSet: {kappa_can_set_by_owner:?} ) " + ); + Ok(()) + } } } diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index 754befc80..e5552349b 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -585,6 +585,7 @@ fn test_sudo_set_kappa() { let to_be_set: u16 = 10; add_network(netuid, 10); let init_value: u16 = SubtensorModule::get_kappa(netuid); + let can_set_by_owner: bool = SubtensorModule::get_kappa_can_set_by_owner(netuid); assert_eq!( AdminUtils::sudo_set_kappa( <::RuntimeOrigin>::signed(U256::from(1)), @@ -601,6 +602,8 @@ fn test_sudo_set_kappa() { ), Err(Error::::SubnetDoesNotExist.into()) ); + + assert_eq!(can_set_by_owner, true); assert_eq!(SubtensorModule::get_kappa(netuid), init_value); assert_ok!(AdminUtils::sudo_set_kappa( <::RuntimeOrigin>::root(), @@ -611,6 +614,65 @@ fn test_sudo_set_kappa() { }); } +#[test] +fn test_subnet_owner_set_kappa() { + new_test_ext().execute_with(|| { + let netuid = NetUid::from(1); + let to_be_set: u16 = 10; + add_network(netuid, 10); + + let owner = pallet_subtensor::pallet::SubnetOwner::::get(netuid); + let init_value: u16 = SubtensorModule::get_kappa(netuid); + let can_set_by_owner: bool = SubtensorModule::get_kappa_can_set_by_owner(netuid); + assert_eq!( + AdminUtils::sudo_set_kappa( + <::RuntimeOrigin>::signed(U256::from(1)), + netuid, + to_be_set + ), + Err(DispatchError::BadOrigin) + ); + assert_eq!( + AdminUtils::sudo_set_kappa( + <::RuntimeOrigin>::root(), + netuid.next(), + to_be_set + ), + Err(Error::::SubnetDoesNotExist.into()) + ); + + assert_eq!(can_set_by_owner, true); + assert_eq!(SubtensorModule::get_kappa(netuid), init_value); + assert_ok!(AdminUtils::sudo_set_kappa( + <::RuntimeOrigin>::signed(owner), + netuid, + to_be_set + )); + assert_eq!(SubtensorModule::get_kappa(netuid), to_be_set); + + assert_ok!(AdminUtils::sudo_set_kappa_can_set_by_owner( + <::RuntimeOrigin>::root(), + netuid, + false + )); + assert_eq!(SubtensorModule::get_kappa_can_set_by_owner(netuid), false); + + assert_eq!( + AdminUtils::sudo_set_kappa( + <::RuntimeOrigin>::signed(owner), + netuid, + to_be_set + ), + Err(DispatchError::BadOrigin) + ); + assert_ok!(AdminUtils::sudo_set_kappa( + <::RuntimeOrigin>::root(), + netuid, + to_be_set + )); + }); +} + #[test] fn test_sudo_set_rho() { new_test_ext().execute_with(|| { diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index ea4beb3f2..b4c49587e 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -1464,6 +1464,11 @@ pub mod pallet { pub type SubtokenEnabled = StorageMap<_, Identity, NetUid, bool, ValueQuery, DefaultFalse>; + #[pallet::storage] + /// --- MAP ( netuid ) --> If Kappa can be set by owner + pub type KappaCanSetByOwner = + StorageMap<_, Identity, NetUid, bool, ValueQuery, DefaultTrue>; + /// ======================================= /// ==== Subnetwork Consensus Storage ==== /// ======================================= diff --git a/pallets/subtensor/src/macros/config.rs b/pallets/subtensor/src/macros/config.rs index 3479ad810..d6b8ffa71 100644 --- a/pallets/subtensor/src/macros/config.rs +++ b/pallets/subtensor/src/macros/config.rs @@ -15,7 +15,7 @@ mod config { { /// call type type RuntimeCall: Parameter - + Dispatchable + + Dispatchable::RuntimeOrigin> + From> + IsType<::RuntimeCall> + From>; @@ -25,11 +25,11 @@ mod config { /// A sudo-able call. type SudoRuntimeCall: Parameter - + UnfilteredDispatchable + + UnfilteredDispatchable::RuntimeOrigin> + GetDispatchInfo; /// Origin checking for council majority - type CouncilOrigin: EnsureOrigin; + type CouncilOrigin: EnsureOrigin<::RuntimeOrigin>; /// Currency type that will be used to place deposits on neurons type Currency: fungible::Balanced diff --git a/pallets/subtensor/src/utils/misc.rs b/pallets/subtensor/src/utils/misc.rs index c7b93535f..59ffb872b 100644 --- a/pallets/subtensor/src/utils/misc.rs +++ b/pallets/subtensor/src/utils/misc.rs @@ -248,6 +248,10 @@ impl Pallet { BlockAtRegistration::::get(netuid, neuron_uid) } + pub fn get_kappa_can_set_by_owner(netuid: NetUid) -> bool { + KappaCanSetByOwner::::get(netuid) + } + // ======================== // ===== Take checks ====== // ======================== @@ -804,4 +808,18 @@ impl Pallet { Err(_) => None, } } + + /// Set if Kappa can be set by owner + /// + /// # Arguments + /// + /// * `netuid` - The unique identifier for the subnet. + /// * `can_set` - Whether Kappa can be set by owner. + /// + /// # Effects + /// + /// * Update the KappaCanSetByOwner storage. + pub fn set_kappa_can_set_by_owner(netuid: NetUid, can_set: bool) { + KappaCanSetByOwner::::insert(netuid, can_set); + } } From f29ce2d4e6e23020b0c22b5d4ad3dd872f0d1100 Mon Sep 17 00:00:00 2001 From: open-junius Date: Tue, 19 Aug 2025 15:54:26 +0800 Subject: [PATCH 07/12] cargo clippy --- pallets/admin-utils/src/tests/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index e5552349b..d23312191 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -603,7 +603,7 @@ fn test_sudo_set_kappa() { Err(Error::::SubnetDoesNotExist.into()) ); - assert_eq!(can_set_by_owner, true); + assert!(can_set_by_owner); assert_eq!(SubtensorModule::get_kappa(netuid), init_value); assert_ok!(AdminUtils::sudo_set_kappa( <::RuntimeOrigin>::root(), @@ -641,7 +641,7 @@ fn test_subnet_owner_set_kappa() { Err(Error::::SubnetDoesNotExist.into()) ); - assert_eq!(can_set_by_owner, true); + assert!(can_set_by_owner); assert_eq!(SubtensorModule::get_kappa(netuid), init_value); assert_ok!(AdminUtils::sudo_set_kappa( <::RuntimeOrigin>::signed(owner), @@ -655,7 +655,7 @@ fn test_subnet_owner_set_kappa() { netuid, false )); - assert_eq!(SubtensorModule::get_kappa_can_set_by_owner(netuid), false); + assert!(!SubtensorModule::get_kappa_can_set_by_owner(netuid)); assert_eq!( AdminUtils::sudo_set_kappa( From f058618d0104338acda6b67c75e916d50fa7d44a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 19 Aug 2025 09:53:34 +0000 Subject: [PATCH 08/12] auto-update benchmark weights --- pallets/admin-utils/src/lib.rs | 4 ++-- pallets/subtensor/src/macros/dispatches.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index cdf9f1a2d..582912a5a 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -509,7 +509,7 @@ pub mod pallet { /// The extrinsic will call the Subtensor pallet to set the kappa. #[pallet::call_index(16)] #[pallet::weight(Weight::from_parts(16_740_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) + .saturating_add(::DbWeight::get().reads(2_u64)) .saturating_add(::DbWeight::get().writes(1_u64)))] pub fn sudo_set_kappa(origin: OriginFor, netuid: NetUid, kappa: u16) -> DispatchResult { if pallet_subtensor::Pallet::::get_kappa_can_set_by_owner(netuid) { @@ -1300,7 +1300,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(57)] - #[pallet::weight(Weight::from_parts(19_320_000, 0) + #[pallet::weight(Weight::from_parts(15_130_000, 0) .saturating_add(::DbWeight::get().reads(1_u64)) .saturating_add(::DbWeight::get().writes(1_u64)))] pub fn sudo_set_commit_reveal_weights_interval( diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 49e60e378..5df7c8a05 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -279,7 +279,7 @@ mod dispatches { /// - Attempting to commit when the user has more than the allowed limit of unrevealed commits. /// #[pallet::call_index(99)] - #[pallet::weight((Weight::from_parts(62_300_000, 0) + #[pallet::weight((Weight::from_parts(82_090_000, 0) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] pub fn commit_crv3_weights( @@ -693,7 +693,7 @@ mod dispatches { /// - Attempting to set prometheus information withing the rate limit min. /// #[pallet::call_index(4)] - #[pallet::weight((Weight::from_parts(25_840_000, 0) + #[pallet::weight((Weight::from_parts(33_530_000, 0) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] pub fn serve_axon( From e8f945390183afae844aaa13f9ef7417c5e8cf7f Mon Sep 17 00:00:00 2001 From: open-junius Date: Tue, 19 Aug 2025 20:46:03 +0800 Subject: [PATCH 09/12] add test case back --- .../subnet.precompile.hyperparameter.test.ts | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/evm-tests/test/subnet.precompile.hyperparameter.test.ts b/evm-tests/test/subnet.precompile.hyperparameter.test.ts index 1ccb74eb8..b8a6f1907 100644 --- a/evm-tests/test/subnet.precompile.hyperparameter.test.ts +++ b/evm-tests/test/subnet.precompile.hyperparameter.test.ts @@ -269,6 +269,27 @@ describe("Test the Subnet precompile contract", () => { assert.equal(valueFromContract, onchainValue); }) + it("Can set kappa parameter", async () => { + + const totalNetwork = await api.query.SubtensorModule.TotalNetworks.getValue() + const contract = new ethers.Contract(ISUBNET_ADDRESS, ISubnetABI, wallet); + const netuid = totalNetwork - 1; + + const newValue = 109; + const tx = await contract.setKappa(netuid, newValue); + await tx.wait(); + + let onchainValue = await api.query.SubtensorModule.Kappa.getValue(netuid) + + + let valueFromContract = Number( + await contract.getKappa(netuid) + ); + + assert.equal(valueFromContract, newValue) + assert.equal(valueFromContract, onchainValue); + }) + it("Can set rho parameter", async () => { const totalNetwork = await api.query.SubtensorModule.TotalNetworks.getValue() From b67aa2b450f2f43df5d6ec3f7bca115c0b75fda0 Mon Sep 17 00:00:00 2001 From: open-junius Date: Tue, 19 Aug 2025 21:42:53 +0800 Subject: [PATCH 10/12] bump runtime version --- runtime/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 56a263a81..1d8e658f1 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -215,7 +215,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: 302, + spec_version: 303, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, From dfcfbf159e143025cf4b9ac4ee634abbbff63f37 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 19 Aug 2025 15:33:38 +0000 Subject: [PATCH 11/12] auto-update benchmark weights --- pallets/drand/src/lib.rs | 2 +- pallets/subtensor/src/macros/dispatches.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pallets/drand/src/lib.rs b/pallets/drand/src/lib.rs index 0acf8ec49..cece308a8 100644 --- a/pallets/drand/src/lib.rs +++ b/pallets/drand/src/lib.rs @@ -331,7 +331,7 @@ pub mod pallet { impl Pallet { /// Verify and write a pulse from the beacon into the runtime #[pallet::call_index(0)] - #[pallet::weight(Weight::from_parts(4_294_000_000, 0) + #[pallet::weight(Weight::from_parts(5_228_000_000, 0) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)))] pub fn write_pulse( diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 5df7c8a05..4659438b3 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -279,7 +279,7 @@ mod dispatches { /// - Attempting to commit when the user has more than the allowed limit of unrevealed commits. /// #[pallet::call_index(99)] - #[pallet::weight((Weight::from_parts(82_090_000, 0) + #[pallet::weight((Weight::from_parts(62_630_000, 0) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] pub fn commit_crv3_weights( From 9c584d058cecb9b426ff8677519d94ebda8125c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Sep 2025 14:51:25 +0000 Subject: [PATCH 12/12] auto-update benchmark weights --- pallets/subtensor/src/macros/dispatches.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index c84270920..5d9a6e1a0 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -2031,7 +2031,7 @@ mod dispatches { /// * commit_reveal_version (`u16`): /// - The client (bittensor-drand) version #[pallet::call_index(113)] - #[pallet::weight((Weight::from_parts(64_530_000, 0) + #[pallet::weight((Weight::from_parts(79_930_000, 0) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] pub fn commit_timelocked_weights(